Astris HR Model

Technical deep dive

How the matching pipeline works, how the sub-models combine into one score, how we sanity-check the ranking on a synthetic test set, and the public data feeds that set Astris apart from skills-based hiring platforms and from startups that simply hand the job to a large language model.

How we're different

Three commonly-confused product categories. Astris is none of them.

CapabilityAstris HRAdept IDTraditional applicant-tracking systemChatbot-as-matcher
Foreign credential parsing (source-language preservation)YesNoNoPartial
Skill matching across 35+ languagesYesEnglish onlyKeyword matchYes (no review loop)
Up-to-date labor turnover data (official government sources)YesNoNoNo
Retention forecast anchored to the industry, state by stateYesNoNoRough guess only
Wage benchmarking (official wage + metro income data)Yes — every matchNoManualNo
"What if they had skill X" analysisYes — top 3 gaps + time to close themNoNoNo
Factor-by-factor score breakdown (every match)7 factors, each weightedNot shownKeyword countFree text only
No high score without covering the required skillsYesNoNoNo
Fairness monitor (flags adverse impact by group)YesExternalExternalNo
Re-running a match gives the same score every timeYesYesYesNo (answers vary run to run)
Self-validation in candidate's native languageYesNoNoNo

The matching pipeline

Scoring one candidate against one job takes about 140 milliseconds start to finish. Every step runs in plain code and is recorded, so you can trace exactly how any score was reached.

Candidateread resume → skills, languages, work historyJobread posting → required skills, location, scheduleSkill matchingexact → close variant → related skill → skill familySeven-factor scoreskills / experience / language / distance / schedule / certs / transportSkill-coverage capscore limited when required skills are missingWeights tuned per industrydriver / analyst / nursing / sales / …Combine the sub-modelsrules + meaning-based similarity + retention curveFinal match score0–100 + tier badgeGaps + what would helpmissing skills + months to close themINPUTSREAD + MATCHSCOREGUARDRAILSCOMBINE

Each candidate-and-job pair moves through the same stages: pull the skills out of the resume; match them against the job's required skills (exact match first, then close spelling variants, then related skills in the same family); combine seven separate factors into one composite score weighted for the specific industry; cap the score if the candidate is missing skills the job treats as essential; add a meaning-based similarity check that compares the full text of the resume and the job; adjust for how long people typically stay in that industry; and assign a final tier. Every intermediate number is stored, so re-running the same score produces an identical result down to the last digit.

How the sub-models combine

Ten sub-models feed one final score, which is their weighted average. A new sub-model first runs silently alongside the others — scoring, but not counted — and only starts influencing results once it has proven itself.

Rules-based scorerlive
The seven-factor score, industry weights, skill-coverage cap, and close-variant skill matching
weight 0.50
50% of the final score
Meaning-based similaritylive
Compares the overall meaning of the resume and the job posting, not just shared keywords
weight 0.30
30% of the final score
Retention estimatelive
How long people typically stay in this industry, from public government labor data
weight 0.20
20% of the final score
Gap analysislive
The top three missing skills and roughly how long they would take to gain
not yet counted / running silently
Outcome model (simple)staged
Learns from real hires; switches on after 200 recorded outcomes (50 within a single field)
not yet counted / running silently
Outcome model (advanced)staged
A more powerful pattern-learner; switches on after 500 outcomes (100 within a single field)
not yet counted / running silently
Retention model (learned)staged
A small neural network that refines retention estimates; switches on after 1,000 outcomes
not yet counted / running silently
Candidate groupinglive
Automatically groups similar candidates to surface look-alikes
not yet counted / running silently
Resume-reading feedback looplive
Reviewer corrections feed back in as examples so resume reading keeps improving
not yet counted / running silently
Translation review overridelive
When a reviewer rates a translation below 3 stars, a corrected version replaces it
not yet counted / running silently

Internal check on a synthetic test set

We built 70 test profiles by hand, each designed to be a strong fit for one particular job we already knew the right answer for. This is an internal sanity check that the ranking behaves as intended — not a measured real-world result. An independent benchmark on real candidates is still pending. The figures below describe only how the ranker orders these hand-built cases.

Where the intended job landed in the ranking across the 70 hand-built test profiles (internal check, not real placements). The more often the intended job lands at Rank 1, the better the ranker is putting the right role first.
Rank 1
Intended job came out as the top match
60 (86%)
Rank 2
4 (6%)
Rank 3
0 (0%)
Rank 4
6 (9%)
Rank 5+
0 (0%)
Best match ranked first (test set)
60 / 70
Intended job came out on top
Intended job in top 3 (test set)
64 / 70
Ranked among the top three
Intended job in top 5 (test set)
70 / 70
Ranked among the top five
Ranking quality
Better than chance
Internal diagnostic, not a real-world accuracy figure

These counts come from hand-built test profiles, not real placements. They confirm the ranker orders the intended jobs sensibly; they do not establish real-world accuracy or precision. Validation on a real candidate pool is still pending.

How long people tend to stay, by industry

The same candidate — same stability, same fit — plotted across three industries. Some industries simply have far more turnover than others, which caps how long even an ideal hire is likely to stay.

0%25%50%75%100%Day 030d90d180d270d365dFinancial activities (1.3%/mo quit)Information (1.6%/mo quit)Food services (4.7%/mo quit)Days on the jobIndustry retention baseline

For the SAME candidate fit, a 1-year retention for food services tops out near 56 %; financial activities tops out near 86 %. Industry physics dominates the long horizon.

We start from the typical odds of staying: if a given share of workers leave each month, we compound that month over month to estimate how many are still on the job after several months. The monthly quit rates come from public government labor data — state-by-state rates from the Census Bureau where available, and national rates from the Bureau of Labor Statistics as a fallback. A candidate's own stability and fit then nudge that baseline up or down, but only within a bounded range (never below about 70 percent of the industry baseline, never above 1.5 times it). Even a perfect candidate in a food-service role has a one-year retention ceiling around 55 percent — the industry itself sets the upper limit.

Five federal data feeds, refreshed monthly

The public data nobody else integrates. All free, all pulled directly from official government sources, and all traceable back to the source.

BLS JOLTS
Industry turnover, nationwide
Updates: Monthly
Retention baseline (fallback)
Census LEHD QWI
Turnover by state and industry
Updates: Quarterly
Retention baseline (primary)
BLS OEWS
Typical wages by occupation (national + 60 metros)
Updates: Annually
Wage context — base figures
Census ACS metro
Median income for 410+ metro areas
Updates: Annually
Adjusts wages to the local market
Census ACS state
Median income and foreign-born share by state
Updates: Annually
Demographic context in analytics
↓ All refreshed by:A monthly automated update↓ Saved to:The platform's settings store↓ Used by:The matcher, at scoring time

See Astris HR in your workflow

Run it against your candidate base or a sample JD. We'll set up a tenant in under a day and show you the matches your existing tools are missing.

Request a demo