IP Library Granted Patent US 12,737,727
Granted Patent B2
US 12,737,727 · App. 17/469,468 · Granted Sep 15, 2026

Machine learning apparatus and methods for predicting hiring progressions for demographic categories present in hiring data

Inventors: Shiying Chen (Highland Park, NJ); Amber M. Brown (Keyport, NJ)
Assignee: iCIMS, Inc.
G06Q10/1053G06F17/11G06F18/2431G06N20/00G06Q10/04G06Q10/063118G06Q10/06375
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,737,727
App. No.
17/469,468
Granted
Sep 15, 2026
Kind
B2
Abstract

In some embodiments, a method can include receiving, during a hiring process, a set of candidate profiles associated with job information, a first slate goal for a first protected class, and a second slate goal for a second protected class. The method can further include extracting slate demographic data from the set of candidate profiles. The method can further include executing a trained machine learning model based on the first slate goal and the slate demographic data to predict a first hiring progression x 1 , and based on the second slate goal and the slate demographic data to predict a second hiring progression x 2 . The method can further include generating, after predicting the first hiring progression and the second hiring progression, updated job information based on the job information, the first slate goal, the first hiring progression, the second slate goal, and the second hiring progression.

Claims (78)

1 . A method, comprising:

receiving, via a processor, during a hiring process, and from at least one remote compute device, a preliminary set of candidate profiles (1) associated with a job description, (2) from a first hiring source, and (3) not having a standardized format;

converting, via the processor, the preliminary set of candidate profiles to a first set of candidate profiles having the standardized format;

receiving, via the processor during the hiring process, a first slate goal for a first protected class and a second slate goal for a second protected class, the first slate goal indicating a target number of individuals to be hired from the first protected class and the second slate goal indicating a target number of individuals to be hired from the second protected class;

extracting, via the processor, slate demographic data from the first set of candidate profiles;

executing, via the processor, a trained machine learning model based on the first slate goal and the slate demographic data, to predict a first hiring progression x 1 ;

executing, via the processor, the trained machine learning model based on the second slate goal and the slate demographic data, to predict a second hiring progression x 2 ;

transmitting, via the processor, an indication of the first hiring progression, an indication of the second hiring progression, and an indication of slate demographic data to a user interface such that the user interface displays a visual representation of the first hiring progression and a visual representation of the second hiring progression;

transmitting, via the processor, an indication of the job description to a third hiring source different from the first hiring source;

generating, via the processor, using a natural language processing model, and after predicting the first hiring progression and the second hiring progression, an updated job description based on the job description, the first slate goal, the first hiring progression, the second slate goal, and the second hiring progression; and

receiving, via the processor, a second set of candidate profiles different than the first set of candidate profiles and from a second hiring source (1) different than the first hiring source, (2) determined based on the first hiring progression and the second hiring progression, and (3) more likely to attract job candidates that meet the first slate goal and the second slate goal than the first hiring source.

2 . The method of claim 1 , wherein the job description is associated with a salary range, the method further comprising:

generating, via the processor and after predicting the first hiring progression and the second hiring progression, an updated salary range based on the salary range, the first slate goal, the first hiring progression, the second slate goal, and the second hiring progression.

3 . The method of claim 1 , further comprising:

generating, via the processor, an updated first slate goal based on the first slate goal and the first hiring progression,

generating, via the processor, an updated second slate goal based on the second slate goal and the second hiring progression; and

substituting, via the processor, the first slate goal for the updated first slate goal, and the second slate goal for the updated second slate goal.

4 . The method of claim 1 , wherein the job description is associated with a job title, the method further comprising:

generating, via the processor, using the natural language processing model, and after predicting the first hiring progression and the second hiring progression, an updated job title based on the job title, the first slate goal, the first hiring progression, the second slate goal, and the second hiring progression.

5 . An apparatus, comprising:

a display configured to show a user interface including a visual representation of a hiring progression associated with a job description, and at least one of a visual representation of an inclusion meter, a visual representation of slate demographic data, or a visual representation of a slate goal; and

a non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:

retrieve, via the user interface and during a hiring process, an indication of the slate goal,

