Methodology
What we measure, how we measure it, and what we cannot know.
Most tools in this category show you a percentage and leave you to guess what it means. This page is the opposite: the actual method behind every number inteller.ai shows you, the arithmetic it is computed from, and an explicit list of the questions we cannot answer. If you only read one section, read what we cannot know.
The number is not the product
A match score cannot tell you whether you will get an interview, and you should be suspicious of any tool that implies otherwise — including this one, if we ever start talking that way. What a scan can honestly do is name the specific things the posting asked for that your resume never demonstrates: the stakeholder management you have done but never wrote down, the SQL that is on your resume only as a tool name, the forecasting experience that is missing entirely. That list is actionable. The percentage on top of it is just a way of sorting the list.
Layer 1 — is this posting real?
A model reads the whole posting the way a recruiter would, and answers a fixed set of questions about it: what does this “job” ask you to do with money, cheques, parcels, crypto or identity documents; is anyone actually hiring for a seat; what does it require. It is run at temperature zero, so the same text gets the same read, and it is asked for the words in the posting behind every claim — a quote we cannot find in the text is dropped before you see it.
Then the posting is read a second time, by a separate reader that never sees the first read’s conclusion and is asked only one question: what does this require the applicant to do? It is told to assume the company name is fake, and to ignore the About section, the benefits, the salary band and the equal-opportunity paragraph entirely — those are free to add, and a careful scammer adds them. It reports money you are asked to pay, money or goods passed through you, identity documents requested before anyone has spoken to you, applications routed somewhere that is not the employer’s own site, and a stated absence of any live interview. It can only raise the alarm; it has no way to clear a posting, so a mistake there costs a false warning rather than a missed fraud. Alongside it, deterministic checks run on every scan and every tier — among them whether the hiring link belongs to the company named in the posting at all. These override the model in one direction only: if one fires, the verdict is scam whatever the model concluded, and none of them can ever approve a posting. Everything that fires is shown to you with the phrase that triggered it. Green signals are never shown beside a red one, and are withheld entirely on any posting we have not fully cleared.
Why both: rules alone were beaten by rewording — a list of personal data padded with six more words walked past a proximity rule. A model alone can be talked round. The read handles wording; the rules hold the line on mechanics.
The same read runs the culture decoder, which translates stock phrases into what they commonly signal — “fast-paced environment” as a marker for chronic understaffing, “we’re like a family” as one for blurred boundaries. A translation of a phrase, not a judgment of the employer.
Layer 2 — which requirements have you not demonstrated?
This is the part we consider the actual product. Rather than scoring your resume against a bag of keywords, we extract the posting’s individual requirements and check each one against your resume separately. Every requirement is classified by category (experience, skill, domain, education, certification, logistics), by importance (must-have or preferred), and by verdict — covered, partial, or missing.
Every claim has to cite its evidence
When the model says your resume covers a requirement, it must quote the line that proves it, word for word. We then search your actual resume text for that quote. If it is not there, the claim does not stand: a covered verdict is demoted to partial and the citation is stripped.
This is the one place in the product where we deliberately overrule the model’s own confidence. An invented quote — telling you that you demonstrated something you did not — is the single most damaging output this feature could produce, so it is the one thing we verify mechanically rather than trust.
The percentage is arithmetic, not opinion
The model classifies requirements. It is never asked for a score. The percentage is computed in our code as requirements met, divided by requirements stated. No weights. A choice like “Python, Scala or Java” is one requirement, met by any one of them. A clause with commas inside it is one requirement, never several.
What decides the application is shown separately, above the number: a stated minimum the resume visibly falls short of (12 years asked, 8 shown) blocks; something the resume is simply silent on is a check, never a block. Fewer than four stated requirements and we refuse to show a percentage at all.
About the ATS score specifically
We do publish a match percentage, because it is genuinely useful for ranking your own resume versions against one job and because it is what people search for. It is the requirement table counted — not a keyword list — so “Postgres” and “PostgreSQL” are the same thing and a satisfied “or” is not a gap. It is always computed against a specific posting; a resume score with no job attached measures nothing.
Do not treat 80%, 90%, or 95% as a prediction — from us or from anyone else. A high score means your resume covers what this posting asked for. It does not mean you are a strong candidate, that the job is real, or that a human will read it. Use the score to choose between your own resumes; use the gap list to decide what to change.
What we cannot know
Every one of these is a real limit of the method, not a feature we have not shipped yet.
That a job is definitely real, or definitely fake.
We read the posting's text. A careful scammer can write a clean posting, and a legitimate company can write one full of the same signals we flag. Our verdict is a probability shaped by the wording, not a verification of the employer. We say "this posting shows N of the patterns associated with ghost listings" — never "this company is not hiring."
What a specific employer's ATS actually scores you.
We have no access to Workday, Greenhouse, Taleo, or any other applicant tracking system. Nobody outside those companies does. Any tool showing you "your Workday score" is modelling, not measuring — and so are we. Our score reflects how well your resume covers this posting's stated requirements, which is a different question.
Whether you will get an interview.
Interview decisions turn on referrals, timing, internal candidates, budget, and a recruiter's judgement — none of which appear in the job description. A resume can cover every requirement and still not get a call. We can tell you what the posting asked for and whether you demonstrated it. That is the whole claim.
How long a posting has really been live.
We analyse the text you paste, not a longitudinal record of the listing. Repost age is one of the strongest ghost-job signals available, and we currently infer it only from language in the posting itself. We would rather state that limit than imply a data source we do not have.
Whether a salary figure is what they will actually pay.
We extract the range, currency, and pay period the posting states and normalise it for comparison. If the posting omits pay, we flag the omission — we do not estimate a number and present it as theirs.
Where our published numbers come from
Statistics we cite in marketing and on the blog are attributed to named third parties. We do not publish first-party statistics from our own scan data yet — our scan volume is not large enough for that to be honest, and we will say so on the day it changes.
- Ghost-job prevalence (~43% of postings): reporting from NPR, Forbes, and ZipRecruiter research.
- Job-scam losses: US Federal Trade Commission consumer reports and the FBI's IC3 annual report.
- ATS usage among large employers and resume filtering rates: Harvard Business School's "Hidden Workers" (2021) and Jobscan's ATS usage research.
- Employer detection of AI-generated applications: published survey work on recruiter screening practices.
Questions about the method
Is the ATS score a prediction of whether I will pass a real ATS?
No, and you should not treat any tool's score that way — ours included. Our score measures how much of this posting's stated requirements your resume demonstrably covers. It is a measure of coverage, not a forecast of an outcome. The useful output is not the number; it is the list of requirements you have not evidenced.
Does an AI write the score?
No. The percentage is computed in our own code: requirements met, divided by requirements stated. The model classifies each requirement and must quote the resume line behind it; it is never asked for the score. Any figure we show can be recalculated by hand from the requirement list on screen.
How do you stop the AI from inventing evidence?
Every time the model claims your resume covers a requirement, it must quote the line that proves it, verbatim. We then search your actual resume text for that quote. If the quote is not there, the claim is demoted — a 'covered' verdict drops to 'partial' and the citation is removed. An invented quote is the most damaging thing this feature could produce, so the model's confidence is overruled in exactly that one place.
What happens if the analysis fails?
The requirement panel does not render, and the scan still returns its fraud check and keyword coverage. We would rather show you less than show you a number we cannot stand behind.
Do you sell or share my resume?
No. Your resumes and scans are stored against your account under row-level security and are not shared with employers, recruiters, or other users. You can export or delete your data at any time from Settings.
Run it on a posting you are unsure about
Free plan, no card. Judge the method on a job you already have an opinion about — that is the only fair test of a tool like this.
Try inteller.ai freeSee what each plan includes on our pricing page.