<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>October</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Fair candidate ranking with spatial partitioning: Lessons from the SIOP ML competition</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ian Burke</string-name>
          <email>iburke@axiomcp.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Robin Burke</string-name>
          <email>robin.burke@colorado.edu</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Goran Kuljanin</string-name>
          <email>g.kuljanin@depaul.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Axiom Consulting Partners</institution>
          ,
          <addr-line>Chicago, Illinois</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>DePaul University</institution>
          ,
          <addr-line>Chicago, Illinois</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Colorado</institution>
          ,
          <addr-line>Boulder, Boulder, Colorado</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>1</volume>
      <issue>2021</issue>
      <abstract>
        <p>The ranking and selection of candidates in hiring process is an important function in human resources systems and one that is increasingly become a site for the integration of new technologies. As such implementations have grown, concerns have emerged that unwanted biases may be codified in such systems, enshrining disadvantages for minoritized groups, and therefore algorithm fairness has become an urgent concern. The recent Society for Industrial and Organizational Psychology conference organized a competition in which researchers could explore fairness in candidate ranking for hiring decisions using a data set from a large retail chain. This paper describes our solution, detailing the data management (including feature engineering and missing data imputation), predictive modeling of candidate characteristics, and the multi-criteria spatial ranking algorithm that led to our successful entry.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>Automated recommendation and ranking systems are playing an
increasing role in a variety of human resource functions. Some
of these applications are designed to interface with job seekers:
recommending open positions likely to be of interest to a particular
job candidate [4, 6]. Other applications are targeted towards the
employer or recruiter, and rank candidates for consideration; see
the survey in [5].</p>
      <p>In the United States and other countries, the processes involved
in seeking, qualifying and ultimately hiring employees are subject to
government regulation, particularly around equal opportunity for a
variety of job seekers. It is therefore imperative that organizations
designing and deploying systems in this area be cognizant of their
fairness properties [16, 18].</p>
      <p>In 2020, the Society for Industrial and Organizational
Psychology (SIOP) conference organized its machine learning competition
around hiring decisions, and it was natural in this context that
fairness be a key outcome under consideration [7]. Indeed, fairness
of selection tests and decisions and any resulting adverse impact
on demographic groups of candidates is an active area of research
in industrial and organizational psychology [3, 14, 17] as well as
in machine learning. In this competition, the organizers focused
on a form of group fairness: proportional equality in hiring
outcomes between protected and unprotected groups, and the metric
for the competition was designed in such a way that deviations
from exact equality would be costly. However, protected group
status was not a known variable for the candidates within the test
data, so researchers could only estimate the fairness properties of
their solutions.</p>
      <p>Although the ultimate output of the system would be a binary
hire/no-hire decision, we approached this task as a ranking
challenge. Our approach was due in part to the structure of the task:
since exactly half of the candidates had to be hired, we could think of
the problem as one establishing a ranking with the “best” candidates
at the top. In our specific solution described here, the parameters of
candidate quality were determined by the competition guidelines.
However, one can imagine those parameters being learned or being
individually specified by recruiters or hiring managers, leading to a
more personalized recommender system functionality. We discuss
such future extensions of our work in Section 4.</p>
      <p>As discussed below, the small amount of data and the associated
prediction uncertainties meant that directly optimizing for expected
score was not highly efective in practice. Our eventual solution
CAndidate Ranking via Multi-model Aggregation (CARMA)
incorporated both ranking and multi-dimensional selection, targeted
specifically to enhancing protected group representation. This
paper describes the competition itself and the characteristics of the
data, our data management, preparation and modeling, leading to
the algorithm for candidate ranking and eventual selection.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>SIOP ML COMPETITION</title>
    </sec>
    <sec id="sec-3">
      <title>Overview</title>
      <p>The SIOP Machine Learning Competition is an annual contest that
focuses on the design and development of the best performing
algorithms for particular scenarios relevant to problems in
organizational psychology. The 2020-2021 edition of the competition was
organized jointly by Nick Koenig and Isaac Thompson of Modern
Hire, a Wisconsin based provider of recruiting and hiring solutions,
and hosted by EvalAI.1 The task in this edition was to use a training
data set of past hirees to build a system to identify potential hires
from among a collection of new candidates, and to do so in a way
that met a fairness criterion relative to a protected group.</p>
      <p>The competition proceeded in two phases. In the initial
