How do you find the right candidate already in your ATS?
Every position leaves a few hundred resumes in the ATS, and most are never looked at again, although many of those people fit the next role better than the one they applied for. Finding them is a retrieval problem, and keyword search is poorly suited to it.

An archive of unread candidates
Most of an ATS isn’t a record of rejections. When a role draws 500 applicants and a recruiter can properly read about forty (here’s why), the other 460 go into the archive unassessed. Repeat that across a year of positions, and most of the database has never had a proper read.
Many of those who were read weren’t wrong either. They missed that position on budget, start date or one missing skill. Six months later a new position opens with different requirements, and the same person is a near-perfect fit.
Why keyword search misses them

Keyword search matches the tools a candidate names. Fit usually lives in the work they did, and the same work gets described in different words. Two engineers with eight years each of building CI/CD pipelines might write “Jenkins” and “GitLab CI”. A search for one never surfaces the other.
The same gap appears with job titles that vary by company, older names for tools, and experience written as outcomes rather than technologies. It widens with seniority, because experienced people tend to describe what they achieved rather than list what they used.
The cost of not finding them
When the archive can’t be searched well, the default is to source from scratch through job boards, sourcing tools or agencies. The firm pays again to find people it has already paid to attract.
Past applicants are also the warmest candidates available. They chose to apply once, which no cold-sourced profile has done.
How to search an archive by fit

- Describe the work, not the keywords. Write the requirement as what the person needs to have done, such as “built and ran CI/CD pipelines for multi-team releases”, then match candidates on that.
- Pull wide. Retrieve a broad set rather than exact keyword matches, so vocabulary doesn’t decide who gets considered.
- Rank by fit. Score the pulled set on the work, so the best matches rise to the top and near-misses stay visible instead of being filtered out.
- Re-confirm screening data. What a candidate told you six months ago may no longer hold. (A later article in this series covers how to do this at scale.)
- Reach out as a past applicant. Saying so up front makes the conversation easier than a cold approach.
Key takeaways
- At 500 applicants and about forty proper reads per role, 92 in every 100 resumes go into the archive unread.
- Wrong for one position is often right for the next.
- Keyword search matches tools; fit lives in the work, which people describe in different words.
- Sourcing from scratch pays twice for candidates you already had.
- Search wide, rank by fit, refresh screening data, then reach out.
Where Sivett fits
Sivett, an AI recruitment platform for IT services firms, finds past applicants by the work they’ve done, not the words they used.
- Search by fit, not keywords. Sivett’s sourcing searches the candidates you already hold by meaning, so an engineer who describes eight years of CI/CD work in different words still surfaces for the role.
- Past applicants compete on equal terms. Once found, they’re scored the same way as fresh applicants: technical depth, pedigree, career progression and project complexity. A strong profile from last year ranks where it deserves to.
- Old details get refreshed before they cost you. Anyone who makes the shortlist is sent the screening questions again, so nobody is shortlisted on last year’s screening data.
- Applicants to the role arrive on their own. Everyone who applies through your ATS is read and scored, with no export or upload.
Read more about candidate matching and candidate screening.
Next in this series: How much billable engineering time do first-round interviews cost?