Report · updated hourly

The State of the ATS

Everyone repeats the same unsourced statistics about résumé screening. We had a better idea: publish what we can actually measure. This is aggregate, anonymous data from real résumé checks run on Past the Bots — how cleanly résumés parse, how well they match the jobs they're sent to, and where it goes wrong.

50
Résumés analyzed
Anonymous, aggregate — counts only
82
Median parse health
Out of 100
14%
Don't read cleanly
Scored under 75 on parse health
Median job match
Not enough JD comparisons yet

Parse health across 50 résumés

How cleanly an ATS extracts a résumé's fields. Low scores mean the machine is losing your name, contact details, or whole sections.

Risky14%Reads clean86%
0255075100
Share of résumés by score. Median 82, middle half 77100, from 50 scored résumés.

How this was measured

  • What it is. Every résumé checked on Past the Bots contributes its parse-health score, and its job-match score when a job description was supplied, to an anonymous histogram. We store counts only — never résumé text, never identity.
  • Parse health is our deterministic measure of how much of a résumé an ATS recovers: contact fields plus recognizable sections, penalized for the structures parsers mishandle (multi-column layouts, tables, text inside images, scanned files).
  • Role families are assigned by keyword from the job description or résumé text. They're a coarse peer group, not a job-title taxonomy.
  • What it isn't. This is a sample of people who chose to check a résumé, so it skews toward active job seekers who suspected a problem. It is not a random sample of all résumés, and we don't claim it is. We publish a family only once it clears a minimum sample, and we don't quote statistics we can't compute from this data.

Where does your résumé land?

The numbers above are the distribution. This is how you find your spot in it.