development phase, teams could make predictions relative to a holdout set
and make up to 100 submissions to the EvalAI platform for scoring.
In the final test phase, teams had to make predictions against a
diferent holdout set. Only 5 submissions were allowed and each
team’s highest scoring submission in this phase was used to
determine the final rankings. The test phase was originally scheduled for
March of 2020. Because the 2020 edition of the SIOP conference was
canceled, the development phase of the competition was extended
1https://eval.ai/web/challenges/challenge-page/527/overview
to February 15 of 2021, with the test phase complete on March 14.
The full results of the competition are available on GitHub.2.
2.2</p>
    </sec>
    <sec id="sec-4">
      <title>Scoring</title>
      <p>The data for the competition is described in more detail below. Key
to the scoring of the competition however were three key
binaryvalued variables found in the training data, but omitted in the test
data:
• High Performer (  ): This rating was assigned by
managers to workers who were considered among the top
employees in their particular positions.
• Retained ( ): The time window for the evaluation was 6
months. Employees still with the firm after this period were
considered to be “retained”.
• Protected Group ( ): For privacy purposes, the categories
and values of personal and biographical data were obscured
in the data. For the purpose of evaluating the fairness
properties of the results, the data instead included a binary variable
indicating whether a candidate was a member of a protected
group.</p>
      <p>All submissions were scored using the diference between their
overall accuracy as a function of   and  (Equation 2 below) and
their unfairness as measured by adverse impact ratio, a function of
 (Equation 1 below ).3</p>
      <p>Let  be the total set of candidates among which the algorithm
is choosing. The competition required that this set be divided into
two subsets of equal size,  (those hired) and ¬ , not hired. The
score of a decision is determined by characteristics of the candidates
in  . Let   be the subset of  labeled by the supervisor as high
performing; let  be the subset of  labeled as retained. Finally,
let  be the subset of  that are members of the protected group.
The intersection between each of these sets and the hired group 
is denoted by the subscript:   =   ∩  .</p>
      <p>
        One goal of the competition was to achieve fair representation
