OnyxJobs · Knowledge Base

How the OnyxJobs Matching Engine works

AAA 6-Level taxonomy · 6 weighted axes · verifiable Why-match

The five pillars

  • AAA Taxonomy

    L1 Domain → L6 Title — one tree for jobs and talents.

  • Six axes

    Sector, experience, language, salary, semantic, taxonomy.

  • Two lenses

    Talent Fit % and Employer Fit % — same evidence, different ranking.

  • Calibration

    Sector multipliers learned from real outcomes, fairness-floored.

  • Explainability

    Every score ships with a per-axis breakdown — no black box.

1 · The AAA 6-Level taxonomy

  • Every job and every candidate is mapped onto the same six-level tree: L1 Domain → L2 Industry → L3 Function → L4 Specialization → L5 Band → L6 Title.
  • This is the single source of truth: the talent profile, the job posting, the recruiter filters, and the admin cockpit all read from it.
  • Because both sides speak the same vocabulary, the matching engine compares like-for-like instead of guessing from free-text keywords.

2 · The six weighted axes

Read details
  • Sector — how close the candidate's industry experience is to the job's L2 industry.
  • Experience — years in role versus the band required, with cap and decay to avoid runaway over-credit.
  • Language — required vs spoken languages, weighted by proficiency.
  • Salary — fit inside the job's offered band, with upside if the candidate's current pay leaves room to grow.
  • Semantic — embeddings on title + summary close the gap when titles differ but the work is the same.
  • Taxonomy — function, specialization, industry, domain, and band agreement across the AAA tree, with band guardrails and L3 knockouts.
  • Outer weights sum to 1.0; taxonomy sub-weights sum to 1.0; both are tunable in the admin cockpit and versioned in match_config.

3 · Two lenses on the same evidence

Read details
  • Talent Fit % answers: 'Is this job a good move for me?' It rewards salary upside, role growth, and language clearance.
  • Employer Fit % answers: 'Is this candidate a strong hire for this role?' It rewards experience match, sector depth, and verified identity.
  • Both lenses read the same scored evidence — the per-axis breakdown — so recruiter and talent see the same facts, just ranked differently.

4 · Outcome-driven calibration (with a fairness floor)

Read details
  • When recruiters mark a match as viewed, shortlisted, interviewed, or hired, those signals feed back into per-sector calibration multipliers.
  • A sector that consistently converts above the global baseline gets a small lift; one that consistently under-converts gets a small dampen.
  • All multipliers are clamped by the fairness_floor admin setting (default 0.85). The engine cannot punish a sector below that floor or reward it beyond 1/floor.
  • A holdout percentage can be set so a deterministic slice of seekers always sees the un-calibrated score, giving a clean A/B baseline.

5 · Verification, PII, and the Why-match drawer

Read details
  • Emirates ID and Trade Licence verification add a trust signal that ranks verified profiles ahead of unverified ones at equal Fit %.
  • Contact fields are column-level revoked from the public API — recruiters only see contact info for candidates they verifiably hire-stage.
  • Every match shows a Why-match drawer with the per-axis breakdown, version of the engine config used, and the calibration applied — so scores are auditable.

Frequently asked

Does a higher Fit % always mean I will get hired?

No. Fit % is a ranking signal. Hiring decisions are made by the employer — Onyx makes sure you are seen by the right ones.

Can recruiters see my email or phone before I apply?

No. Contact fields are column-level revoked at the database. Recruiters only see contact info for candidates they have hire-staged through the platform.

What happens when the engine weights are updated?

Every change creates a new immutable version row in match_config. The in-memory weight cache is busted so the next score uses fresh values without a redeploy.

Why do two similar candidates sometimes get different Fit %?

Sector calibration, language clearance, verification status, and salary upside can all shift the score. The Why-match drawer shows the exact axis-by-axis difference.

Next

Try it on real data

Open Job Terminal to see matched jobs, or create a profile to be matched yourself.