receive, from a first hiring source and for the job description, a first candidate profile;

retrieve, during the hiring process and based on the first candidate profile, an indication of slate demographic data,

augment a first portion of training data to produce a second portion of training data by at least one of applying an image filter, adding noise, translating text, synonym-replacing text, or changing demographic information,

a number and a variety associated with the second portion of training data being larger than a number and a variety associated with the first portion of training data;

execute, during the hiring process, a trained machine learning model based on the slate goal and the slate demographic data, to predict the hiring progression, the trained machine learning model trained using the second portion of training data;

transmit, during the hiring process and to the user interface, an indication of the hiring progression and an indication of the slate demographic data to cause the user interface to display the visual representation of the hiring progression and the visual representation of the slate demographic data based on the indication of the hiring progression and the indication of slate demographic data, respectively;

generate, after predicting the hiring progression and using a natural language processing model, an updated job description based on the job description, the slate goal, and the hiring progression;

determine that the hiring progression does not meet the slate goal; and

in response to determining that the hiring progression does not meet the slate goal, send the job description to a second hiring source different than the first hiring source and more likely to attract job candidates that meet the slate goal than the first hiring source.

6 . The apparatus of claim 5 , wherein the code to cause the processor to augment includes code to cause the processor to at least two of apply the image filter, add noise, translate text, synonym-replace text, or change demographic information.

7 . The apparatus of claim 5 , wherein the code to cause the processor to augment includes code to cause the processor to at least three of apply the image filter, add noise, translate text, synonym-replace text, or change demographic information.

8 . The apparatus of claim 5 , wherein the code to cause the processor to augment includes code to cause the processor to at least four of apply the image filter, add noise, translate text, synonym-replace text, or change demographic information.

9 . The apparatus of claim 8 , wherein the trained machine learning was further trained using a set of features that includes at least one of a set of indications of occupation types, a set of indications of job geolocations, a set of indications of industry types, a set of indications of company sizes, a set of indications of job posting timestamps, or a set of indications of past interview rates.

10 . The apparatus of claim 5 , wherein the job description is associated with a first location and the updated job description is associated with a second location different than the first location.

11 . The apparatus of claim 5 , wherein the code further includes code to cause the processor to:

retrieve a set of candidate profiles for the job description, the set of candidate profiles associated with the slate demographic data,

execute a model to select a subset of candidate profiles from the set of candidate profiles;

generate a bias metric for the model based on the subset of candidate profiles and the set of candidate profiles; and

transmit an indication of the bias metric to the user interface such that the user interface is configured to display a visual representation of the bias metric.

12 . The apparatus of claim 11 , wherein the code further includes code to cause the processor to:

update the job description based on at least one of the bias metric or the hiring progression.

13 . The apparatus of claim 5 , wherein the code further includes code to cause the processor to:

generate an updated slate goal based on at least the slate goal and the hiring progression, and

substitute the slate goal for the updated slate goal.

14 . The apparatus of claim 5 , wherein the slate goal indicates a target number of individuals to be interviewed from a protected class.

15 . A method, comprising:

retrieving a first set of slate goals, each slate goal from the first set of slate goals indicating a target number of individuals to be hired from a protected class from a set of protected classes;

retrieving first timestamped slate demographic data associated with the set of protected classes;

associating the first timestamped slate demographic data and the first set of slate goals with a set of hiring progression labels to generate labeled training data;

training a decision tree gradient boosting model based on the labeled training data to produce a trained decision tree gradient boosting model;

retrieving (1) a second set of slate goals different from the first set of slate goals and (2) second timestamped slate demographic data associated with the second set of slate goals, each slate goal from the second set of slate goals indicating a target number of individuals to be hired from a protected class from the set of protected classes;

executing the trained decision tree gradient boosting model based on the second set of slate goals and the second timestamped slate demographic data, to predict a set of hiring progressions for the set of protected classes;

displaying a visual representation for each hiring progression from the set of hiring progressions;

determining that at least one hiring progression from the set of hiring progressions does not meet a slate goal from the second set of slate goals associated with the at least one hiring progression;