of the protected group, the definition in this case, being
proportional representation in the  . The Adverse Impact Ratio (AIR) can
therefore be defined as
  = | |/| | (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
      </p>
      <p>|¬ |/|¬ |</p>
      <p>The organizers defined the accuracy  of the hiring
recommendations in terms of the   and  sets, with special attention
to their intersection   ∩  .</p>
      <p>
        = 1 |  | 1 | | 1 |  ∩  | (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
4 |  | + 4 | | + 2 |  ∩  |
      </p>
      <p>The final score  for each submission was a simple combination
of   and , with deviations from proportional fairness being
treated on par with accuracy loss.</p>
      <p>
        = 100( − |1 −   |) (
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
      </p>
      <p>Note that experimenters were only returned their score when
submitting a set of decisions against the test set. The components
of the score, such as the   or the   fraction among the hired
2https://github.com/izk8/2021_SIOP_Machine_Learning_Winners
3https://eval.ai/web/challenges/challenge-page/527/evaluation
predictions remained unknown, and thus it was not always easy to
tell how diferent algorithm variants were performing on the key
subtasks of the problem. Based on our own sampling of the data, it
was clear that both the initial and final phase test data sets were
fairly distinct from the training data, an additional challenge for
building a generalizable model.</p>
      <p>Because the test data was undisclosed, the practical upper bound
of the score is unknown, but was estimated by the organizers to
be around 80. The highest score in the development phase was
61.72. The winning score in the test phase was also in the low 60s:
62.53, achieved by a team from Bowling Green State University.
Our solution scored 62.50, less than 0.05% lower. We estimate the
diference between first and second place may have come down to
a single candidate diference between the two solutions.
2.3</p>
    </sec>
    <sec id="sec-5">
      <title>Data</title>
      <p>The data set provided for the propose of the competition contains
anonymized pre-employment assessment results for 48,602
entrylevel Walmart retail workers. This data consists of a training set
(n=44,102) as well as two smaller holdout sets (n=2,250 each). The
training and holdout data sets both contain individual responses to
assessment questions in four distinct categories. The key dependent
variable of   was provided only for a subset of the individuals
(n=12,390). The employee retention ( ) and protected group ( )
variables were included for the full population.</p>
      <p>Specific question text, data items, and personality scales
associated with the candidate profiles were not divulged, only raw data
and the associated category of information. They are listed here
with the number of variables in each category.</p>
      <p>
        • Situational Judgment (27): Candidates are described an
on-the-job situation and have to select an appropriate action.
Each situational judgement item yielded three variables. The
ifrst variable indicates which of the actions the candidate
was most likely to take. The second variable indicates the
action the candidate was least likely to take, and the third
item indicates the time the candidate took to answer the
question. Items are coded 1 to 4 for both most and least
likely and the time variable is in seconds.
• Scenario Interpretation (
        <xref ref-type="bibr" rid="ref18">18</xref>
        ): Candidates view a scenario,
then have to respond with the number of times that each
of the response options occurred during the scenario. There
are 8 options per scenario followed by a variable indicating
the time the candidate took to answer the question. Values
in the items range between 0 and 9. Values for time items
represent time taken in seconds.
• Biodata / Work History (
        <xref ref-type="bibr" rid="ref20">20</xref>
        ): Candidates read an item and
select a single response. The number of response options for
these items varies between 5 and 8.
• Personality/Work Style (55): These items have a bipartite
response format. Anchors appear above and below the item
and the respondent chooses a single response. The items
are grouped and labeled by subscale. There are 13 of these
subscales with varying numbers of items per subscale coded
1 to 4.
3
      </p>
    </sec>
    <sec id="sec-6">
      <title>OUR SOLUTION</title>
      <p>The CARMA solution had a number of steps detailed here. First,
missing data had to be imputed as a significant number of data
elements across all feature categories were blank, approximately
4.5% of the total. Then, we used predictive modeling to derive
predictors for the three key variables   ,  and  . Finally, we used
a spatial partitioning technique to rank and select the candidates.
3.1</p>
    </sec>
    <sec id="sec-7">
      <title>Feature Imputation</title>
      <p>
        Missing elements (except for the three key dependent variables) in
the training data were imputed using random forest imputation,
customized to the type of item. We used a random forest
implementation for missing data using the missForest [19] package from R.
We imputed values by sets of feature variables. In particular, we
imputed: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) all of the original 18 situational judgment and 20
biodata items together as nominal factors, (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) the 55 personality items
as ordinal factors, (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) the 16 scenario items as integer variables,
and (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) the 11 situational judgment and scenario time variables as
log-transformed numeric variables.
3.2
      </p>
    </sec>
    <sec id="sec-8">
      <title>Feature Engineering</title>
      <p>Our initial investigations using the raw data suggested that the
key dependent variables were dificult to predict directly from this
input. Using our knowledge of the diferent data types in the
input, we developed a set of transformation methods to create more
informative features from the initial data.</p>
      <p>• Situational Judgement: Recall that these questions required
the candidate to identify how they would be most likely
and least likely to respond in a given situation. We
understood that there was probably a “right” way to answer
these questions, and so users would be similar in how they
deviated from the general population. Therefore, we
computed the popularity of each choice and created features
for each user corresponding to the popularity (fraction of
occurrences) of their answers. This created 2 floating point
values (most/least) for each of the nine judgements.</p>
      <p>We used two strategies to combine these most/least scores
on each judgement, averaging them to reflect the mean
popularity of the candidate’s answer and also multiplying them
to amplify the efect of agreement or disagreement with the
overall population. This created an additional 18 features.
We found the time values to be very skewed with most
individuals answering quickly and a few taking longer. We used a
log transform of the time to create a more linear distribution
of values, creating 9 more features for these judgements.
• Scenario Interpretation: As above, for these interpretation
questions, we assumed there was a right answer and this
was majority response. Since these were scalar responses, we
calculated the absolute distance between the most common
value and that supplied by the candidate. We also used a log
transformation as above to process the time values.
• Personality: The 55 personality items were associated with
13 personality scales. We identified items whose values had
a negative first principal component loading for the scale
and we reversed those items scoring so that all associations
were positive. Then, the responses for the items of a scale
were averaged to create 13 personality scores.
• Biodata/Work History: The 20 biodata items were used in
their raw form and converted to dummy features. We also
created 5 categorical principal components using the Gifi
[11] package from R.</p>
      <p>The end result of the imputation and feature engineering stages
was a new training data set containing 195 (including biodata
dummy) features over the 44,102 candidates.
3.3</p>
    </sec>
    <sec id="sec-9">
      <title>Predictive Modeling</title>
      <p>
        Our team evaluated numerous predictive modeling strategies
during the development phase of the competition before deciding on a
particular solution for the test phase of the competition. To do our
predictive modeling, we used machine learning packages from both
Python [20] and R [15], while our ultimate solution relied on the
tidymodels [10] package from R. We converged on our particular
solution after considering five modeling decisions: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) How to treat
the three target variables? (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) What machine learning algorithms
to apply to the data? (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) How to select optimal values for
hyperparameters? (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) What features to select for the target variables?
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) How to evaluate the performance of our models before
submissions? We review our decision evaluation processes and our
ultimate decisions to these questions in this section.
      </p>
      <p>The first major predictive modeling question we considered
