How we improved the recruitment process with a machine learning solution

Since people are the key resource in any organization, it’s important to hire the best industry professionals. This is not only about having the most seasoned specialists with numerous skills and long lists of achievements but rather more about quickly finding a perfect match for the opened vacancy.


YSBM Group is not an exception. Since our team is our biggest asset, recruitment is a critical process that contributes to the company's growth and success.
However, sometimes the search for the right people can be time-consuming and expensive. In this case, a machine learning solution, which is able to analyze and estimate candidates, may come in handy.


Why did we decide to build a machine learning tool?

HR managers generally have to manually complete various routine tasks while looking for and interviewing candidates. This also frequently requires the involvement of top management. As we have faced these issues, we wondered how we could improve and automate our HRM workflows?


As the recruitment process in our firm is fairly standardized and routine, we decided to optimize it by using Artificial Intelligence in software development.


Our team began with creating a proof-of-concept to check the idea of a machine learning solution and understand how to extend it. In the future, this PoC was intended to deliver value to other businesses, too. Our main objective was to test the power of an Artificial Intelligence product to meet our current HRM needs and then help our customers with the same problems.


When it comes to machine learning software development, a common question is where to start. Picking specific libraries, the best ML models, architecture? Too far, too fast! 


Fortunately, we are not just a team of skilled engineers whose only goal is to write technically perfect code, and software development is not the only thing that we do! 


Running other businesses taught us to stay focused and prioritize things on the 'to-do' list, estimate potential outcomes of every feature, and choose the optimal solution in the context of strategic and operational business goals, available resources, and timing. Yep… no coding but first defining the problem(s), planning the work, and designing the app!


Issues we had before making a machine learning tool

After investigating our HRM processes, we outlined out the following challenges:


  1. As long as only one specialist was responsible for completing all HR tasks, this initial recruitment step always required attention and verification from a senior manager and CTO (when hiring developers and testers).

    Since their time is expensive, the aim of a machine learning solution was to optimize it, as well as automate some routine and manual HR operations.

  2. The process of seeking, interviewing, and evaluating applicants was time-consuming. Sometimes we lost the opportunity to hire the best specialist due to the long and complex nature of the search. In our custom software development company, we generally receive plenty of job applications and resumes that have to be reviewed and analyzed.

    Here an HR manager prepares the list of people whom we want to interview, a schedule of meetings with them, and the list of suitable candidates.

    As all of these operations consumed a lot of time and careful decisions, it was important to prevent any delays in order to avoid losing a perfect applicant.

    With solid experience in software development, we understood that a machine learning tool can successfully solve all of these problems.


The main goal of a machine learning solution

Our goal was to create a machine learning solution for HR managers, called Intelligent Job Application Manager (iJAM). The product would consist of a simple user interface for improving and automating the recruitment process.


It would allow transmitting and storing initial data about candidates. This information would be analyzed by a machine learning model to enable the evaluation of each potential employee with scoring algorithms.


These algorithms would indicate the level of the applicant’s match to a specific job position. The final ML product must be easy to use and maintain. 


Take a look at how a machine learning solution works:



To build a machine learning solution, we determined:

  • iJAM workflow—what processes and stages occur in each product module.
  • Input—what a machine learning module receives at the input: what kind of data, with what structure, of what quality, in what format, etc.
  • The best expected output—the best possible result we wanted to achieve. In our case, this was a web interface with a list of candidates for each position, vacancies they apply for, score, contacts, and other important information. Furthermore, a machine learning solution had to enable data analytics and push notifications.


In addition, our experts defined:

  • The target audience and product use cases—who will be using a machine learning solution and how.
  • How to measure the impact on business—KPIs.
  • The procedures for validating the app concept and enhancing a machine learning solution to improve the end results. 


The key performance indicators

Before creating a machine learning solution, we defined the most important business metrics to evaluate the final results:

  1. The ratio of provided candidate scores (by a machine learning model) that we measured after the next recruitment stage. This metric was also used as feedback to adjust the model's quality.
  2. Time saved by senior management for evaluating and approving initial candidates.
  3. Time saved by recruitment/HR managers during interviewing of “unsuitable” candidates.
  4. The optimized recruitment process due to reducing manual actions.
  5. Improved speed to identify and hire the best candidates (a qualitative metric that we decided to keep).


Machine learning solution development

As a machine learning solution was intended to operate with the information of hundreds of applicants, we needed to integrate a database for keeping it. Not having properly collected data stored in a suitable way that can be further re-used became one of the most important challenges in the process of iJAM module development.  


