FeaturesHow it worksJob BoardAI Job SearchBlogAboutLog inGet started free
BlogHirePadi Match Score Explained: How We Rank Jobs Against Your CV
EngineeringHirePadiJob SearchCareer

HirePadi Match Score Explained: How We Rank Jobs Against Your CV

HirePadi Match Score Explained: How We Rank Jobs Against Your CV
Gbemi Jones BakodieGbemi Jones Bakodie
8 May 2026·9 min read

When you upload your CV to HirePadi, every job in your feed gets a match score. This isn't a random number. Here's exactly how it's calculated, where the ceiling actually sits, and what you can do to improve it.

Step 1: CV parsing

When you upload your CV (PDF, Word, or plain text), HirePadi extracts:

  • Skills (every skill, tool, and technology mentioned anywhere in the document)
  • Roles (company, job title, dates, and the bullet points under each)
  • Education (institution, full degree title, dates)
  • Certifications
  • Your current title, location, and summary

A PDF goes to Claude Sonnet, which reads the document directly. Word files are converted to text first and go to Claude Haiku. Either way it is a model reading the CV, not keyword extraction. If your CV says "built and maintained PostgreSQL databases," that lands in your skills list as a database skill without "PostgreSQL" ever appearing under a heading.

Nothing here is an "experience level" or an "industry" field. Those are worked out later, from what the parser found.

Step 2: Job embedding

Each job listing is converted into a 1024-dimensional vector using Voyage AI's voyage-3 model. Think of this as encoding the meaning of a job (its requirements, responsibilities, and context) into a form that can be mathematically compared to your CV.

Your CV gets the same treatment: your title, summary, skills, and roles are embedded as one vector. Jobs are embedded a hundred at a time in a single request.

Step 3: The domain gate

Before any comparison happens, both you and the job are sorted into one of fifteen career domains (software engineering, finance and accounting, healthcare, logistics, trades, and so on) based on titles and description text.

If the two domains are unrelated, the job is dropped there and then. It is never compared to your CV and never scored. If they are the same domain, the job is scored at full weight. If they are neighbouring domains (data analytics next to software engineering, for example), the score is multiplied by 0.8.

Step 4: Similarity, then rescaling

We calculate the cosine similarity between your CV vector and each surviving job's vector. That raw number is not what you see.

Raw similarity between a CV and a job does not spread neatly across 0 to 100. In practice almost everything falls between 25 and 62. So the raw band is stretched onto a display band that runs from 25 to 82, and the final score is capped at 85.

A score of 70–85 means strong alignment. Your background closely matches what this role needs.

50–69 is a partial match. You have most of the core requirements but may be missing specific tools or experience.

25–49 is a stretch role. You could apply but should tailor your CV heavily and address gaps.

Below 25 the job does not enter your feed at all. Nothing displays 100, and nothing displays zero.

If the raw similarity is too low to be meaningful, the job falls through to keyword scoring instead: direct overlap between the skills on your CV and the words in the job ad.

Step 5: AI scoring (top candidates only)

For the handful of jobs with the highest similarity, a second AI pass (Claude Haiku) does a finer analysis. It identifies specific reasons your background fits, skills or experience the role requires that your CV doesn't show, and whether you should apply, tailor, or skip.

This reasoning appears in your job feed when you expand a listing. It arrives a few minutes after the rest of the feed, so a job can gain a detailed breakdown shortly after you first see it.

See your match scores on live jobs right now, free.

View My Job Feed

What affects your score

Things that help

Explicit skills sections. If your CV lists "Python, SQL, Power BI" in a dedicated skills section, the parser picks these up reliably. If they're only mentioned in job descriptions, they may score lower.

Quantified achievements. "Grew revenue 40% in FY2024" signals seniority and impact, which affects role level matching.

Job titles that match industry norms. "Head of Growth" scores differently from "Growth Manager" even with identical responsibilities. Use the title your industry recognizes.

Recency. Skills used in your most recent role carry more weight than skills from 10 years ago.

Things that hurt

Tables and text boxes in your CV. These break parsing. The extractor can't read text inside Word tables reliably. Use a single column format.

Vague language. "Proficient in Microsoft tools" doesn't match a job asking for "Advanced Excel." Be specific.

Very short CVs. A one page CV with minimal detail gives the parser little to work with, leading to lower confidence scores.