involved evaluating whether we should treat this as a single
multivariate prediction problem or as three separate univariate prediction
problems. The three target variables (  ,  ,  ) were all coded
as binary yes-no variables. Crossing the two levels for these three
variables creates eight groups, and, essentially, turns this into a
single multiclass prediction problem.4</p>
      <p>For this multiclass prediction problem, we evaluated how
successful various machine learning algorithms were at correctly
predicting which candidates belonged to the eight groups (i.e., we
estimated the probability of belonging to the eight groups for each
candidate). We compared this approach to an approach where we
treated each target variable independently from one another, where
we predicted the two levels of each target variable independently
of one another (i.e., we estimated the probability of belonging to
the yes category for each target variable for each candidate). The
multivariate prediction problem approach has the convenience of
considering which of the eight groups is most appropriate for each
candidate (i.e., the combined category with the highest
probability). Despite this convenience, we did not find success with respect
to our submissions during the development phase when
considering this as a multivariate prediction problem. Thus, we focused
on modeling each of the three target variables independently and
combining the resulting probabilities per our ranking methodology.</p>
      <p>
        Having characterized the problem as predicting the three
variables separately, we needed to determine what machine learning
algorithms to apply. We considered essentially two types of
algorithms: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) those that attempt to find interactions between features
and (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) linear algorithms. Among non-linear methods, we tried
random forests, gradient boosted machines, neural networks, bagged
4We also considered a sequential approach in which  was predicted first, but this
proved unreliable.
multivariate adaptive regression splines, support vector machines,
among other algorithms. With respect to the linear models, we
tried logistic regression, elastic nets, and linear discriminant
models. When evaluating the various algorithms against each other,
we relied on comparing them using standard hyper-parameters
(due to time constraints of the competition) and via tuning (using
multiple methods including grid search and simulated annealing)
of hyper-parameters. Across our various evaluations, on the whole,
we found elastic net models performed the best. In other words,
the elastic net linear models were able to perform as well and often
better than the machine learning algorithms attempting to
capitalize on any interactions between features. We think one possible
explanation for this result is that these particular features may not
be suficiently sensitive for interaction efects, given the limited
amount of data available and the fact that so many values were
imputed.
      </p>
      <p>
        Finding optimal hyper-parameters for any given algorithm
involved some trial and error. For instance, elastic net models come
with two hyper-parameters that require tuning: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) penalty and
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) mixture. We used simulated annealing [8, 9], a global search
algorithm, to assist in finding optimal values for the two
hyperparameters. We did discover that only particular combinations of
values for these two hyper-parameters resulted in optimal
scoring performance, during our development phase data submissions.
However, these optimal values of the test data were not the very
best values found by the simulated annealing search process over
the training data. Thus, as with other modeling decisions, the
discrepancy between training set and test set performance meant a
great deal of experimentation during the development phase.
      </p>
      <p>We explored a number of options for additional feature
selection and feature engineering once we had settled on the elastic
net model. However, we did not find any benefits to removing
feature variables based on relatively high inter-correlations between
themselves. Furthermore, we did not find any benefits to manually
constructing interactions between diferent sets of feature variables.
This second result converges with our finding that the machine
learning algorithms which attempt to find interactions among the
features variables did not perform better than linear additive
models. So, in the end, we had a total of 195 independent variables, and
three diferent elastic net models trained on with   ,  , and  ,
respectively as the dependent variable.</p>
      <p>
        To evaluate the performance of our models on the training data,
