Why this page exists
Most resume-scoring tools (Jobscan, ResumeWorded, EnhanCV) don't publish how they calculate their score. You upload your resume, 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 resume and follows this grid, written by CVpass:
- 5 criteria, 20% each: formatting, essential sections, role keywords, quantified achievements, resume 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 resume
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 resume 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 resume.
The criteria in the grid
1. Role keywords (20%)
The model compares the terms in your resume 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 colors are not scored
3. Essential sections (20%)
- A clear job title at the top of the resume (−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. Resume 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:
| Statistic | Source |
|---|---|
| Qualified candidates screened out by automated filters | Harvard Business School & Accenture "Hidden Workers" study (2021): more than 88% of employers acknowledge that qualified candidates are screened out because their resume doesn't exactly match the job posting's criteria |
| Canva resumes often poorly read at extraction | CVpass internal measurement: share of resumes detected as "Canva format" whose extraction loses a significant part of the content |
| Many resumes with no figures at all | CVpass internal measurement on the sample |
| Most large French companies use an ATS | Market 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 analyzed resumes
When we say "6,521 analyses", we mean all the resumes 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
- Resume 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 optimize their resume. It does not represent the entire job market but rather the population interested in ATS optimization, 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 resume 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 resume 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 behavior 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 resume 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 resumes, sections and length.
- Cover letter, interview coach, LinkedIn optimizer: 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 resume.