sending a job description associated with the at least one hiring progression to a hiring source more likely to attract candidates that will satisfy the slate goal associated with the at least one hiring progression; and

generating, after predicting the set of hiring progressions and using a natural language processing model, an updated job description based on the job description, at least one of the first set of slate goals or the second set of slate goals, and the set of hiring progressions.

16 . The method of claim 15 , further comprising:

calculating an overall hiring progression from the set of hiring progressions using:

n

i

=

1

n

1

x

i

wherein x i represents a hiring progression from for a protected class from the set of protected classes.

17 . The method of claim 15 , further comprising:

extracting a first set of features from the first timestamped slate demographic data, and a second set of features from the second timestamped slate demographic data;

training the decision tree gradient boosting model based on the first set of features, the first set of slate goals, and the set of hiring progression labels, to produce the trained decision tree gradient boosting model; and

executing the trained decision tree gradient boosting model based on the second set of features and the second set of slate goals to produce the set of hiring progressions for the set of protected classes.

18 . The method of claim 17 , wherein the first set of features and the set of features include at least one of a set of indications of job occupation types, a set of indications of job geolocations, a set of indications of industries, a set of indications of company sizes, a set of indications of job posting timestamps, or a set of indications of past interview rates.

19 . The method of claim 15 , further comprising:

generating a set of updated slate goals for the set of protected classes based on at least the second set of slate goals and the set of hiring progressions.

Assignments (2)
SECURITY INTEREST Recorded Aug 18, 2022
From: ICIMS, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 060846/0511 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2022
From: CHEN, SHIYING; BROWN, AMBER M.
To: ICIMS, INC.
Reel/Frame 060618/0119 →
Continuity (1)
Related Publication 20230076049A1 · Mar 9, 2023
References Cited (28)
US 11030404B1 · Garg · 2021 [cited by examiner]
US 11645626B2 · Mihai et al. · 2023 [cited by applicant]
US 20140046956A1 · Zenger et al. · 2014 [cited by applicant]
US 20140236664A1 · Zenger et al. · 2014 [cited by applicant]
US 20150112983A1 · Srivastava · 2015 [cited by examiner]
US 20150170065A1 · Zenger et al. · 2015 [cited by applicant]
US 20150193719A1 · Than et al. · 2015 [cited by applicant]
US 20150248644A1 · Zenger et al. · 2015 [cited by applicant]
US 20160217400A1 · Sit et al. · 2016 [cited by applicant]
US 20160217401A1 · Leung et al. · 2016 [cited by applicant]
US 20170103368A1 · Gupta · 2017 [cited by examiner]
US 20170206545A1 · Gupta et al. · 2017 [cited by applicant]
US 20180307750A1 · Gupta et al. · 2018 [cited by applicant]
US 20180357266A1 · Zenger et al. · 2018 [cited by applicant]
US 20180357267A1 · Zenger et al. · 2018 [cited by applicant]
US 20190043070A1 · Merrill · 2019 [cited by examiner]
US 20190066056A1 · Gomez · 2019 [cited by examiner]
US 20190102742A1 · Agrawal · 2019 [cited by examiner]
US 20200065769A1 · Gupta et al. · 2020 [cited by applicant]
US 20200272993A9 · Gupta et al. · 2020 [cited by applicant]
US 20210096869A1 · Mkrtchyan et al. · 2021 [cited by applicant]
US 20210117718A1 · Badjatiya · 2021 [cited by examiner]
US 20210383229A1 · Hanna · 2021 [cited by examiner]
WO WO2021141567A1 · 2021 [cited by applicant]
A. Peng, B. Nushi, E. Kiciman, K. Inkpen, S. Suri, E. Kamar, “What You See Is What You Get? The Impact of Representation Criteria on Human Bias in Hiring”, 2019, Microsoft Research, pp. 1-11, doi: 10.48550/arXiv.1909.03… [cited by examiner]
Diversity Best Practices, Diverse Slates & Building Accountability in Recruitment and Hiring, DBP Research Request, 2020, 13 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2022/042927, dated Nov. 29, 2022, 18 pages. [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/US2022/042927 dated Mar. 21, 2024, 13 pages. [cited by applicant]