The present application relates to systems and methods for online job offer negotiation process and online job matching processes.
Human resources are a significant asset contributing to the success and growth of a business organization. The labor market and the job market are both dynamic and competitive markets that can be difficult to fully tap into. Despite the availability of computer and software tools and easy access of information on the Internet to aid recruiting, employers nevertheless, find it still challenging and quite time consuming to fill certain job openings with the best matched talents.
The inefficiencies in filling certain job openings with the best matched talents may be partly due to limited access to the talent pool, and partly due to the traditional evaluation methods are rigid and limited in the ability to handle complex multi-dimension analysis of applicant's qualifications and strength, both quantitatively and qualitatively. Likewise, prospective talents who may or may not be seeking for a job change may in fact be an ideal candidate for certain job openings, yet miss out some of these opportunities for a lack of outreach or a lack of persuasive analytics to motivate them to take actions.
Once a prospective talent for certain job openings has been identified, an early decision from the talent to join the company may depend on an expedient offer. In addition, especially in a tight labor market for certain industry sectors, it may be possible for the prospective talent to accept a more competitive offer from another employer, without the first prospective employer having an opportunity to match or counter with a more competitive offer while waiting for an offer acceptance decision from the prospective talent.
The description provided in the background section should not be construed to be prior art merely to the subject disclosure simply because it is mentioned in or associated with the background section. The background section may include information that describes one or more aspects of the subject technology.
In an embodiment, a method of job placement is disclosed in the following description. The method may include executing by at least one processor on a computer, a job matching algorithm stored on a non-transitory computer-readable memory medium that performs online job opening matching between a job-seeker profile and one or more job opening profiles. The method may include the job matching algorithm retrieving, from an applicant database, a plurality of attributes in qualifications and a plurality of attributes in characteristics of a job-seeker profile. In an example, the plurality of attributes in the qualifications and the plurality of attributes in the characteristics of the job-seeker profile may be abstracted from job-seeker's answers to a list of questions by the job matching algorithm.
More specifically, the job matching algorithm may perform matching, to determine a weighted match score, corresponding plurality of attributes in the qualifications between the job-seeker profile and one or more job opening profiles from an employer database. The method may further perform matching, to determine a weighted fit score, corresponding second plurality of attributes in the characteristics between the job-seeker profile and the one or more job opening profiles. The weighted match score and the weighted fit score may be combined to determine an overall score. When the overall score exceeds a first threshold score, a successful job opening match may be found in order to advance to a next recruitment or hiring decision, such as followed by a successful interview before presenting an offer; otherwise, the job matching algorithm may perform: (a) adjusting one or both of: the weighted match score and the weighted fit score to re-determine an adjusted overall score; and (b) performing, according to the adjusted overall score, one or both of: a re-matching to the one or more job opening profiles according to the first threshold score, and a new matching to a new job opening profile from the employer database, according to a second threshold score, wherein the new job opening profile has not been previously matched. When a successful job opening re-matching or new job opening matching is found, the job matching algorithm may advance to the next recruitment or hiring decision, otherwise, it may continue repeating the steps in (a) and (b) either until a successful job opening re-matching or new job opening matching or terminating after a defined number of repeated overall score adjusting, job opening re-matching or new job opening matching. Accordingly, when after multiple iterations the job matching algorithm still does not advance the job-seeker to a next recruitment or hiring decision on behalf of the employer, the job matching algorithm may make recommendations as what actions the job-seeker may take to qualify for a different job that had not been previously matched to, after receiving certain training, certification or pursuit of a degree. In effect, the job matching algorithm tool may engage both the employers and the job-seekers as a coach by providing a tool that performs broad and elastic analysis to match the best available resources to the best opportunities with good fit.
In another embodiment, the job matching algorithm may be stored as codes in a non-transitory computer-readable medium (such as stored in a cloud memory, in a solid state hard drive, in an optical disk or in a flash drive, etc.), which when executed by at least a processor in a computer, the job matching algorithm may cause the computer to perform online job opening matching between a job-seeker profile and one or more job opening profiles, by performing the steps as previously described.
In another embodiment, a job offer negotiation algorithm in a tight and competitive labor market is utilized to shorten delays in extending a job offer, remove job offer acceptance decision uncertainties of a job candidate (job-seeker), and to negotiates a fair and competitive compensation or employment benefits on behalf of the job-seeker.
More specifically, a computer implemented method of intelligent job offer negotiation is disclosed in the following description. The method may include executing by at least one processor on a computer (e.g., a server or shared resources on the cloud network), a job offer negotiation algorithm implemented by an artificial intelligence (AI) system stored on a non-transitory computer-readable memory medium, that performs online job offer negotiation between a job-seeker and a plurality of prospective employers prior to job offer acceptance, wherein the AI system performing steps that includes: upon a job-seeker's profile of the job-seeker having been successfully matched or rematched to respective job opening profiles of corresponding plurality of prospective employers, negotiating to reach a preferred job offer bid between the job-seeker and the plurality of prospective employers. More specifically, the negotiating of the preferred job offer bid may include the AI system invoking a feedback loop implementing the following steps: (a) submitting by each respective prospective employer among the plurality of prospective employers, a respective job offer bid Bx to compete hiring of the job-seeker, wherein the respective job offer bid Bx includes a plurality of offer terms attributes Ai . . . An; (b) determining a corresponding respective composite score S from the plurality of offer terms attributes Ai . . . An comprised in each respective job offer bid Bx submitted by each respective prospective employer among the plurality of prospective employers; (c) comparing all the corresponding respective composite scores S1 . . . Sx of each respective plurality of job offer bids B1 . . . Bx submitted among the plurality of prospective employers to display a winning job offer bid Bh with a highest composite score Sh; (d) in response to the displayed winning job offer bid Bh, iteratively adjusting a corresponding value to one or more offer terms attributes to at least one non-winning job offer bid from remaining bidding prospective employers to continue competing hiring of the job-seeker; (e) repeating steps (b) to (d) by the feedback loop to receive a final winning job offer bid Bf, or until no further winning job offer bids are submitted; and (f) receiving an acknowledgment signal from the job-seeker, confirming acceptance of a final winning job offer bid Bf from a winning bidding prospective employer.
In another embodiment, the job offer negotiating algorithm may be stored as
codes in a non-transitory computer-readable medium (such as stored in a cloud memory, in a solid state hard drive, in an optical disk or in a flash drive, etc.), which when executed by at least a processor in a computer (e.g., a server or shared resources on the cloud network), the job offer negotiating algorithm causes the computer to perform online job offer negotiating between a job-seeker's profile of the job-seeker having been successfully matched or rematched to respective job opening profiles of corresponding plurality of prospective employers, by performing the steps (a) to (f) as previously described.
It is understood that other configurations of the subject technology will become readily apparent to those skilled in the art from the following detailed description, wherein various configurations of the subject technology are shown and described by way of illustration. As will be realized, the subject technology is capable of other and different configurations and its several details are capable of modification in various other respects, all without departing from the scope of the subject technology. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
The accompanying drawings, which are included to provide further understanding and are incorporated in and constitute a part of this specification, illustrate disclosed embodiments and together with the description serve to explain the principles of the disclosed embodiments. In the drawings:
In one or more implementations, not all of the depicted components in each figure may be required, and one or more implementations may include additional components not shown in a figure. Variations in the arrangement and type of the components may be made without departing from the scope of the subject disclosure. Additional components, different components, or fewer components may be utilized within the scope of the subject disclosure.
The disclosure may be better understood with reference to the drawings and description. The elements in the figures are not necessarily drawn to scale, emphasis instead being placed upon illustrating the principles of the disclosure. Moreover, in the figures, like-referenced numerals may designate to corresponding parts in the different figures. The term “job-seeker”, “job applicant” and “talent”, “candidate” may be used interchangeably. The term “system AI” and “AI system” may be used interchangeably without limiting. The term “block” or “module” refers to a collection of program codes specific to execute one or more functions in an algorithm.
In an embodiment, the job matching algorithm in the disclosure may provide solutions or improvements in matching a job opening profile to a job-seeker with accuracy and efficiency by breaking down a job opening profile into a data model of standard codes. Job criteria are abstracted as attributes into at least categories of qualifications and characteristics, having an associated assigned weight. Job-seeker profile's corresponding attributes in qualifications and characteristics are multi-dimensionally mapped to those in the job opening profile to calculate an overall score against a threshold score for successful matching. The job-seeker's profile and the job opening's profile may also be re-matched using an elastic analysis to model job seeker's strengths and growth potential for a same or a different job, through adjusting individual weights of each attribute of the qualifications and characteristics of one or both of the job-seeker's profile and the job opening profile to optimize risks or successes, and adaptability for the job-seeker in taking the job opening. In another embodiment, a computer implemented method for intelligent job offer negotiation between a job-seeker and a plurality of prospective employers prior to job offer acceptance is disclosed in the following description.
In step 102, the job matching algorithm 150a may retrieve from an applicant database 122, job-seeker's qualifications and characteristics from job-seeker's profile, and retrieve employer's job qualifications and characteristics from one or more job opening profiles. In implementation, a plurality of attributes in the qualifications and a plurality of attributes in the characteristics may be abstracted from job-seeker's answers to a list of questions using the job-seeker's communication device 123 (e.g., smart phone, laptop computer, desk top computer, tablet, etc. The plurality of attributes in the qualifications and the plurality of attributes in the characteristics may be stored in the applicant database 122 under the job-seeker's profile. Likewise, the job matching algorithm 150a may abstract a plurality of attributes in the qualifications and a plurality of attributes in the characteristics from employer's answering to a list of questions pertaining to the one or more job opening profiles stored in the employer database 124.
In step 106, the job matching algorithm 150a may perform matching of corresponding attributes in the qualifications and the characteristics between the job-seeker profile and the one or more job opening profiles to determine a weighted match score and a weighted fit score, and combining the weighted match score and the weighted fit score to obtain an overall score.
In step 108, the overall score is compared to a first threshold score for the one or more job opening profile. When the overall score exceeds the first threshold score, a successful match to at least one job opening profile may be found and the job-seeker's profile may be forwarded to the one or more employer in order to advance to a next recruitment or hiring decision in step 110. Otherwise (i.e., the overall score is below the first threshold score), the job matching algorithm 150a may adjust one or a combination of: the overall score, the weighted match score and the weighted fit score (details to be discussed in
If the re-matching or the new matching is not successful, the job matching algorithm 150a may loop back to further adjust one or both of: the weighted match score and the weighted fit score to re-determine an adjusted overall score; perform one or both of: a re-matching to the same one or more job opening profiles according to the first threshold score, or alternately perform a new matching to a new job opening profile from the employer database, according to a second threshold score, until a successful re-matching to the job opening profile or successful in matching to the new job opening matching, otherwise terminating the matching after a defined number of repeated overall score adjusting, job opening re-matching or a new job opening matching.
In implementation, the plurality of attributes in the qualifications and the plurality of attributes in the characteristics of the job-seeker profile may be abstracted from job-seeker's answers to a list of questions by the Job Seeker Qualifications block 152 and the Job Seeker Characteristics block 156 respectively, in the job matching algorithm 150a. The plurality of attributes in the qualifications in the job-seeker profile may include job-seeker's information pertaining to at least: education history, employment history, relevant job experiences, relevant job skills, awards or certifications, foreign language skills, and wherein the characteristics in the job-seeker profile may include job-seeker's information pertaining to at least: job related activities, interests, personal styles, values and context.
Likewise, the plurality of attributes in the qualifications and the plurality of attributes in the characteristics of the job opening profile may be abstracted from one or more employers' answers to a list of questions (e.g., experiences, knowledge, education, abilities, and skills they may require for a job seeker to fill the job opening, work activities, interests, styles, values, and context etc.) to the one or more job openings by the Employer's Job Qualifications block 154 and by the Employer's Job Characteristics block 158 respectively.
The Match Score (weighted) block 160 may compare corresponding attributes of the job-seeker and one or more employer's job qualifications and calculate a match score based on selected weights (also known as weighted match score). The Fit Score (weighted) block 162 may compare corresponding attributes of the job-seeker and employer's job characteristics and calculates a fit score based on selected weights (also known as weighted fit score). The Overall Score (weighted) block 164 may calculate an overall score based on combining the weighted match score and the weighted fit score. The Score Evaluation block 166 may evaluate a the overall score by comparing the overall score to the a required threshold score. The evaluation results may further adjust the weights of the weighted match score, weighted fit score, and the overall score for an elastic analysis to assess or optimize risks or successes, and to observe the matched job-seeker's adaptability in taking the job opening.
In implementation, the elastic analysis may be performed automatically by the job matching algorithm 150a or by training an artificial intelligence (AI) component 151 (shown in
In implementation, the job matching algorithm 150a may adopt an initial set of default functional weights. For example, a first equal default functional weight value may be initially assigned to each attribute in the qualifications and a second equal default functional weight value may be initially assigned to each attribute in the characteristics of the job-seeker profile. Likewise, a third default equal functional weight value may be initially assigned to each attribute in the qualifications and a fourth default equal functional weight value may be initially assigned to each attribute in the characteristics of the one or more job opening profiles or the new job opening profile. In other words, the default functional weight values of the attributes in the qualification and the characteristics may be equally weighted to start with.
The Match Score block 160 may be configured to evaluate qualifications match by performing a default calculation on the first weighted match score by summing respectively, the third default functional weight values of all matched attributes in the qualifications between the job-seeker profile and the one or more job opening profiles (or the new job opening profile). Likewise, the Fit Score block 162 may be configured to evaluate characteristics match by performing a default calculation on the second weighted fit score by summing respectively, the fourth default functional weight values of all matched attributes in the characteristics between the job-seeker profile and the one or more job opening profiles or the new job opening profile. In other words, the default calculations will consider only the weight assignments of the job opening profile, without any weight contribution or influence from the job-seeker profile.
Alternately, it may be informative to include or to accommodate certain amount of contributions from the qualifications and characteristics in the job-seeker profile when calculating the overall score, for a more complete picture in selecting the best matched and best fit talent among a list of matched job-seekers in the analysis. In this regard, the Match Score block 160 may be configured to evaluate qualifications match by summing respectively, an average or a weighted average of a portion of the first and the third default functional weight values of all matched attributes in the qualifications between the job-seeker profile and the one or more job opening profiles or the new job opening profile. Likewise, the Fit Score block 162 may be configured to evaluate combined characteristics match by summing respectively, an average or a weighted average of a portion of the second and the fourth default functional weight values of all matched attributes in the characteristics between the job-seeker profile and the one or more job opening profiles or the new job opening profile. In the weighted average summing, attributes which are more important may be assigned a higher weight value while other attributes may be assigned a less weight or a zero weight. In other words, the default summing calculation (i.e., summing only the contributions of the default weight values in the job opening profile only) may be perceived as a subset of weighted average summing, which the contributions of the default weight values in the job-seeker profile are assigned a weight value of zero. Alternately, the weighted average summing method may select only a portion of the attributes in the job-seeker profile to be assigned with a weight for average summing, while the other unselected attributes may be assigned with a zero weight for average summing. Other weight summing methods not mentioned may be implemented without limiting, so that the outcome of the weighted match score and the weighted fit score (and consequently the overall score) may be elastically adjusted to accommodate different amount of contributions from each of the job-seeker profile and from the job opening profile, respectively.
Alternately, it may be advantageous for an employer to consider relaxing certain job criteria to attract a wider pool of talents who may have higher strengths in certain most needed attributes in the qualifications or characteristics, yet may seem weaker in other attributes that may have growth potential over time or may be strengthened through training after hiring. In this case, the job matching algorithm 150 may be configured to perform an elastic analysis by selecting a portion (or entire portion) of the attributes in both the qualifications and the characteristics to have the corresponding assigned weights be adjusted (to increase or decrease) to provide outcome re-evaluations in order to optimize risks, successes, and adaptability for the best matched job-seeker when taking the job opening.
In an example, the selected weight adjustment may be made automatically by training an AI system 151 within the job matching algorithm 150a, to enable placing heavier emphasis on certain “must have” attributes, while placing a lighter emphasis (or none) on “nice to have” attributes when matching. The AI system 151 may be trained to model an elastic analysis based on a designated range to test a sensitivity of the qualifications match or fitness match. For example, certain job requires minimal human interactions but heavy on analytical skills (e.g., research, engineering), so the attributes on social skills may have a lighter weight, but the technical attributes may be adjusted heavier in weight.
In another example, the selected weight adjustments may alternately be manually inputted by the employer or by the job-seeker when answering the questions, or defining a certain range as a goal for analysis, as a learning tool and to simulate career development choices. For example, the employer may be allowed to update its value or range requirements based on changes in job criteria. On the job-seeker side, once a weight value or range is entered in the profile answers, the job matching algorithm 150a may prevent updates on the profile at least for a minimum duration of time (e.g., 2 months) to ensure candor and truthfulness in the answers or the information provided, except that the updates are triggered by significant events such as graduation, job change, receiving government or professional licenses or certifications, etc. In practice, the job-seeker may elect to answer additional profile questions to enable the job matching algorithm 150 to automatically adjust a functional weight assignment to one or more attributes in a respective category of the qualifications or characteristics in the job-seeker profile for current job opening re-matching or for a new job opening matching, or simply to observe job skills improvement to target certain career path directions. Alternately, the job-seeker may elect to manually adjust the functional weight assignment to observe changes for job-seeker's understanding of career growth prospects or for job-seeker's education/training planning
In implementation, the employer may specify a range of weight adjustment in each attribute when posting the job opening profile (use default weight when no range is provided). The employer may benefit from using the elastic analysis information to adjust a selected portion of the attributes according to their importance in order to glean a larger pool of talents, to weigh the strengths versus the weaknesses of each candidate prior to proceeding to a next level decision for an interview or for hiring. The job-seeker may benefit from using the elastic analysis information to guide career development paths and set goals for skills growth and leadership roles in future. The job-seeker may receive alerts of current field or other field job opportunities based on the elastic analysis information. Furthermore, the job-seeker may benefit from the elastic analysis information through sending links to education or training providers 126 to further acquire the needed skills or training through continue education in case of a career change consideration or for a better match to the existing job opening profile.
When applying elastic analysis using selected weight adjustment matching or re-matching, an initial match and evaluation outcome 168 from the overall score may be calculated from the default weight values assigned to the attributes, the outcome 168 may be fed back (see paths 168a to 168d) to adjust a selected weight value of the attributes in any one or all of the: Match Score block 160, Fit Score block 162 and Overall Score block 164 to re-evaluate an adjusted outcome. The selected weight adjustments may adjust the weighted attributes to a higher or a lower weight value without changing a maximum total weight value.
For example, assuming there may be 20 attributes in the qualifications (which has an assigned weight of 7) and 10 attributes in the characteristics (which has an assigned weight of 3), then the initial default weight assignment to each attribute in the qualification may be 1/20 of 7 for matching purpose while the initial default weight assignment to each attribute in the characteristics may be 1/10 of 3 for matching purpose, to an overall maximum score of 10 (i.e., perfect match). Therefore, any adjustment in any of the attributes in either the qualifications or the characteristics may be balanced by adjusting an equal amount by one or more remaining attributes in the qualifications in order to keep the assigned weight of the qualifications to exactly 7, and likewise keeping the assigned weight of the characteristics to exactly 3, etc. In other words, at least two or more attributes would be involved for any selected weight adjustments to the attributes in each category of the qualifications or the characteristics.
The criteria of job opening matching such as a threshold may be set when the job-opening profile is established. For example, employer may set a threshold at 8.5 or higher (out of 10) in the overall score in order to be considered sufficient for a next level contact or hiring decision.
An example may be used to illustrate a selected attribute weight adjustment in the elastic analysis. Assuming there are 20 attributes in the qualifications to accumulate to an assigned weight of 7 (out of 10), and assuming there are 10 attributes in the characteristics to accumulate to an assigned weight of 3 (out of 10). Thus the combined overall weight makes up a maximum overall score of 10. Accordingly, each attribute in the qualification category may have an assigned default weight of ( 1/20)×7, while each attribute in the characteristics category may have an assigned default weight of ( 1/10)×7.
For example, a job opening profile for an integrated circuit (IC) design engineer, may adjust a “core engineering courses>3.0 GPA” attribute requirement from a default weight of 1/20 to 2/20, while setting a research publications attribute weight from 1/20 to 0 in order to maintain the qualifications category total cumulative assigned weight unchanged at 7. Therefore, an applicant with a BSEE (bachelor of science in electrical engineering) degree having a 3.2 GPA will be considered as equally qualified as an applicant with a PhD degree in EE who has 3.6 GPA and authored 6 publications. However, if the IC design engineer job opening profile assigns a different weight in the education level attributes ( 1/20 for BS, 2/20 for MS and PhD), then a job-seeker with a MS degree or a PhD degree may score higher in the weighted match score than a job-seeker with a BS degree. Likewise, the similar weight adjustments may be applied to the attributes in the characteristics category.
Alternately, the job matching algorithm 150a or the employer may decrease the weight of qualifications category from 7 to 6 (see adjustments 168b, 168c to Overall Score block 164), while the weight of characteristics category may be increased from 3 to 4 to maintain an overall score at 10 maximum. Other weight values or adjustment combinations to both the attributes weights and the category weights may be performed by a person of ordinary skill in the art without limiting by the method illustrated above.
In implementation, the adjusting of the weighted match score may optionally be configured by one or a combination of the job-seeker and the employers. The job-seeker may optionally configure a first plurality of customized functional weights to two or more attributes in the qualifications of the job-seeker's profile; and the employers of the one or more job opening profiles may configure respectively, a third plurality of customized functional weights to two or more attributes in the corresponding qualifications of the one or more job opening profiles or the new job opening profile.
Likewise, the adjusting of the weighted fit score may be configured by one or a combination of the job-seeker and the employers. The job-seeker may configure a second plurality of customized functional weights to two or more attributes in the characteristics of the job-seeker's profile; and the employers of the one or more job opening profiles may configure respectively, a fourth plurality of customized functional weights to two or more attributes in the characteristics of the one or more job opening profiles or the new job opening profile.
As shown in
The job matching algorithm 150a may include training an artificial intelligence (AI) system to perform the adjusting of the weighted match score and the adjusting of the weighted fit score for the re-matching to the one or more job opening profiles and the new matching to the new job opening profile as shown in
In practice, upon a successful matching or re-matching of a job opening profile, certain job-seeker's demographic information in the job-seeker profile that are subjected to protection from discrimination (e.g., race, age, gender, religion, physical disability) may be withheld from immediate release to the employer of the at least one job opening profile or to the employer of the new job opening until a favorable recruitment or hiring decision is made.
In addition, the job matching algorithm 150a may perform identity verifications and background checks on the job-seeker based on the job-seeker's profile, wherein the identity verifications and background checks may include checking from one or more of: a public database, the applicant database and one or more social websites. For example, the identity verifications and background checks may include checking one or a combination of: legal residency status, past criminal records or drug offenses, sex offenders registration, professional licenses or certification requirements, veteran status or military service, active or past membership with communist party, hateful organization affiliation, and terrorists watch list, to name a few examples.
In implementation, the job matching algorithm may charge employers in the employer database a defined percentage of an annual salary of a successful hiring of the job-seeker after a probation period. The employers in the employer database may pay an annual membership fee to post the one or more job opening profiles and pay a fee per successful match to the one or more job opening profiles. Alternately, the employers who post the one or more job openings in the employer database 124 may be charged a cost per click fee when the job opening website has been visited by the job-seeker after browsing longer than a defined duration.
The AI system 151 may connect the job-seeker to education/training (E/T) provider 126 web-links for further job education/training, which the E/T providers may be charged a cost per click advertising fee when the E/T website is visited by the job-seeker through weblink redirection and after browsing longer than a defined duration. In addition, the AI system 151 may harvest profile data from a professional social website to identify potential prospects for successful matching to the one or more job opening profiles, and may push invitations to the potential prospects to apply to the one or more job opening profiles.
In block 202, the AI system 200 may retrieve a job posting profile from the employer database 124. In block 204, the AI system 200 may ingest, translates and enhances the job posting. For example, the system 200 may capture the employer's raw job posting, translate it into the system's jobs data model, and enhance the data content to improve customized match and fit scores for that job. The one or more job opening profiles or the new job opening profiles (i.e., raw job posting) may be translated into standard occupational data model using codes including one or a combination of: Occupational Information Network (O*NET) code, software product commodity code (UNSPSC), Standard occupational classification code, classification of instructional program code (BLS) and unique school ID (UNITID).
In block 206, the employer may customize the job opening profiles (system job posting), by specifying a listing of the qualification attributes and the characteristics attributes (with or without an associated weight) as job criteria to further improve their match and fit scores. In block 208, the employer may add job-seeker curation criteria. For example, the employers may have the option to set job criteria, to sort, aggregate, and clarify job seeker requirements based on match scores, fit scores, and other custom criteria defined by the employer.
Independently, in blocks 212-214, the AI system 200 may guide a job-seeker to create an account in filling out their profile to be stored in an applicant database 122. The AI system may assist the job-seeker in filling out their profile to maximize their match and fit scores for jobs, occupations, and career paths. The AI system 200 may dynamically present job seeker's elements of their profile, such as the qualifications attributes and characteristics attributes (with or without an associated weight) to complete answers to questions based on previously filled in information.
In block 216, the job-seeker may set his/her job search and matching criteria. For example, the job-seekers may have the option to set the criteria by which jobs and occupations are presented to them based on match scores, fit scores, geographic location, city radius or range of travel distance for job, full-time or part-time work, demographics, and other custom criteria defined by the job-seeker.
The AI system 200 may use the job matching algorithm in block 220 to perform live matching of the job-seeker profile from the applicant database 122, to the one or more job openings profile from the employer database 124 in blocks 210 and 218. The curation criteria evaluation in block 222 may evaluate the job opening profile and the job-seeker to determine a weighted match score, and a weighted fit score according to the job opening curation criteria to determine which events (i.e., which matched attributes) to trigger next in the recruiting and hiring process.
If a successful match is found, that is, the scores and curation criteria are met for both employer and job seeker, then blocks 224 and 226 in the system 200 may proceed to the next level decision to automatically invite the job seeker to apply to the job to begin the hiring process. Alternately, when no match is found, block 228 in the AI system may recommend other jobs and career paths for consideration. When the scores and curation criteria are not met for both employer and job seeker, the system's AI 200 may automatically recommend other jobs and career paths for the job seeker to consider based on their score and curation criteria.
In the Employer, Job Seeker, and System Evaluation of Outcomes block 230, the employer, job seeker, and AI system may each evaluate the appropriate state-based behavioral outcomes of the recruitment and hiring process, and adjust or recommend adjustment (see feedback paths 232a, 232b) of the functional weights of the “Matching Algorithm” in block 220, the “Curation Criteria Evaluation” block 222, and the “AI Recommends Other Jobs . . . ” block 228. These adjustments or recommended adjustments may occur either via manual intervention from one or a combination of: the employer, the job-seeker or via the supervised AI learning feedback loops 232a, 232b.
Separately, in block 316, a job-seeker may create an account on the Applicant database 122. In block 318, the AI system 300 may recommend occupation for the job-seeker. In block 320, the job-seeker may set job search and matching criteria (see also block 216). In block 322, job-seeker's profile may retrieved by the AI system 300 to perform job matching by the job matching algorithm 150 in block 324. The job matching algorithm 150 may iteratively match the job seeker profile to one or more job opening profiles. In block 326, AI system 300 may recommend other job openings or occupations for the job-seekers. In block 326, the AI system 300 may review the results from the job matching algorithm 150a and evaluate what alternate occupations may be suitable for the job-seeker. In block 328, the AI system 300 may recommend Education and Experience Paths. For example, the AI system 300 may search for education providers to provide relevant training and certification programs to meet qualification attributes requirements for the more job openings.
The AI system 300 may also review job-seeker's education and experience opportunities for the candidate based on targeted occupations and then presents career paths and corresponding services to support the seeker when the job-seeker were to choose a given path.
In block 332, the AI system 300 may continue to make ongoing path recommendations. The AI system 300 may regularly review the seeker's progress, profile changes, new education and experience offerings, and macro-economic occupation changes to make smart recommendations for potential next steps. In block 334, the job seeker and the AI system 300 may evaluate the appropriate state-based behavioral outcomes of the job opening matching process and adjust or recommend adjustment of the functional weights of the “Matching Algorithm” and any “AI system Recommends . . . ” blocks. These adjustments or recommended adjustments may occur either via manual intervention from the Job Seeker or via supervised AI learning feedback loops 335a, 335b.
In block 404, the system may ingest, translate and enhance service offerings. The AI system 400 may capture the service provider's raw service offering, translates it into the system's services data model, and enhances the data content to improve customized match and fit scores for that service offering. In block 406, service provider 126 may customize system service offering to further improve their match and fit scores.
In step 408, service provider 126 may add job-seeker curation criteria. Service provider 126 may have the option to set criteria by which job-seeker to sort, aggregate, and clarify service offering enrollment requirements based on job seeker match scores, fit scores, demographics, and other custom criteria defined by the provider. In block 416, the job-seeker may set the service offering search and matching criteria. In block 416, the job-seeker may have the option to set the criteria by which service offerings are presented to them based on match scores, fit scores, geographic location, demographics, and other custom criteria defined by the job seeker (see also block 216). In block 420, the job matching algorithm may iteratively match the job-seeker to service offerings. In block 422, the enrollment curation criteria may evaluate the service offerings and job-seeker scores and curation criteria to determine which events to trigger next in the service offerings enrollment process.
In block 424, when the overall scores and curation criteria are met for both provider and job seeker, then the system will automatically invite the job seeker to enroll in the service offering. In block 428, when the overall scores and curation criteria are not met for both the provider and the job seeker, the system's AI will automatically recommend other services for the job seeker to consider based on their score and curation criteria. In block 430, the service provider 126, job-seeker's communication device 123, and AI system 400 will evaluate the appropriate state-based behavioral outcomes of the servicing offering enrollment process and adjust or recommend adjustment of the functional weights of the “Matching Algorithm”, “Enrollment Curation Criteria Evaluation”, and “AI Recommends Other Services . . . ” blocks. These adjustments or recommended adjustments may occur either via manual intervention from the Provider and Job Seeker or via supervised AI learning feedback loops 431a, 431b.
In an example, the job-seeker profile 532 may represent the digital identity of the job-seeker that is used by the job-seeker application 520 and is fully owned by the job-seeker. The job-seeker verification block 534 programmatically certifies an identity of the individual (e.g., job-seeker) via background and related AI powered and manual identity verification services. The job browse block 538 may functionality enable the job-seeker to fully explore, select, and engage with jobs and careers in an intuitive and AI powered interface. The seeker hiring module 540 manages and tracks the end-to-end hiring processes needed to take a job-seeker from an exploration stage to an accepted offer and may include but is not limited to: applying, receiving invitations to apply, interviews, offer negotiation, and offer acceptance. Seeker messaging block 542 allows job-seekers to message employers and job-seekers directly within the solution portion of the job-matching algorithm, in order to gain employment, get career advice, negotiate offers, build a social network, find mentors, and related activities. The seeker development 544 module is the AI powered and self-directed system within the solution that enables job-seekers to learn about, select, and achieve career paths based on their personal goals, attributes, and abilities. Occupation browse block 546 functionality may enable the job-seeker to fully explore, select, and engage with occupations and careers in an intuitive and AI powered interface. The occupation analytics block 548 module may be a centralized and customized AI powered dashboard of information about occupation trends, needs, and forecasts to support the job-seeker in employment, development, and career exploration. Insights and data from job-seeker behavior and actions block 550 may be used by the job seeker application 520 as a feedback loop to incrementally and continuously improve itself via machine learning and AI algorithms. Once a job-seeker is hired 522, the system 500 verifies, validates, and monitors the hired status of the job-seeker with the employer and engages transactional fees per dynamic employer contractual agreements. Seeker policies block 526 may control the usage of the application by the job-seeker and establish the limits of the application to use job-seeker data. Seeker security 528 controls least privileged access and independently verifies the job-seeker's identity.
The employer application 522 (within the job matching algorithm 150a) may be run on the server 140 and logged by a plurality of prospective employers through respective one or more hosting employers' servers 128a-128n. The employer application 520 matches and connects a plurality of prospective employers to job-seekers by providing customized match scores and facilitating the entire hiring, career development, and support services process. Various inputs 556-582 may be provided to the job-seeker application 520, including an input 554 from the job-seeker application 522.
The employer profile 564 may represent the digital identity, settings, and access controls of the employer that is used by the application and is fully owned by the employer. The employer verification block 566 may programmatically certify the identity of the employer via background and related AI powered and manual identity verification services. The employer seeker block 538 may functionality enable the employer to fully explore, select, invite, and engage with job-seekers in an intuitive and AI powered interface. The employer hiring module 574 may manage and track the end-to-end hiring processes needed to take a job-seeker from an exploration stage to an accepted offer that may include, but not limited to, applying, receiving invitations to apply, interviews, offer negotiation, and offer acceptance.
The employer messaging block 574 may allow employers to message job-seekers directly within the solution in order to support hiring and career development related activities. The employer analytics 576 module may be a centralized, customized, and dynamic AI powered dashboard of information and advanced analytics simulation modeling about job, occupation, career, industry, and job-seeker trends, needs, and forecasts related but not limited to diversity, equity, inclusion, wages, skills, demographics, and community needs to support effective and efficient hiring, development, and systemic change. The employer commerce block 578 may be the solution's systematic verification and validation of hiring process activities and outcomes between the job-seeker application 520, the employer application 522, and the employer's hiring systems to engage in automatic invoicing and collection of payments with or without human intervention. The employer job import module 580 may be an AI powered ingestion, translation, and delivery of job postings into the system's standardized and dynamic job skills, abilities, and preference data model from any employer's existing job posting formats to be immediately used by the employer to automatically post that job or review and customize before posting. Furthermore, the employ job import module 580 normalizes and stores the original job description, the job characteristics and data into a centralized aggregated database that informs and powers the AI coaching and provides predictive and prescriptive insights in jobs, industries, occupations, and community outcomes and future needs (i.e., a “job crystal ball” or a “job Genie” analogy). Insights and data from the employer behavior and actions block 582 may be used by the employer application 520 as a feedback loop to incrementally and continuously improve itself via machine learning and AI algorithms. Once a job-seeker is hired, the system may send an output 584 to verify, validate, and monitor the hired status of the job-seeker with the employer and engages transactional fees per dynamic employer contractual agreements. The employer policies block 558 may control the employer's usage of the employer application 522 and may establish the limits of the employer application 522 to use employer data. The employer security block 580 may control least privileged access and independently verifies the employer's identity.
Another embodiment of the disclosure may be shown in
In an example, a computer implemented method of intelligent job offer negotiation is disclosed in the following description. The method may include executing by at least one processor 142 on a computer, a job offer negotiation algorithm 150b implemented by an artificial intelligence (AI) system stored on a non-transitory computer-readable memory medium, that performs online job offer negotiation between a job-seeker and a plurality of prospective employers prior to job offer acceptance, wherein the AI system performing steps that includes: in step 602, upon a job-seeker's profile of the job-seeker having been successfully matched or rematched to respective job opening profiles of corresponding plurality of prospective employers, negotiating to reach a preferred job offer bid between the job-seeker and the plurality of prospective employers.
More specifically, the negotiating of the preferred job offer bid may include the AI system invoking a feedback loop implementing the following steps: in step 604, submitting by each respective prospective employer among the plurality of prospective employers, a respective job offer bid to compete hiring of the job-seeker, wherein the respective job offer bid comprising a plurality of offer terms attributes. In step 606, determining if more than one job offer has been received by the job-seeker. If so, in step 608, determining a corresponding respective composite score from the plurality of offer terms attributes comprised in each respective job offer bid submitted by each respective prospective employer among the plurality of prospective employers. In step 610, comparing the corresponding respective composite scores of each respective job offer bid submitted among the plurality of prospective employers to display a winning job offer bid having a highest composite score. In step 612, in response to the displayed winning job offer bid, iteratively adjusting a corresponding value to one or more offer terms attributes to at least one non-winning job offer bid from remaining bidding prospective employers to continue competing hiring of the job-seeker. In step 614, repeating steps 608 to 612 by the feedback loop. In step 614, determining if further job offer bids have been submitted; if so, in step 616, receiving an acknowledgment signal from the job-seeker, and confirming acceptance of a final winning job offer bid from a winning bidding prospective employer. Likewise, if the job offer is the only job offer received in step 606, go directly to step 616. The online job offer negotiation between the job-seeker and the plurality of prospective employers may be performed in real time by the feedback loop of the AI system.
In an example, the respective composite score S may be a sum of all the plurality of products of each of the assigned terms weight wi and the terms attributes Ai specified in the respective job offer bid, such that the respective composite score S=Σi=1n(wi*Ai), where n is a total number of offer terms attribute specified in a respective job offer bid.
In an example, the plurality of offer terms attributes Ai . . . An may each correspond to one or more of: a salary or an hourly wage, offering of insurance benefits comprising one or more of: health, dental, vision, life, accidental death and disability, employer's contributions to the insurance benefits, sick leave days, maternity/paternity leave, holidays, vacation days, overtime pay, remote working flexibility, education assistance, relocation benefits, offering of retirement plans, employer's retirement contributions, profit sharing or bonus, stock options, phone plan assistance contributions, transportation, dependent care and flexible medical spending deductions. In an embodiment, a numerical value of 1 may be assigned to each of the offer terms attributes Ai . . . An. Therefore, if a first job offer bid B1 by a prospective employer X may include only two offer terms attributes (A1 and A2), namely, a stated salary and overtime pay, then the total offer terms attributes n=A1+A2=1+1=2.
In an example, wi . . . wn may be a default terms weight or a custom assigned terms weight assigned to each of the plurality of offer terms attributes Ai . . . An. In an embodiment, the default terms weight wi . . . wn may be a numerical value 1 to designate equal importance. Referring to the above example for the first job offer bid B1, the respective composite score S may be calculated as S=(w1*A1+w2*A2)=(1*1+1*1)=2.
Suppose during the job offer negotiation, another prospective employer Y may offer the job-seeker for a similar job profile, a second job offer B2 to include three offer terms attributes (i.e., n=3), namely, a stated salary, overtime pay, plus insurance) benefits, then the respective composite score S may be calculated as S=(w1*A1+w2*A2+w3*A3)=(1*1+1*1+1*1)=3. The job offer negotiation algorithm 150b may display in real time the second job offer bid B2 being a winning job offer bid. The prospective employer X may receive the information that the second job offer bid B2 outbids its first job offer bid B1 by a composite score of 1. The prospective employer X may either match in real time, the second offer bid B2 by offering an insurance benefits (or other benefits), or alternately offering an increase in the stated salary to at least partially compensate for the insurance cost which may be counted towards as adding an additional offer terms attributes Ai to match to a composite score of 3, should the job-seeker desires to use the increase in pay to purchase an equivalent insurance plan or simply to keep the additional pay without purchasing an insurance plan. In response, the second prospective employer Y may continue to adjust the second offer bid B2 in real time, by adding a fourth benefit (i.e., n=4), such as sick leave days or vacation time off to further increase the composite score S=(w1*A1+w2*A2+w3*A3+w4*A4)=(1*1+1*1+1*1+1*1)=4, thus outbid the prospective employer X and reaching a final winning job offer bid with a composite score at 4 (assuming prospective employer X stops bidding).
In another example, wi . . . wn may be a custom assigned terms weight assigned to each of the plurality of offer terms attributes Ai . . . An. For example, prior to receiving any job offer bid (or after receiving a job offer bid in real time), the job-seeker or the job offer negotiation algorithm 150b may configure each differently individual custom assigned terms weight wi . . . wn with a numerical value that ranges from a numerical value 0 (i.e., unimportant) to a numerical value greater than 1 (i.e., high importance) to designate the job-seeker's preference.
To illustrate the custom terms weight assignment configuration, suppose the job-seeker may already be covered by a spousal insurance plan. In this regard, the job-seeker may put a higher emphasis by custom assigning a higher terms weight of the salary or hourly wage to 2, while putting a lower emphasis by custom assigning a lower terms weight of the insurance benefits to 0. In this regard, the job-seeker may prefer a job offer bid with a higher salary than a job offer bid with a lower salary but including an insurance benefit. Referring to the above example for the first job offer bid B1, the respective composite score S may be calculated as S=(w1*A1+w2*A2)=(2*1+1*1)=3; while for the second job offer bid B2 the respective composite score S may be calculated as S=(w1*A1+w2*A2+w3*A3)=(2*1+1*1+0*1)=3. Therefore, the second job offer bid B2 (which offers insurance benefits) would have no advantage over the first job offer bid B1, since both job offer bids would result in an identical composite score of 3. In this regard, a final winning job offer bid would be solely based on the salary or hourly wage in the job offer bid.
In another embodiment, during the job offer negotiation, the feedback loop may iteratively and elastically adjust to increase or decrease within a defined range designated by one or more prospective employer, a corresponding value of one or more offer terms attributes Ai . . . An, including tweaking to raise within a defined range the salary by a certain dollar amount, or raise a certain percentage of the base salary as profit sharing as an incentive in the job offer bid, or adjust to replace one benefit by another including a combination of overtime pay, profit sharing or bonus and stock options, to meet the preference (i.e., custom assigned terms weight) of the job-seeker to gain favor of a winning job-offer bid.
Likewise, the assignment of custom terms weight wi . . . wn may also be elastically adjusted by the feedback loop over a defined range (e.g., between 0 and 2) for job offer bid analysis or to optimize the job offer bid to enable the job-seeker to consider and weigh out his or her options based on their current living situation needs. Furthermore, the assignment of the custom terms weight wi . . . wn may be returned through the feedback loop to request a desired prospective employer (such as prospective employer A) to customize the offer terms attributes as part of the adjustments before a next submission of their job offer bid to attract the job-seeker to join their firm (e.g., the prospective employer A). In other words, the job offer negotiation algorithm 150b in the AI system 151 may function as a “Genie” to facilitate between the job-seeker and a plurality of prospective employers to help both sides to reach certain “wishes”, and to negotiate for the best interests on behalf of the job-seeker in the job offer bids negotiation process, while shortening the decision waiting process to a minimum so that the job opening may be quickly filled with the best matched talent who is happy with the job offer which may lead to a lower workers turn over.
In another example, it may be advantageous to normalize a respective job offer score to compare a normalized score on the offer terms attributes on a per item basis. Such normalized score may indicate an overall strength or attractiveness of the job offer itself. The normalized score may be determined by dividing the respective sum of composite score by a total number of offer terms attributes specified in the respective job offer bid. In the above examples for the first and the second job offer bids if assuming an equal salary or hourly wage, the first and the second job offer bids may have equivalent normalized score on the job offer bids, nevertheless because the second offer bid has an additional insurance benefit, the second job offer bid would still prevail with a higher composite score.
Yet in another embodiment, the composite score S may be implemented to factor in the calculation to include terms weighing other quality of the job offer as part of the terms attributes Ai . . . An beyond just the compensation to the seeker. For example, the composite score S may also include assigning custom weighing to other terms attributes Ai . . . An like culture, employer ratings, job location, a lower cost of living index near the job site, and job site safety record, etc. Thus, the job-seeker may gain a more comprehensive analysis and ranking that takes into considerations all the factors that might affect their living before making an important choice where to dedicate their service with a long term view.
Yet in another embodiment, a final winning job offer bid may be based on the respective composite score S of the preferred job offer bid Bx exceeding a certain job offer composite threshold score value Sth. For example, if the job-seeker sets a job offer composite threshold score Sth to 3, then a winning job offer bid composite score S would require a minimum of at least two additional offer terms attributes to be included for consideration in the calculation or to simply put in a request through the feedback loop process to see if the prospective employer may consider including them immediately or fulfilling them after a defined period of employment, etc.
In other examples, the job offer composite threshold score Sth value may be used as a benchmark value to further train the AI system through a statistical analysis of collective equivalent job offers in a similar labor market category or based on a geographical region for comparison of cost of living, or benefits comparison, etc.
In an example, personal information of the job-seeker may not be shared with the corresponding plurality of prospective employers until an acceptance of the final winning job offer bid has been confirmed by the job-seeker or the job-seeker has agreed to further participate one of: a live real-time audio or video interview and a pre-recorded interview with the corresponding plurality of prospective employers.
In an example, the winning bid prospective employer may stipulate a required drug test or a background check as a condition of job offer acceptance, that the accepted final winning job offer bid may be withdrawn from the job-seeker if the job-seeker fails a required drug test or background check.
In another example, the winning bidding prospective employer may be charged a defined fee for a job offer negotiation service rendered by the AI system. The winning bidding prospective employer may also be given a credit of the charged fee for a next hire in case if the job-seeker fails to meet his or her job performance or being terminated within a defined number of days (e.g., 45 days or 90 days) after hiring.
In practice, the job offer negotiation algorithm may function as a fully integrated digital employment marketplace where employers and job-seekers may connect directly and confidently to negotiate and complete hiring real-time. Utilizing unbiased ONET standards based equitable matching technology, employers and seekers may be confident that their employment decision is based on skills and interest to do the job, not merely a resume.
In implementation, job-seekers may fill out a 10-15 minute profile which matches the job-seeker in real time to all of the relevant job openings (i.e., job opening profile). The seeker will also see adjacent jobs they are qualified for that they may not have considered or expressed interest in. Seekers may also “Refer” another seeker and receive a fee if the person is hired in the event or subsequent event. Prospective employers may have an opportunity to configure specific job related questions to ensure that the match is good. The seeker may be provided with key company and relevant wage information for the jobs they have matched with and expressed interest in. The prospective employer can see the seekers' match score and their desired wage or “hire me now” wage along with the highest offer the seeker has received. The prospective employer may post real-time their wage offer and provide additional job or company information to the seeker. No seeker personal information may be shared with the employer until a wage has been negotiated and or the seeker has agreed to a live real-time audio/video interview or pre-recorded version. Within the AI system, the job-seekers and the prospective employers may in real-time express interest in each other, communicate, and extend and accept offers.
In another embodiment of the disclosure, a non-transitory computer-readable medium which stores at least one code of a job offer negotiation algorithm, when executed by at least a processor in a computer that implements an artificial intelligence (AI) system, performs online job offer negotiation between a job-seeker and a plurality of prospective employers prior to job offer acceptance, wherein the AI system performing the steps 602 to 616, as described in the previous description in
Other systems, methods, features and advantages will be, or will become, apparent to one with skill in the art upon examination of the figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the disclosure, and be protected by the following claims. Steps mentioned in the disclosure may be carried out in any sequence or orders without limitation to achieve the intended objectives.
The present application makes reference to pending U.S. patent application Ser. No. 17/506,232 entitled “One Click Job Placement,” filed on Oct. 20, 2021, which is a Continuation Application and claims the benefit of priority of U.S. patent application Ser. No. 17/220,576 (issued as U.S. Pat. No. 11,195,151 B2), and PCT International Patent Application No. PCT/US21/25412 entitled “One Click Job Placement,” both filed on Apr. 1, 2021, which claim the benefit of priority under 35 U.S.C. § 119 from U.S. Provisional Patent Application Ser. No. 63/005,141 entitled “One Click Job Placement,” filed on Apr. 3, 2020, the disclosure of which above applications are hereby incorporated by reference in their entirety for all purposes.
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/US2022/016328 | 2/14/2022 | WO |