How Epimoni calculates its scores
A resume score is only worth something if you know what it counts and what it refuses to count. This page describes the Epimoni method in detail: the sections, their weightings, the rule that stops a criterion absent from the advert being graded, and why analysing the same document twice returns exactly the same figure.
It is written to be checkable. If a point looks arguable to you, it is, and knowing that beats a number with no instructions.

Three different scores, three different questions
Epimoni produces three scores that do not measure the same thing and do not compare with each other.
The resume analysis score judges your resume alone, with no advert. The match score judges your resume against one specific advert. The salary estimate judges not a document but a market position.
The same resume can score 82 on analysis and 46 on match against a given advert. That is not a contradiction: the first says the document is good, the second says it does not fit this role.
The resume analysis sections
The resume analysis grades six sections, each on its own criteria, then combines them into a mark out of 100 using these weightings.
| Section | Weight | What it measures |
|---|---|---|
| Experience | 30% | Titles, durations, progression, coherence of the path |
| Skills | 20% | Technical and functional skills, and how they are phrased |
| Structure | 15% | Section order, recognisable titles, machine legibility |
| General | 15% | Overall coherence, clarity of positioning |
| Education | 12% | Degrees, institutions, specialisms |
| Other | 8% | Languages, certifications, additional elements |
Experience carries the most weight because it is what a recruiter returns to first when no advert is in play.
The match score sections
Against an advert the question changes, and the weights change with it.
| Section | Weight | What it measures |
|---|---|---|
| Experience | 30% | How the track record fits the scope of the role |
| Skills | 30% | The skills the advert requires, present or absent |
| Profile | 15% | Mobility, languages, availability, stated constraints |
| Certifications | 10% | Clearances and certifications named specifically |
| Education | 10% | The degree level and field required |
| Culture | 5% | Fit with stated values, where the advert mentions them |
Skills move from 20% to 30% and draw level with experience. That is deliberate: against an advert, a required skill you lack costs exactly what insufficient experience costs.
Culture is the softest read of the six, so it carries the least weight.
The mandatory-quote rule
This is the methodological point that most distinguishes our match score.
A criterion the advert does not mention is never graded. For every criterion it grades, the analysis must produce a quote from the advert, copied word for word, that imposes the requirement. The quote is then searched for in the advert's text. If it cannot be found, or if it has been paraphrased, the grade is discarded.
Why the constraint exists
Without it, an instruction not to grade an absent criterion is not enough. Measured against a real advert that mentioned neither a driving licence nor academic results, the model graded both 1 out of 5, dropping the "profile" section to 52% and "education" to 45%. An instruction a model can satisfy by asserting compliance changes nothing. A verifiable constraint does.
A section the advert is silent about from end to end comes back as not assessed, not as a zero. The difference matters: a zero would enter the weighted average as an outright failure, penalising the candidate for the advert's silence. Sections that are not assessed drop out of both sides of the calculation, which is renormalised over what remains.
What "not assessed" changes in the calculation
The overall mark is a weighted average over the sections actually produced, not over all six.
If the advert says nothing about company culture, the five remaining sections are renormalised and their relative weights rise accordingly. The result stays a readable percentage whatever subset of sections was available.
Within a section, the same logic applies to criteria: a criterion the analysis did not fill in is excluded from the denominator. A missing answer means "not assessed", not "zero".
Why two analyses of the same resume give the same score
The Epimoni editor is built around re-scoring. You accept a suggestion, re-run the analysis and read the difference to learn whether the change helped.
That means nothing if scoring the same document twice gives two different numbers. At a language model's default settings it does not: the same resume, byte for byte, came back as 73, 73, 71 then 75 across four runs, with one section swinging from 42 to 52.
The scoring pass is therefore pinned to deterministic decoding, with a fixed seed on top. A user who genuinely gained 3 points now sees it; a user who changed nothing is no longer told their resume got worse.
What reproducibility does not tell you
A stable score is not a correct score. Stability only guarantees that the difference you read comes from your edit and not from noise. Correctness depends on the grid, which remains a defensible convention rather than a truth.
The salary estimate sections
The estimate starts from the resume rather than a form, because a job title alone predicts pay poorly.
| Section | Weight | What it measures |
|---|---|---|
| Professional experience | 30% | Years, levels of responsibility, size of organisations |
| High-value skills | 25% | The skills the market pays above average for |
| Market positioning | 20% | Sector, region, level of the target role |
| Education and qualifications | 12% | Degrees, certifications, specialisms |
| Differentiating factors | 8% | Languages, mobility, dual expertise, international work |
| Overall profile | 5% | Coherence of the path as a whole |
The output is a range, not a single figure. An estimate is a negotiating starting point, not a promise of a hire.
What our scores do not measure
Three limits are worth stating plainly.
An ATS score is not a probability of passing any given ATS. Companies run different software with different filtering rules, and no vendor publishes its algorithm. Our score measures machine legibility and keyword coverage, which correlate with clearing the filter without determining it.
A score does not judge the truthfulness of your resume. It assesses what the document asserts.
Finally, the grid remains a convention. The weightings on this page are defensible and documented; they are not the only possible ones, and another serious tool can score the same resume differently without either being wrong.
Volume and updates
More than 30,000 resumes have been analysed to date. The scoring grid's version is incremented whenever a section, a setting or the underlying model changes, because the model is as much an input to the result as the grid is.
This page is updated when the weightings change.
FAQ
How is a resume's ATS score calculated?
Six sections are graded separately — experience 30%, skills 20%, structure 15%, general 15%, education 12%, other 8% — then combined into a weighted average out of 100. Sections the analysis could not produce are excluded and the calculation is renormalised over the rest.
Why is my match score lower than my resume score?
Because they answer two different questions. The resume score judges your document alone; the match score judges it against the requirements of one specific advert. An excellent resume can be a poor match for a role that is not its own.
What is a section that is "not assessed"?
A section the advert says nothing about, from end to end. It comes back as not assessed rather than as a zero, and it is removed from the calculation, which is renormalised over the remaining sections.
Does the same resume always get the same score?
Yes. The scoring pass runs on deterministic decoding with a fixed seed, precisely so the difference between two analyses comes from your edit and not from model noise.
Does a good score guarantee an interview?
No. The score measures machine legibility and coverage of the advert's keywords. Those are necessary conditions for clearing the automated filter, not sufficient conditions for being shortlisted.
Put it into practice
Apply the advice from this article with the free Epimoni tool: Check my resume (free ATS score)