we used 5-fold cross-validation and tracked for each of the target
variables the following metrics: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) sensitivity, (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) specificity, (
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
positive predictive value, (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) negative predictive value, (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) the
jindex, (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) overall accuracy, and (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) the area under the
receiveroperator characteristic curve. For this particular problem, we found
maximizing the j-index (i.e., the sum of sensitivity and specificity
minus one) to be the most useful for model performance and best
correlated with the results from our test data submissions.
      </p>
      <p>The output of our elastic net models were in the range [0, 1],
which we interpreted as the inferred probability of each candidate
belonging to the yes category for each of the three target
variables. We refer to these outputs as ˆ(  ), ˆ( ) and ˆ( ). We
combined these three sets of probabilities to make our selection
decisions as described in the next section.
3.4</p>
    </sec>
    <sec id="sec-10">
      <title>Ranking Methodology</title>
      <p>Extensive study of the data sets and the predictive capacity of
our algorithms led to the conclusion that, while optimizing for
our probability of the   feature was efective at yielding high
scores for some components of the scoring function, simply sorting
candidates by this probability yielded a low score on the   part
of the function. In other words, the ˆ(  ) feature was skewed
towards the unprotected group, and, as noted above, the nature of
the scoring function meant that a high score required a very precise
balance between the protected and unprotected groups.</p>
      <p>
        The competition required entrants to divide the test set in half
and recommend placement for exactly half (1125) of the candidates.
Our solution to this aspect of the problem was as follows:
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Partition the candidate set  into two halves 1 and 2,
sorting by the ˆ(  ) variable and keeping the top scorers
in 1.
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) Construct a 3-dimensional space of the 1 partition using the
predictions ˆ(  ), ˆ( ), and ˆ( ), and from the corner
of the space closest to origin, identify an axis-aligned
rectangular partition 1 of 1 containing exactly  candidates.
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) Construct a 3-dimensional space of the 2 using the
predictions ˆ(  ), ˆ( ), and ˆ( ), and from the corner of
the space farthest from the origin, identify an axis-aligned
rectangular partition 2 of 2 also containing exactly 
candidates.
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) From 1, drop 1 and add 2, returning this set of candidates
as the desired hires.
      </p>
      <p>This process has several useful characteristics. First, it removes
