ATS Guides

How ATS Systems Actually Work (And How They Filter You Out)

A technical breakdown of how Applicant Tracking Systems score resumes, why qualified candidates get auto-rejected, and what keywords the algorithm actually scans for.

· RiggedResume

The 6-second scan that decides your career

Your resume gets between 6 and 30 seconds in front of the ATS. Not a human. A parser + scorer — two pieces of software that do the same job 95% of HR departments used to do by hand.

And unlike a human, they don't care about:

  • Your credentials
  • Your years of experience
  • Your portfolio
  • Your cover letter

They care about one thing: does the text in your resume match the text in the job listing?

That's it. That's the game.

What actually happens when you click "Submit"

Here's the exact sequence:

  1. Parser extracts the text from your PDF, docx, or HTML resume
  2. Tokenizer splits the text into words, phrases, and n-grams
  3. Entity extractor tags entities (company names, job titles, technologies, certifications)
  4. Scorer compares your extracted entities against the job description's required entities
  5. Ranker sorts you against every other applicant by match percentage
  6. Cutoff — anyone below the threshold (usually 60-80% match) never reaches a human

The threshold is set by the hiring company. Some set it low (50%) so humans review more applications. Most set it high (70-80%) to reduce noise.

The fundamental flaw

Here's what the algorithm can't do:

It can't tell that "managed a team of 5" means the same thing as "led 5 direct reports." Unless the ATS has a synonym dictionary (most don't), those are two different strings.

It can't tell that you built an e-commerce platform when the job listing says "consumer web applications." Different words, same work.

It can't tell that 8 years at a no-name company producing the same output as 2 years at Google is worth more than the headline.

The algorithm doesn't understand meaning. It understands keyword density.

What the algorithm actually scores on

From reverse-engineering how Workday, Greenhouse, Lever, iCIMS, and Taleo parse job listings, there are five scoring dimensions:

1. Required keyword presence (40-50% of score)

Did you include every "required" skill listed in the job description? If the listing says "Python, SQL, AWS" and you only have "Python" on your resume, you're already at 33% on this dimension.

2. Keyword frequency (15-25% of score)

How often does the keyword appear? A mention of "Python" once in a skills list scores lower than "Python" appearing 3 times across different roles and projects. This is why "stuffing" keywords in a single line doesn't work — the algorithm wants distribution.

3. Title and section placement (10-20% of score)

Keywords in your job titles and section headers weigh more than keywords in body text. "Python Developer" as a job title scores higher than "worked with Python" in a bullet.

4. Years of experience (10-15% of score)

The algorithm looks for date ranges near skill mentions. If the job wants "5+ years of Python" and your resume shows Python mentions spanning 2019-2026 (7 years), you match. If your Python mentions only span 2023-2026 (3 years), you don't.

5. Education and certifications (5-10% of score)

Degrees and certifications are scored as binary matches. "MBA required" — either you have it or you don't.

Why you're getting auto-rejected

Here's the painful truth: you're probably qualified for most of the jobs you're applying to. The algorithm just doesn't know it.

If the job listing says "Agile" and your resume says "Scrum," you might lose 5-10 points.

If the job listing says "managed cross-functional teams" and your resume says "led matrixed teams," you might lose 5-10 more points.

If you've got 10 such mismatches in a single application, you're at a 40-50 point deficit before the human review round even starts.

What to do about it

You have two options:

Option 1 — Rewrite your resume for every job. Read the listing carefully, identify every keyword, rephrase your experience to match the job's exact language. This works. It also takes 30-60 minutes per application.

Option 2 — Inject an optimization layer. Let software analyze the job listing, extract every keyword the ATS will score on, and inject it into your resume in a way the algorithm parses but humans don't see. 30 seconds instead of 30 minutes.

Try the free keyword check →


The system is rigged. The machine decides whether your resume ever sees a human. The only winning move is to speak the machine's language.

Frequently Asked Questions

Do ATS systems reject 75% of resumes?
The '75% rejection' figure traces back to Preptel, a now-defunct vendor, and has never been independently verified. The Harvard Hidden Workers study (2021) found that 88% of executives believed qualified candidates were being filtered out by technology. The actual rejection rate varies by ATS vendor and role.
What is keyword matching in ATS?
Most ATS systems score resumes by counting how many times keywords from the job description appear in your resume. Some use semantic matching (synonyms, related terms), others use literal string matching only. Taleo, for example, does pure literal matching with no synonym handling.
Can ATS systems read PDFs?
Most modern ATS systems can parse PDFs, but they struggle with tables, multi-column layouts, images, and non-standard fonts. Workday, for example, strips tables entirely during parsing, which can mangle resumes that use table-based layouts.

Ready to beat your ATS?

First keyword check is free. No card required.

Optimize My Resume
atskeywordsresume-parsing