Transparency · E-E-A-T

Methodology: how CVpass calculates your ATS score

You use CVpass and you see a number "ATS score: 67/100" appear. This page explains exactly where that number comes from, on what criteria it's calculated, and where all the statistics we cite elsewhere on the site come from (the number of CVs analysed, etc.). No black box.

Key takeaways

The CVpass ATS score comes from an OpenAI AI model, which reads the text of your CV and follows a scoring grid written by CVpass: 5 criteria worth 20% each (formatting, sections, role keywords, quantified achievements, CV conventions in the target country), then fixed penalties and bonuses. CVpass has run 6,521 analyses since launch. The same CV text, analysed for the same country and the same posting, keeps the same score for 30 days. The score after corrections is an estimate, calculated by our code.

Why this page exists

Most CV-scoring tools (Jobscan, ResumeWorded, EnhanCV) don't publish how they calculate their score. You upload your CV, you get a number, you decide whether it's credible. That's a problem: an ATS score without a methodology is just an opinion.

We chose the opposite. CVpass publishes here the grid given to the model, the origin of the data, the biases we've identified and the limits we own up to. If you disagree with your score, you can see which criteria count and how much they weigh.

How the score is calculated

The ATS score is a number from 0 to 100. It comes from an OpenAI AI model, which reads the text extracted from your CV and follows this grid, written by CVpass:

  • 5 criteria, 20% each: formatting, essential sections, role keywords, quantified achievements, CV conventions in the target country
  • Penalties, for example: no summary (−10), missing end date (−5), experience out of order (−5), no email or phone number (−5)
  • Bonuses, for example: industry keywords in the title or summary (+10), figures in at least half of the bullet points (+5)
  • Scale imposed on the model: 86 to 100 only for a near-perfect CV

When you paste a job posting, the grid changes: match with the posting's keywords 35%, job title 15%, quantified achievements 20%, seniority 15%, relevance of your background 15%, then penalties and a bonus of the same kind. The model is set to vary as little as possible, but it can still vary by a few points. So the first score obtained for the same CV text, the same country and the same posting stands for 30 days.

When you accept suggestions, the score shown next is an estimate, calculated by our code, with no new call to the model. Each accepted suggestion fills part of the missing points, according to its impact (high, medium or low), and the estimate never fills more than 65% of the gap to 100. Simplified: estimated_score = score_before + (100 - score_before) × 0.65 × accepted_share. It is not a new measurement of your CV.

The criteria in the grid

1. Role keywords (20%)

The model compares the terms in your CV with those expected for your role and industry. It looks at:

  • The exact terms of the role (an ATS doesn't always link two synonyms)
  • Where they are: industry keywords in the title or summary earn a bonus
  • Skills: 6 to 10, technical and soft, using the exact words of the industry

2. Formatting (20%)

  • The grid asks for clear sections, no columns or images: the model judges this from the extracted text
  • Dates in the "Month YYYY - Month YYYY" format, and "Month YYYY - Present" for the current job
  • Short bullet points: 3 to 5 per job, penalty above 20 words on average
  • Under 10 years of experience: one page, and a penalty above 2 pages
  • The model reads the text extracted from the file: font, size and colours are not scored

3. Essential sections (20%)

  • A clear job title at the top of the CV (−5 otherwise)
  • A 2 to 3 line summary (−10 if missing)
  • Experience, education and skills, in the usual order
  • Experience from most recent to oldest (−5 otherwise)
  • Email and phone number present (−5 if either is missing)

4. Quantified achievements (20%)

  • Figures, percentages, durations and team sizes in the bullet points
  • Bonus if at least half of the bullet points contain a figure (+5)
  • Bonus if every bullet point starts with an action verb or noun (+5)

5. CV conventions in the target country (20%)

  • The hiring norms of the country chosen for the analysis (France by default): sections, order, length
  • Stock phrases ("dynamic and motivated", "proactive"): −3 each, −9 at most

Where the numbers we cite come from

We cite several statistics on the site. Here is the origin of each, distinguishing external sources from our own internal measurements:

StatisticSource
Qualified candidates screened out by automated filtersHarvard Business School & Accenture "Hidden Workers" study (2021): more than 88% of employers acknowledge that qualified candidates are screened out because their CV doesn't exactly match the job posting's criteria
Canva CVs often poorly read at extractionCVpass internal measurement: share of CVs detected as "Canva format" whose extraction loses a significant part of the content
Many CVs with no figures at allCVpass internal measurement on the sample
Most large French companies use an ATSMarket observation: large groups and mid-caps rely on ATS platforms (Workday, Taleo, SmartRecruiters, Teamtailor) to process applications; executive hiring is largely intermediated by APEC

Our sample of analysed CVs

When we say "6,521 analyses", we mean all the CVs that were submitted to the tool and produced an ATS score.

Approximate composition of the sample:

  • Geography: mostly metropolitan France, the rest from Belgium, Luxembourg, French-speaking Switzerland and elsewhere
  • Experience level: all levels, juniors (0-3 years), mid-level (3-10 years) and seniors (10+ years)
  • Sectors: mainly tech and sales/marketing, then HR/management, finance/accounting and other sectors
  • CV format received: mostly PDF, then DOCX and a few other converted formats

Acknowledged limit: this sample is biased in favor of active candidates seeking to optimise their CV. It does not represent the entire job market but rather the population interested in ATS optimisation, which matches our product target.

The biases and limits we own up to

No scoring tool is perfect. Here is what we can't (yet) measure correctly:

  • Writing quality: we don't grade style. A grammatically shaky CV can have a good score if the content is there.
  • Career coherence: we don't judge whether a career path makes sense. That's the job of a career coach, not an ATS scanner.
  • Role relevance vs posting: without a specific job posting provided, the score is based on the declared role and may over- or under-estimate depending on the actual position targeted.
  • Specific ATS: the grid follows the CV standards of the target country, not the settings of each ATS or each company. An ATS configured differently may sort differently.
  • Change over time: ATS change. Our scoring is a snapshot at the most recent date, not an eternal truth.

External sources cited

  • Jobscan, annual studies on ATS behaviour in the US/Europe
  • APEC, data on the recruitment practices of French companies
  • France Travail (formerly Pôle Emploi), job-market statistics
  • INSEE, demographic and salary data by occupation
  • Glassdoor, salary ranges corroborated with French data
  • Indeed, analysis of job postings to calibrate the keywords expected per occupation

What the AI does, what our code does

The score and the suggestions come from the same call to an OpenAI model, with the grid written by CVpass. Our code checks the format of the answer, sorts the suggestions and calculates the estimate after corrections. Concretely:

  • ATS score: given by the AI model, following the grid above. The first score is kept for 30 days for the same CV text, the same country and the same posting.
  • Problems and suggestions: AI. The model flags what costs you points and proposes a new wording, starting from your text and without changing your background.
  • Score after corrections: an estimate calculated by our code, without AI, from the suggestions you accept.
  • Free readability test: fixed rules, no AI. The code checks that the text can be extracted from the file and detects Canva or multi-column CVs, sections and length.
  • Cover letter, interview coach, LinkedIn optimiser: AI, with instructions written by CVpass.

If you disagree with your score, the suggestions show which criteria cost you points. If you reject a suggestion, the estimate after corrections doesn't go up for it.

More details on the confidentiality of your data during the AI analysis: how CVpass protects your CV.

Test your CV with a transparent methodology

Score out of 100 · AI suggestions · 1st analysis free

Analyse my CV for free →