Using Recommender Systems to Improve Job Search with the JumpStart Platform

Tay Mingfang
DSAID GovTech
Published in
9 min readDec 3, 2021

Contributors: Clarence Ng (GovTech), Elizabeth Lim (GovTech), Tay Mingfang (GovTech)

Finding a job can be exhausting. The job search process involves sieving through hundreds of options, keeping track of multiple applications and interviews, and managing the stress and anxiety that comes with finding the right job out there. Things would be a lot easier if only we knew exactly where to search.

If you’ve ever felt frustrated with the job search process, you’re not alone. At a macro level, the Straits Times reported that about 88,600 residents were unemployed in May 2021, with a 3.8% unemployment rate for Singapore residents. Delays in securing jobs result in lost income and can cause stress and anxiety for jobseekers. Delays in hiring affect employers as well, as important work gets delayed because of the lack of skilled labour. And for Governments, it would be ideal to minimise unemployment to ensure a healthy economy.

The field of Search Theory can be applied to job markets, with the term “job search frictions” used to describe the obstacles that jobseekers face in finding suitable jobs. Examples of such frictions include the tedious process of searching through job listings and uncertainties in whether a job offer is the right fit. As a result of job search frictions, jobseekers can take a longer time than expected to find jobs (frictional unemployment) or end up accepting jobs that might not be the best fit for them (underemployment).

When we look at this issue, we wonder whether methods in data science can help. Problems in search and matching are not unique to the job search process. Specifically, Recommender Systems developed by the private sector today are very powerful in matching people with relevant goods and content, helping to make the process of consuming their products as frictionless as possible.

JumpStart is a platform that we at DSAID are building to reduce job search frictions using data science. We believe there are opportunities to apply cutting edge techniques in data science, particularly in recommender systems, to improve the job search process. The JumpStart platform ingests datasets from across Government to build data science models, and then deploys them as machine learning microservices which products can tap on to improve job search.

In this series of blogposts, we share about the work that we have done so far, and some of the interesting technical challenges we have tackled and continue to think about. This first post will talk about the high-level product vision and approach, while subsequent blog posts cover the data science and engineering aspects in further detail.

Machine (learning) over man?

Data science is not a silver bullet — there is no guarantee that we can improve processes just by “data science-ing it”. As with all data science projects, we found it useful to go one level deeper to ascertain what parts of the job search process we hope to improve and how we could go about doing so. Based on our studies, we identified two key pain points for which we think data science can potentially be a game-changer.

The first is the problem of search costs. One big component of search costs is the time and effort spent browsing through job postings, studying lengthy job descriptions, and deliberating over whether the job is suitable. This can be a tedious and tiring endeavour. The MyCareersFuture portal, for example, contains more than 72,000 open job postings on a given day (at time of writing), and each search query can return upwards of 1,000 job postings. In practice, due to the tedious nature of manual job search, jobseekers only consider a subset of the available options, which affects the optimality of their eventual decisions.

Enter data science. Whereas manual human evaluation of each job posting takes a few minutes on average, recommender systems can parse through all available job postings and identify the most promising jobs for us, all within seconds. This can be done by tapping on the wide range of signals that jobseekers provide on their skills and preferences. Signals can be explicit or implicit. Explicit signals refer to data sources such as CVs and skills profiles that jobseekers intentionally provide to improve the quality of recommendations that they receive. Implicit signals refer to other data sources that were not provided for the purpose of generating recommendations, but provide insights into jobs that might be suitable for a jobseeker. These include past search queries, job views, job applications and their various permutations (eg. jobs recommended but not viewed, jobs viewed but not applied). Put together, these data sources can be used to identify job options that are a better fit for the jobseeker’s preferences and skills.

To be clear, the jobseeker would still have to review and decide whether to proceed on the jobs recommended to them, but a well-designed model can significantly reduce their time spent searching, allowing them to concentrate on other aspects of the process such as preparing for interviews.

The second pain point is the issue of information gaps. Beyond expending time and effort, identifying the right job also mean considering many factors, some of which involve information that the jobseeker might not have access to. For example, jobseekers might not realise that they are applying for jobs in industries or occupations that have a huge excess of applicants compared to available roles. They may also possess transferrable skills that are valued in other adjacent sectors or occupations with good growth prospects, making a job switch possible with some training. In contrast, when we build recommender systems, we can incorporate datasets that capture these factors in recommendations that are generated.

Figure 1: Applications per job posting across different industries on MyCareersFuture. While jobseekers might have “preferred” industries, they might be able to increase their chances by applying to other industries where competition is less stiff. We can help by making such information available and incorporating them into recommender systems.

Putting together these points, we see the potential to build recommender systems that could improve job search by making it faster (by reducing search costs) and better-informed (by reducing information gaps), as compared to pure manual processes.

JumpStart: A Central Platform for Job Search Microservices

