Should we really interview only 37% of your job candidates? The 37% Rule Explained

Asad Ali
3 min readAug 10, 2022
Photo by Markus Winkler on Unsplash

Choosing something from many alternates is always challenging, as is knowing when to stop searching for the perfect solution. In computer science terminology, this is called optimal stopping

Optimal stopping is a long-standing problem involving when best to give up searching for the best possible match. It is relevant not only to computer scientists but to employees seeking to select the right candidate or potential homeowners to choose the best house

37% Rule derives from optimal stopping's most famous puzzle, which has come to be known as the "secretary problem" published in the 1960s. Imagine you're interviewing a set of applicants for a position as a secretary, and your goal is to maximize the chance of hiring the single best applicant in the pool.

An optimal search will require you to balance stopping early and stopping late while looking for the best candidate as it turns out, as per the math, 37% is the optimal line between the look and leap approach. As the number of candidates increases, the randomness increase, and the chances of getting "the one" also decreases however it starts to converge to a single value of around 37%.

So should we only consider only 37% of the candidates in a job search? Let's test using some basic python tools.

Let's create a simple test version, assuming we rank the candidates from 0 to 100 based on their abilities. Obviously, in these tests, we will take a cost associated with every interview conducted so that we cannot infinitely wait. Furthermore, I will create some test windows from 10% to 70% to test how sharply the final average score value will vary based on our stopping decision. We will create a "findmaxwithinwindow" function as well to find the maximum score within the window.

Testing for a sample of 1000 candidates

The final average maximum score per window is plotted above for a sample of 1000 candidates and after 300 random experiment trails. We can see that the gradient or slope drops off after about 400 window sizes, supporting the 37%. Hence we can just interview 400 candidates for the job.

We can create a more complicated experiment for multifactor and weighted criteria. Each candidate is selected on 10 different attributes based on random weights and then summed up to get the final score. For getting the random weights, I used the Dirichlet distribution function provided by NumPy. We will generate the random scores for 100 candidates in 10 criteria and then take the dot product with Dirichlet weighted array. This is to mimic the different weights which might be assigned to different job function or selection attributes by the employeer

The final shape is similar to the simple example; however there is a more significant variation in slope due to multiple attributes observers for each candidate. Hence given the cost of selection, 37% rule might be a good approximation for selection strategy in scenarios where numbers are typically drawn from a similar distribution or simpler scoring strategies are used.

--

--

Asad Ali

Data Science, Analytics, and Machine Learning Professional.