Mismatch between target role and CV history. If your CV is 10 years of banking but you're applying for product management roles, the score will naturally be lower. In that case, upload a tailored CV that bridges the gap.

How to improve your match score

Update your CV. Even small additions (adding a skills section, spelling out tool names) can lift your match score 10 to 20 points.

Set your target role in Settings → Preferences. This guides the matching algorithm toward the right job families.

Check the "Gaps" section on any job you're interested in. This tells you exactly what your CV is missing for that specific role.

Use HirePadi's CV Tailoring. The platform can rewrite your CV to emphasise relevant skills for a specific job (available from the job detail view).

The decisions behind the numbers

Everything above is what the pipeline does. This is why it is shaped that way, and where it is still wrong.

The expensive model runs last, on almost nothing

Embedding text is cheap and it batches well: a hundred jobs go out in a single request. Asking Claude to read a full CV against a full job description costs meaningfully more per call. So the pipeline is built to spend the cheap thing freely and the expensive thing almost never.

One matching run considers up to 500 recently scraped jobs per user. All of them get embedded and compared. At most five reach Claude on a free account, twelve on Pro, twenty on Pro Plus, and only for users who have opened the app in the last fourteen days. That is the whole cost argument: the pre-filter is the difference between 500 model calls per user per run and at most twenty.

The calls that do happen go through Anthropic's Message Batches API rather than the normal endpoint, which is half the price for work that does not need an answer inside a second. What that costs is latency. A separate job collects the results about ten minutes later. If a score changes between two visits to your feed, that is why.

The gate runs before the maths, not after

Sorting into domains first, rather than scoring everything and filtering afterwards, is the single decision that shapes the rest. A disjoint pair, clinical pharmacy against commercial driving, is never embedded-compared and never scored, so the cost of considering it is one regex match instead of one model call.

The 0.8 multiplier for neighbouring domains is flat. Every adjacent pair is penalised identically, whether the hop is small or large, because per-edge tuning has not been done. It is a placeholder that happens to work.

The displayed score is a presentation, not a probability

Publishing raw cosine similarity would mean a genuinely strong match rendering as 60 and reading like a rejection. Stretching the real band onto a wider display band fixes the presentation and introduces its own problem: the number now looks more precise than it is.

Two things follow that are worth saying plainly. Nothing ever scores 100, because the ceiling is 85 by construction. And the score is a statement about how close two pieces of text are, not a probability that you will get the job.

What it gets wrong

Your recent behaviour (saves, applies, dismissals) nudges scores in domains you act in, decaying on a thirty-day half-life. It is capped at plus or minus five points and needs at least two positive or three negative actions in a domain before it does anything at all. Small on purpose: a recommender that chases clicks stops showing you the role you actually want and starts showing you the role you keep poking at.

The failure I like least is silent. If the embedding provider errors, the code returns nothing and moves on without retrying. That job or CV stays unembedded until a later run happens to pick it up, and until then it is scored by keyword overlap instead. Nothing about that surfaces to you, and the fix is a retry that is not written yet.

The domain classifier is regular expressions over job titles. An unusual title puts you in the wrong domain, and because the gate runs first, the symptom is not a bad score. It is jobs silently never appearing. A wrong score is visible and you can argue with it. An absent job is not.

Why transparency matters

Most job platforms are black boxes. You don't know why a job appeared in your feed or why you were rejected. HirePadi shows you the score, the reasoning, and the gaps so you can make informed decisions about which roles to pursue and how to position yourself.

The goal isn't to hide the algorithm. It's to make you a better, faster job searcher.

Upload your CV and start getting scored match results, takes 2 minutes.

Get Started Free
Gbemi Jones Bakodie

About the author

Gbemi Jones Bakodie

Founder, HirePadi

I am a growth marketing specialist with AI and full-stack development skills, and I built HirePadi in 2026 after watching too many qualified Nigerian professionals lose out to tools designed for a different market. I write here about how the product actually works, including the parts that do not work yet.

Keep reading

AI & Data Jobs in Nigeria 2026: How to Break In (No CS Degree Required)

8 min read

Best AI Job Search Tools in Nigeria 2026: HirePadi vs Ophy AI vs AutoApply NG vs Jobberman

12 min read

AI Job Search in Nigeria: How It Works and Why It Changes Everything

8 min read

Ready to find your next role? HirePadi matches your CV to hundreds of jobs — free.

Start Job Searching Free