Up to this point, we have focused mainly on the potential of data science models to value-add to the job search process. However, far more work has to be done to integrate these models into live production systems, where they can make a real impact on our jobseekers. The process is not easy — in fact, it has been reported that 9 in 10 data science projects never make it to production. (source)

In addition, we had to think of how to productionise not just a single data science model, but multiple different types of models to support job search. For example, besides job recommendations, we might also want to provide course recommendations to those who might benefit substantially from upskilling (by gaining access to far more jobs). Also, if there are jobseekers who require more assistance in their job search, we might want to recommend career coaching so that they get required assistance early. There is a wide range of data science models that we can apply at various parts of the process to better help our jobseekers.

Therefore, the team faced the challenge of devising a solution to enable multiple data science models to be produced quickly and sustainably, to maximise the impact of the work. What follows is a set of design considerations that underpin the JumpStart platform that we built to enable the deployment of data science models to support job search.

Figure 2: JumpStart Platform at a glance

Centralised Platform for Modelling and Deployment: We quickly established that it would be inefficient to build bespoke deployment solutions for every single data science model that we wanted to productionise. Instead, we can consolidate the effort and do it once on a central platform that then supports the deployment of all the various models that we need to deploy. Over time we found that this has led to many benefits:

  • “More Data = Better Machine Learning”. Consolidation of data into a central platform allows us to use more factors and signals in our models to create sharper recommendations. We want to ensure that our data scientists have access to as much data as possible for their work.
  • Insights and useful outputs generated by one model can be shared and used by other models.
  • Model deployment tools and infrastructure can be set up once, with a common library of functions and utilities that data scientists can tap on to easily deploy their models. On top of these, we also built supporting functions such as error detection pipelines to fix data errors, an A/B testing framework to compare models, and performance reporting tools to keep track of how the models are performing.

Microservice Approach: At the same time, we avoided attempting to build a grand, all-encompassing system that tries to solve all job search problems independently. Building such a system would be a massive endeavour, requiring expertise beyond our team at DSAID. Furthermore, it would ignore the already crowded ecosystem of existing products and solutions that support job search and upskilling (job portals, applicant tracking systems, resume builders, online learning platforms, etc.). Instead of replicating work that has already been done, we found it more meaningful to build microservices that would be useful for the existing ecosystem.

We can understand the microservice concept by breaking the term down into parts and discussing its meaning in JumpStart’s context. “Micro-” means that JumpStart does not by itself provide a full-fledged solution for job search, but rather works in tandem with other products in the ecosystem to do so. The team focuses primarily on building powerful machine learning models such as job / course recommender systems, and does not engage in UI design, front-end development, crafting of policies and support schemes — these are left to other teams which have far greater expertise in these areas than we do. “-service” refers to JumpStart’s goal to make the incorporation of these machine learning models as effective and easy as possible for any product in the ecosystem that requires it. The JumpStart platform will perform all the hard work of ingesting and cleaning relevant datasets, building machine learning models, testing and improving them, and then deploying them, and make the outputs easily accessible via simple APIs that other products can integrate with easily.

Figure 3: JumpStart integrates with other systems via lightweight APIs (diagram illustrates the job recommender microservice). As long as both parties conform to the API specifications, development work can proceed independently, minimising coordination overheads.

In approaching our product this way, we’ve noticed some key benefits:

  • Reusability across different products and domains: In addition to the MyCareersFuture job portal, there are many areas across the public service where it would be useful to provide good job recommendations to citizens. This could include tools for career coaches and ambassadors, or targeted eDMs to recently retrenched workers and new graduates. Ultimately, a well-defined and loosely coupled microservice can have extended reach, amplifying our impact.
  • Integration in a complex tech ecosystem: JumpStart not only exists in the crowded space of labour market products (both public and private), but also has to consider how it fits into the Singapore Government tech stack and other citizen-facing services. If we were to tightly integrate JumpStart with each of these products, it would create massive coordination overheads. Instead, as long as parties conform to the API specifications, development can proceed independently and efficiently.
  • Team expertise and specialisation: By splitting roles and responsibilities with other products in this manner, we can specialise in machine learning modelling and data engineering work and focus on doing it really, really well (just this in itself is a massive challenge, but we see the value in pushing the boundaries in this space).

Conclusion

The recent wave of digitalisation might have created pressures on the job market, but it has also provided us with the tools and opportunity to create innovative and impactful solutions. JumpStart continues to be an evolving product, as temporal challenges arise (e.g. the sudden recession due to Covid-19), and we plan for long term shifts in the landscape (e.g. encourage upskilling as the new norm).

In the other posts in this series, we share and discuss some of the challenges and successes we’ve had working on the specific domain of job recommendations, from both data science and engineering perspectives.

We hope you’ve enjoyed learning about our work, and if you have any feedback or suggestions, let us know what you think! We’d love to hear from you.

P.S. Our team is currently looking to hire across all roles! If this work sounds interesting to you, check out our job postings here or reach out at recommender@dsaid.gov.sg.

--

--