from the high performer set only a small number of candidates.
This was appropriate because we knew that the candidate set based
on   prediction was fairly good, lacking only a small number
of protected candidates to achieve balance. The lower corner of
the 1 space is the one with the candidates least likely to score
well (lower ˆ(  ) and least likely to cause us to lose protected
group individuals (lower ˆ( ). The individuals added in from 2
would be close to 1 in terms of ˆ(  ), and they would have higher
likelihood relative to the other variables.</p>
      <p>The choice of a rectangular boundary has implications for
procedural fairness and also the explainability of the algorithm. All users
within a particular range of (predicted) scores are treated the same
by the algorithm. This would not be true if we had ranked the list
by expected score or if we had chosen a single candidate prototype
and sorted by distance from it.</p>
      <p>A sketch of the spatial search process is given in Figure 1. The
algorithm is choosing candidates to drop based on two dimensions,
 and . The user defines the shape, in this case expressing a 2:1
preference for  axis over  . Thus, the  height for the shape is
smaller: the algorithm will drop candidates with higher scores in 
before it will drop candidates with similar  scores. Assume that the
user also specifies 10 candidates to be dropped. The small version
of the shape contains only 2 candidates, too few; the larger-scaled
shape in grey encloses too many candidates. The binary search
yields the black bounding shape enclosing exactly 10 candidates.</p>
      <p>As a practical matter, the data will not always be distributed in
such a way that the minimum value in all dimensions is zero. To
preserve the preference relation encoded in the shape parameter,
therefore, it may be necessary to normalize or shift the data so that
the origin is a reasonable bound.</p>
      <p>The implementation of steps 2 and 3 of the algorithm outlined
above can be understood as a type of search over spatial partitions.
The experimenter identifies priorities to be associated with the
different dimensions in each of the 1 and 2 partitions, and the precise
number of candidates to swap. If too few candidates are swapped,
there is not enough “space” to improve the protected group
distribution. If too many candidates are swapped, other aspects of the
score will sufer.</p>
      <p>A tool in performing this work is the search algorithm described
in Algorithm 1. This algorithm eficiently identifies a boundary
containing  points in a multi-dimensional space such that the
boundary is proportional to the input shape. The input shape defines
the priorities to be placed on each dimension of the space and the
search determines how to scale the input shape to select the right
number of candidates.5</p>
      <p>Our implementation of this search in Python enables easy
experimentation with diferent tradeofs between  and the shapes
prioritizing diferent dimensions of the data. The computational
complexity arises in the implementation of the encloses function,
which is essentially a multi-dimensional range query, but this can
be optimized with a spatial data structure such as a k-d tree.</p>
      <p>Figure 2 shows a two-dimensional projection of the candidate
dropping phase of the operation using the SIOP data. Only the
ˆ( ) and ˆ( ) axes are shown. The left figure shows the full
data set with all the candidates and the selected candidates shown
in red. The right figure shows just the items in the inset box where
the boundary between selected and non-selected candidates can be
more clearly seen.
5A repository for our implementation of this algorithm can be found at
https://github.com/that-recsys-lab/ratchet-search. Note that this code difers from
that submitted to the SIOP competition in that this code is generalized to any number
of dimensions and allows for automatic, rather than manual, detection of segment
boundaries.</p>
      <p>Algorithm 1: Binary spatial search. The goal is to find a
uniform scale transform of shape that encloses exactly k
points . The scaleToFit function scales  such that all points
in  are enclosed.
input : shape , set of points ,  points to return
output : boundary =  × 
 ← scaleToFit(, );
scale ← 1;
i ← 1;
repeat
i ← i + 1;
if encloses(boundary, ) = k then</p>
      <p>return boundary
else if encloses(boundary, ) &gt; k then</p>
      <p>scale ← scale - 1/2 ;
else</p>
      <p>scale ← scale + 1/2
boundary ←  * scale;
until stopping condition;</p>
    </sec>
    <sec id="sec-11">
      <title>4 DISCUSSION</title>
      <p>Much of the recommender systems research in hiring has focused
on recommendations made to job seekers, in line with the RecSys
Challenge from 2016 and 2017 [1, 2]. The challenge of providing
recommendations on the employer side of the hiring process (also
known as e-recruitment) has received less attention. According
to the survey from Freire and de Castro [5], the major research
areas on the e-recruitment side have been around the extraction of
features to support candidate matching (from natural language, i.e.
resumes and job descriptions, and from social media sites).
Multiobjective ranking from candidate screening tests, which was our
problem here, has seen less attention. In addition, although fairness
is obviously a key (and often legally mandated) characteristic in
(a) All candidates.
(b) Close-up of lower left box.
hiring decisions, there has been little published research examining
fairness-aware HR processes from the employer side, no doubt due
to the sensitivity of the associated data.</p>
      <p>Characteristically for machine learning competitions, the
simpliifed and somewhat artificial nature of the problem leads to solutions
that are, to some extent, highly tailored to the competition objective
and not necessarily generalizable beyond it. However, there are
several directions that we see for future development and
generalization of CARMA.</p>
      <p>First, our solution is flexible with respect to the dimensions of the
model prediction space. The competition required that we predict
the “high performer”, “retained” and “protected group” features, and
the scoring methodology dictated the importance of high performer
as the first stage ranking function. However, any number of such
features deemed important by an employer could be employed. In
addition, user- or company-specific learning-to-rank could be
employed to take the place of the simple scoring procedure employed
here.</p>
      <p>Second, the multi-stage aspect of the system is specifically
targeted towards achieving protected group balance in a setting in
which the protected characteristic is unknown in the prediction
setting but known in the training data. More typical for the
algorithmic fairness setting would be one in which the protected feature(s)
are known. That simplifies the spatial partitioning task, as the exact
number of candidate “swaps” can be determined and there is no
uncertainty about the fairness properties of the resulting result
set. However, it is also possible that legal or internal guidelines
would prevent a candidate ranking algorithm from having access
to protected group data when making decisions, and in that case,
this feature would need to be modeled as it was here.</p>
      <p>A key element of the CARMA solution is the shape parameter
passed to Algorithm 1, which represents the user’s relative
preferences over the diferent dimensions of the candidates. This is a
hard constraint, as is the number of candidates sought within the
region. However, in a real situation, it might be desirable for the
user to explore the space of tradeofs in a more supported manner.
For example, the system could return a family of results based on
slight variations of the original shape specification. This would
be particularly important if the dimensionality of the space were
higher.</p>
      <p>It may also be the case that the dimensions and specific shape
of the data may render the origin-based approach implemented in
our spatial search inefective. For example, if data forms a “shell” at
some distance from the origin, it will not be possible to provide an
intuitive rectangular cut of candidates. Analysis of the distribution
of the data across the various candidate dimensions is necessary to
ensure the assumptions of this methodology hold. Extensions of
the technique to more complex shapes are also possible.</p>
      <p>The multidimensionality of the SIOP competition scoring
function was an important aspect of the competition. It is necessary
to manage the trade of between “high performer” and “retained”
because the very best employees are likely to move on from what
in this case are entry-level positions, and there is value in having
workforce stability. In this light, the value of the CARMA approach,
especially in the candidate swapping procedure, is that it
assembles a portfolio of individuals with characteristics in a desirable
range rather than assuming a prototype ideal worker against which
everyone is compared. This contrasts to a matching methodology,
which assumes a single candidate will be hired, based on best fit to
a job description, for example.</p>
      <p>One interesting challenge for a methodology like ours (and for
any result deriving from a competition like the SIOP one) is how
the solutions would fare when the dynamic nature of workforce
management must be considered. One could imagine a situation in
which only a percentage of the candidates is seen in a given time
period and the decision maker has to make a local online decision
without knowing who will show up in the next interval. It is unclear
what are reasonable fairness properties to expect in this context:
should every slate be balanced relative to the   criterion or is it
suficient that the total set of ofers be balanced in hindsight? These
are questions that practical deployments of fairness-aware systems
will require.</p>
      <p>A final limitation to note on the question of fairness is the
problem of representation bias [12] in the data supplied for the
competition. Only individuals actually hired by Walmart are represented
in the data supplied for the competition. Any system working from
this data would have no opportunity to learn from false negatives:
individuals who would have made great employees but were not
hired. Their personality traits, judgements and other characteristics
are not represented in the data and cannot be modeled, increasing
the chance that similar individuals will excluded in the future. The
competition therefore could be said to embody what O’Neil [13]
calls a “weapon of math destruction”, a positive feedback loop of
reinforced bias. It is an open question whether the efort to achieve
protected group balance in hiring recommendations is suficient
to break this loop, and this fact should give us pause about the
ultimate fairness of any associated solution.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Fabian</given-names>
            <surname>Abel</surname>
          </string-name>
          , András Benczúr, Daniel Kohlsdorf, Martha Larson, and
          <string-name>
            <given-names>Róbert</given-names>
            <surname>Pálovics</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Recsys challenge 2016: Job recommendations</article-title>
          .
          <source>In Proceedings of the 10th ACM conference on recommender systems</source>
          .
          <volume>425</volume>
          -
          <fpage>426</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Fabian</given-names>
            <surname>Abel</surname>
          </string-name>
          , Yashar Deldjoo, Mehdi Elahi, and
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Kohlsdorf</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Recsys challenge 2017: Ofline and online evaluation</article-title>
          .
          <source>In Proceedings of the eleventh acm conference on recommender systems</source>
          .
          <volume>372</volume>
          -
          <fpage>373</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Wilfried</given-names>
            <surname>De Corte</surname>
          </string-name>
          , Filip Lievens, and Paul R Sackett.
          <year>2007</year>
          .
          <article-title>Combining predictors to achieve optimal trade-ofs between selection quality and adverse impact</article-title>
          .
          <source>Journal of Applied Psychology</source>
          <volume>92</volume>
          ,
          <issue>5</issue>
          (
          <year>2007</year>
          ),
          <fpage>1380</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Mamadou</given-names>
            <surname>Diaby</surname>
          </string-name>
          , Emmanuel Viennet, and
          <string-name>
            <given-names>Tristan</given-names>
            <surname>Launay</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Exploration of methodologies to improve job recommender systems on social networks</article-title>
          .
          <source>Social Network Analysis and Mining 4</source>
          ,
          <issue>1</issue>
          (
          <year>2014</year>
          ),
          <fpage>227</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Mauricio</given-names>
            <surname>Noris</surname>
          </string-name>
          Freire and Leandro Nunes de Castro.
          <year>2020</year>
          .
          <article-title>e-Recruitment recommender systems: a systematic review</article-title>
          .
          <source>Knowledge and Information Systems</source>
          <volume>63</volume>
          (
          <year>2020</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Francisco</given-names>
            <surname>Gutiérrez</surname>
          </string-name>
          , Sven Charleer, Robin De Croon, Nyi Nyi Htun, Gerd Goetschalckx, and
          <string-name>
            <given-names>Katrien</given-names>
            <surname>Verbert</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Explaining and exploring job recommendations: a user-driven approach for interacting with knowledge-based job recommender systems</article-title>
          .
          <source>In Proceedings of the 13th ACM Conference on Recommender Systems. ACM</source>
          , New York,
          <fpage>60</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Nick</given-names>
            <surname>Koenig</surname>
          </string-name>
          and
          <string-name>
            <given-names>Isaac</given-names>
            <surname>Thompson</surname>
          </string-name>
          .
          <year>2021</year>
          .
          <article-title>The 2020-2021 SIOP Machine Learning Competition</article-title>
          .
          <article-title>Presented at the 36th annual Society for Industrial and Organizational Psychology conference</article-title>
          , New Orleans, LA.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Max</given-names>
            <surname>Kuhn</surname>
          </string-name>
          and
          <string-name>
            <given-names>Kjell</given-names>
            <surname>Johnson</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Feature engineering and selection: A practical approach for predictive models</article-title>
          . CRC Press. http://www.feat.engineering/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Max</given-names>
            <surname>Kuhn</surname>
          </string-name>
          and
          <string-name>
            <given-names>Julia</given-names>
            <surname>Silge</surname>
          </string-name>
          .
          <year>2021</year>
          .
          <article-title>Tidy Modeling with R</article-title>
          . https://www.tmwr.org/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Max</given-names>
            <surname>Kuhn</surname>
          </string-name>
          and
          <string-name>
            <given-names>Hadley</given-names>
            <surname>Wickham</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Tidymodels: a collection of packages for modeling and machine learning using tidyverse principles</article-title>
          . https://www. tidymodels.org
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Patrick</surname>
            <given-names>Mair</given-names>
          </string-name>
          , Jan De Leeuw, and
          <string-name>
            <given-names>P</given-names>
            <surname>Groenen</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Gifi: Multivariate Analysis with Optimal Scaling</article-title>
          .
          <source>R package version 0.3.9.</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Ninareh</surname>
            <given-names>Mehrabi</given-names>
          </string-name>
          , Fred Morstatter,
          <string-name>
            <given-names>Nripsuta</given-names>
            <surname>Saxena</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Kristina</given-names>
            <surname>Lerman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Aram</given-names>
            <surname>Galstyan</surname>
          </string-name>
          .
          <year>2021</year>
          .
          <article-title>A survey on bias and fairness in machine learning</article-title>
          .
          <source>ACM Computing Surveys (CSUR) 54</source>
          ,
          <issue>6</issue>
          (
          <year>2021</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Cathy O'Neil</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Weapons of math destruction: How big data increases inequality and threatens democracy</article-title>
          .
          <source>Crown.</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Robert</surname>
            <given-names>E</given-names>
          </string-name>
          <string-name>
            <surname>Ployhart and Brian C Holtz</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>The diversity-validity dilemma: Strategies for reducing racioethnic and sex subgroup diferences and adverse impact in selection</article-title>
          .
          <source>Personnel Psychology</source>
          <volume>61</volume>
          ,
          <issue>1</issue>
          (
          <year>2008</year>
          ),
          <fpage>153</fpage>
          -
          <lpage>172</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>R Core</given-names>
            <surname>Team</surname>
          </string-name>
          .
          <year>2021</year>
          .
          <article-title>R: A Language and Environment for Statistical Computing</article-title>
          . R Foundation for Statistical Computing, Vienna, Austria. https://www.R-project. org/
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Manish</surname>
            <given-names>Raghavan</given-names>
          </string-name>
          , Solon Barocas, Jon Kleinberg,
          <string-name>
            <given-names>and Karen</given-names>
            <surname>Levy</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Mitigating bias in algorithmic hiring: evaluating claims and practices</article-title>
          .
          <source>In Proceedings of the 2020 Conference on Fairness, Accountability</source>
          , and
          <string-name>
            <surname>Transparency</surname>
          </string-name>
          (Barcelona, Spain) (FAT* '
          <volume>20</volume>
          ).
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <fpage>469</fpage>
          -
          <lpage>481</lpage>
          . https://doi.org/10.1145/3351095.3372828
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17] Ann Marie Ryan, Robert E Ployhart, and Lisa A Friedel.
          <year>1998</year>
          .
          <article-title>Using personality testing to reduce adverse impact: A cautionary note</article-title>
          .
          <source>Journal of Applied Psychology</source>
          <volume>83</volume>
          ,
          <issue>2</issue>
          (
          <year>1998</year>
          ),
          <fpage>298</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Javier</given-names>
            <surname>Sánchez-Monedero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Lina</given-names>
            <surname>Dencik</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Lilian</given-names>
            <surname>Edwards</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>What does it mean to 'solve' the problem of discrimination in hiring? social, technical and legal perspectives from the UK on automated hiring systems</article-title>
          .
          <source>In Proceedings of the 2020 Conference on Fairness, Accountability</source>
          , and
          <string-name>
            <surname>Transparency</surname>
          </string-name>
          (Barcelona, Spain) (FAT* '
          <volume>20</volume>
          ).
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <fpage>458</fpage>
          -
          <lpage>468</lpage>
          . https://doi.org/10.1145/3351095.3372849
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Daniel</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Stekhoven</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>missForest: Nonparametric Missing Value Imputation using Random Forest</article-title>
          .
          <source>R package version 1</source>
          .4.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Guido</surname>
            <given-names>Van Rossum</given-names>
          </string-name>
          and
          <string-name>
            <surname>Fred L. Drake</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Python 3 Reference Manual</article-title>
          . CreateSpace, Scotts Valley, CA.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>