To create a proof-of-concept of our machine learning tool, we needed our data to be relevant and tied to our candidates’ selection methodology. Furthermore, it had to contain ALL required 'parameters' related to our recruitment process.


The first thing to do before making a machine learning solution: prepare your company's data strategy as soon as possible to benefit from its usage in the future.


At this point, we dived into building a proof-of-concept that was supposed to analyze the given information and calculate the candidates’ scores. Our specialists also defined acceptable technical success metrics values representing results that we aimed to obtain.




Designing a PoC of a machine learning solution was easy and rather fast, although it required some preparation (it is often a time-consuming task but, in our case, we had little data, so we did it rather quickly): checking anonymized (no need to store personal data!) records for missing values, outliers, as well as unusable records.  


As a result, we received a polished dataset with a bunch of parameters, like candidate's skill set/technology stack, experience in years, achievements, salary expectations, and others which we used to implement data analytics. 


One of the top-priority and most time-consuming tasks was to check how values are distributed, whether there was a correlation between them, and how they affect the overall quality of machine learning models. 

First and foremost, our machine learning engineers tried to apply the simplest ML models right away. Since the obtained outcome wasn’t satisfactory, we dived deeper into the research process and feature development.  


At the end of this stage, we decided to employ two types of machine learning models: Random Forest and XGBoost as they had proved a high level of quality and interpretability. 


Our experts began with creating a Classifier model for segmenting numerous candidates. However, it didn’t provide the expected outcome, so we moved away to a Regressor model that let us use meaningful numerical values. 


As a consequence, our team achieved great technical success metrics values—accuracy score of about 83% and error on the level of a couple %—to continue building a machine learning model.



Features correlation heatmap


Implementing a complex business logic of a machine learning solution was challenging as well. The system was supposed to have sophisticated analytics and scoring algorithms. Initially, we had a limited set of uniform data which was insufficient to use to achieve automation. Using ML models, we extracted the maximum value from them. 


Then, the majority of the initial features were categorical (the segmentation of all candidates by scores—involving score calculations—vacancies, desired salaries, and many other parameters), and the primary goal was to understand to which 'class' each candidate belongs.


Using the Python programming language and Flask framework, our engineers created a web interface of a machine learning solution allowing HR managers to:

  • Manually choose the candidate's parameters from the list.
  • Fill out the form manually or share it with candidates, so that they were able to fill the required information and upload CVs.
  • Import CSV files for bigger candidate lists exported from other recruitment tools or software systems. 


Once the development and testing were completed, we released an advanced machine learning solution, called Intelligent Job Application Manager, and applied it to our HRM processes.





The delivered machine learning solution consists of:


  • Web user interface for data display
  • Database for storing information
  • Machine learning algorithms for enabling analytics and scoring functionality






Quantitative outcome:

  • The involvement of senior management in the recruitment process was reduced by 15 minutes per candidate. 
  • The participation of HR managers in the recruitment process was reduced by at least 10 minutes per candidate.
  • The information flow has been optimized due to automatic notifications about the most interesting candidates (as soon as an iJAM system receives a job application, it transmits them to the manager if they correspond to the requirements).


Qualitative outcome:

  • Since the recruitment process has been optimized, there is no more need to engage executives in its early stages.
  • Using an advanced machine learning solution, our company improved candidates’ data analysis and management, simplifying the work of our HR specialist.
  • With the delivered machine learning tool, we reduced the time spent on searching and evaluating applicants.
  • We proved our hypothesis that even a simple machine learning solution can help achieve business goals and increase efficiency.

With an overall project scope of around 80 hours for technical work and 20 hours for analytical activities, meetings, and planning we all agreed that this result is more than satisfying.



With the delivered machine learning solution, we’ve accomplished our business goals and improved the overall recruitment process. Certainly, there are many things that can be implemented depending on the amount of data, the necessity to add new managers to the system, and the requirements of potential customers.


Thanks to thoughtful analysis of HRM operations and work planning, our team met all the KPIs set for this machine learning project. Therefore, if you are going to develop a new feature, a module, or a complex application, start with defining your business-specific needs and goals.

If you have questions about this machine learning solution, have similar HRM issues, or want to receive a consultation, drop us a message Our software development team will get back to you within 24 hours!

Views: 4117
Rate this article
4.75 / 5 Article rating
20 Reviews
Have a project idea? Contact us!
Use our extensive experience in software development and consulting to get your business challenges solved!
Your budget
About you