How Resume Fit Score Works — The Exact Algorithm Hirabble Uses
5/22/2026
How Resume Fit Score Works — The Exact Algorithm Hirabble Uses
When you upload your resume and paste a job description into Hirabble, you get a fit score in seconds. This post explains exactly how that number is calculated — no black box.
Most "resume match" tools give you a percentage with no explanation. Hirabble uses a two-layer system that combines a deterministic keyword algorithm with AI analysis, then applies a cross-check to make sure neither layer can mislead you.
Layer 1: Keyword Overlap Score
The first layer is purely mathematical. It does not involve AI.
How it works:
1. Every meaningful word in the job description is extracted and de-duplicated (stop words — "the," "and," "for," etc. — are removed) 2. Each unique job-description keyword is checked against your resume text 3. The score is the percentage of job keywords that appear in your resume
Example:
A job description contains 120 unique meaningful terms. Your resume contains 84 of them. Keyword overlap score = 84 / 120 = 70%.
This is close to how real ATS systems (Taleo, Greenhouse, Workday) work — they are fundamentally keyword-matching engines, not intelligent readers. Research consistently finds that keyword presence in the resume is the primary filter in ATS scoring.
Why this layer matters:
It is objective and impossible to game through AI persuasion. It measures whether the actual vocabulary of the job description is present in your resume — which is the most direct proxy for ATS compatibility.
Layer 2: AI Analysis Score
The second layer uses a large language model to analyze the match more contextually.
What the AI evaluates:
- Do your experience levels match what the role requires? - Do your titles and responsibilities align with the role's scope? - Are you missing key qualifications that aren't obvious from keywords alone? - Does the seniority of your background match the position? - Are there semantic matches — e.g. "built APIs" covering "REST API development" — that keyword matching would miss?
The AI produces a score from 0 to 100 with the following bands:
- 0–20: Incoherent job posting, or no meaningful match at all - 21–40: Very few relevant skills or experience — major gaps - 41–60: Partial match — some relevant skills, missing key requirements - 61–80: Good match — most required skills present, experience aligns reasonably - 81–94: Excellent match — nearly all requirements met, minor gaps only - 95–100: Near-perfect match — all key requirements met, strong keyword alignment throughout
Layer 3: The Cross-Check (How the Two Scores Combine)
Neither layer is trusted blindly. The final score is a cross-checked result that uses the keyword overlap score as an anchor.
The ceiling rule:
The AI score cannot exceed the keyword overlap score by more than 20 points.
If the keyword overlap is 40% but the AI gives 85%, something is wrong — the AI may be responding to persuasive resume language without the actual vocabulary match. The ceiling caps the AI at 60% in this case.
This prevents inflated scores on resumes that sound good but don't contain the right terms.
The floor rule:
When keyword overlap is high, the final score cannot fall too far below it.
- Keyword overlap ≥ 90%: the floor is set at the keyword score itself. A resume that contains 90%+ of a job's vocabulary cannot legitimately score low — the AI is likely misfiring. - Keyword overlap 70–89%: the floor is keyword score minus 20 points. The AI has some flexibility downward but cannot wildly contradict the keyword evidence. - Keyword overlap < 70%: no floor — the AI can score freely (and lower) based on context.
This prevents the AI from giving a 15% score when your resume actually contains most of the job's keywords.
The formula in plain terms:
``` final = clamp(ai_score, floor, ceiling)
where: ceiling = min(100, keyword_score + 20) floor = keyword_score if keyword_score ≥ 90% = keyword_score - 20 if keyword_score ≥ 70% = 0 otherwise ```
What Each Score Range Means for You
95–100% — Near-perfect fit. Your resume vocabulary closely mirrors the job description and the AI finds strong contextual alignment. Apply immediately — you are a top-tier candidate for this role.
80–94% — Excellent fit. You meet nearly all requirements. Minor tailoring (adding a few missing terms, reordering bullets) could push you higher. Apply — and use the AI-rewritten resume Hirabble generates.
61–79% — Good fit with gaps. Your core background aligns but there are meaningful keywords or requirements missing. The optimized resume Hirabble produces will close most of the gap.
41–60% — Partial fit. You have relevant experience but the job has requirements you either lack or haven't expressed correctly. Review the keyword gap report before applying.
0–40% — Weak fit. Either the role is a significant stretch or your resume doesn't reflect your actual experience well. Consider whether this role is realistic, or whether a complete resume rewrite is needed first.
Why the Score Can't Reach 100% on a Generic Resume
A generic, untailored resume will almost never score above 60–70% against a specific job description. Here is why:
Every job description uses specific language for specific things. "Led cross-functional teams" in your resume may mean the same thing as "Managed stakeholder collaboration across departments" in the posting — but the keyword matcher does not know that. Only the tailored version, with the posting's actual language, gets the credit.
This is the core problem Hirabble is designed to solve. The AI-rewritten resume uses the job posting's own vocabulary to describe your real experience — not to invent skills, but to translate what you have into the language the employer is looking for.
A Real Example
Original resume keyword overlap against a Product Manager role: 52%
The resume described solid PM experience — roadmaps, stakeholder management, sprint planning. But it used different words than the posting did.
The posting said: "drive product strategy," "cross-functional alignment," "OKR tracking," "go-to-market execution."
The resume said: "developed product plans," "worked with teams across departments," "tracked quarterly goals," "launched products."
Same experience. Different language. The ATS would likely reject the original resume — the words don't match.
After Hirabble rewrote the resume: keyword overlap jumped to 81%. The AI score moved from 68% to 89%. Final score: 85%.
Nothing invented. The same experience, re-expressed in the posting's vocabulary.
The Score Is a Tool, Not a Verdict
A high fit score means your resume is well-matched to pass ATS filters and read as relevant to a recruiter. It does not guarantee an interview — that depends on your actual qualifications, competition from other applicants, and factors outside the resume.
A low fit score is useful information: it tells you either that the role is a stretch, or that your resume is not communicating your experience in the right language. Both are fixable.