Every automated decision system eventually faces the same question: above what score do we let the system act on its own? Most teams pick a threshold that looks reasonable, such as 0.8, 75 or “high confidence”, and move on. The better approach is to start from the other end: decide how many mistakes the business can tolerate, then tune the system until it meets that target.
This post shows how that worked in Cerberus ID, Aletheia Systems’ identity-verification platform for detecting “ghost student” enrolment fraud, for which IT-ISS is the technology architecture partner.
Key takeaways
- Set the target from the cost of an error, before tuning. For automatic approval, the requirement was at least 95% precision.
- Calibrating the scoring engine against 10,806 real registrations raised auto-approval precision from 97.68% to 99.50% and cut false approvals from 181 to 39 (−78%).
- Three zones (approve, check, reject) turn a score into a workflow people can trust.
- The uncertain middle gets a second, automated check: government ID upload and a liveness test.
- The most reliable AI component here isn’t a generative model at all.
The problem: ghost students
US colleges face a sharp rise in “ghost student” fraud: fraud rings and bots enrolling with stolen or synthetic identities, solely to trigger federal financial-aid payments. Beyond the direct financial loss, ghost students take places from genuine students and expose institutions to compliance risk and financial penalties.
Enrolment officers can’t investigate every registration by hand. What they need is clarity: which registrations can be approved automatically, and which genuinely need their attention.
Why a scoring engine, not an LLM
Cerberus ID scores each registration with a scoring engine rather than a language model. For this decision, that is the right tool:
- The evidence is structured. Address, email, telephone, IP address and name signals are data, not prose.
- Every score can be explained. It is built from category scores, so it is clear which categories pulled it down.
- It can be calibrated precisely against labelled outcomes, as the rest of this post shows.
- It minimises personal data. No personal data is kept beyond what a scoring decision strictly requires, and anything that must persist is encrypted at rest.
How the score is built
The score is built in two levels. First, each of five categories (address, email, telephone, IP address and name) gets a score: a weighted average of the probabilities of the features present in that category. Then the category scores are combined into an overall score, using weights specific to each customer:
overall_score = [ Σ (category_score × customer_weight) / Σ customer_weight ] × 100
One constraint matters: a missing email or address counts as a score of zero, not as “no information”. A fraudster can’t improve their score by leaving fields out.
From a score to a decision: three zones
Approved directly, with minimal friction for genuine students.
Reviewed by an officer, or automatically asked to verify identity.
Rejected: strongly correlated with known fraudulent behaviour.
Each zone has a different cost of error. A fraudulent registration wrongly approved in the green zone is the most expensive mistake: it goes straight through. So the green zone got the strictest requirement.
Set the target first, then calibrate
Before any tuning, the requirement was fixed: at least 95% precision in the auto-approve zone. In other words, at least 95 of every 100 automatically approved registrations must be genuine.
Working with the customer, we then calibrated the engine’s feature weights and probabilities against 10,806 unique registrations, using a numerical optimisation method (L-BFGS-B) to maximise the separation between genuine and fraudulent registrations:
| Measure | Before calibration | After calibration |
|---|---|---|
| Auto-approve precision (score ≥ 75) | 97.68% | 99.50% |
| False approvals | 181 | 39 (−78%) |
| Genuine registrations auto-approved (recall) | 81.49% | 82.22% |
| High-risk zone precision (score < 55) | 81.95% | 87.54% |
The green zone went from meeting the target to comfortably exceeding it: false approvals fell by 78%, while slightly more genuine students were approved automatically. Precision in the high-risk zone improved as well.
The calibration also showed where to improve next. The 70–75 band, just below automatic approval, is still made up mostly of genuine registrations. That is where additional features would sharpen the boundary most, and it is a much more useful finding than a single overall accuracy figure.
A second, automated check for the uncertain middle
A suspicious score doesn’t have to mean more work for an officer. Registrations in the middle zone can trigger a second check automatically: the student receives an email asking them to upload a government ID and complete a liveness test.
That check uses Cerberus Facial ID, which uses AI and OCR to extract the details from the uploaded ID and return them as a structured JSON object that can be compared with the registration. It asks for evidence a genuine student can provide easily, and that is much harder to fake with a stolen or synthetic identity.
Together, the two products give enrolment officers a comprehensive process: confident automatic approval, automated verification for the uncertain middle, and a much smaller set of registrations that need a person.
Engineering for production
A scoring model that will be recalibrated needs to be safe to change. The Cerberus ID scoring service runs on versioned AWS Lambda functions behind a CI/CD pipeline. If a new calibration or logic change behaves unexpectedly in production, it can be rolled back to the previous known-good version in minutes, without touching the rest of the system. The platform is aligned with NIST IAL2 identity-assurance guidance.
Lessons for any automated decision
- Price your mistakes first. Decide what a wrong automatic approval (or rejection) costs, and set the precision target from that.
- Use zones, not a single cut-off. Act, check or reject: each zone gets its own error tolerance.
- Calibrate on real outcomes. Thousands of labelled historical decisions beat any intuition about weights.
- Look at the boundaries, not just overall accuracy. They tell you where more evidence would help.
- Automate the second check where you can, so “uncertain” doesn’t always mean “manual”.
- Make every model change reversible in minutes.
AI validation and production readiness
Before an automated decision goes live, you should know how often it will be wrong and what that will cost. We test models against your real-world data, set confidence thresholds from your business requirements and design the review processes for everything in between.
- Benchmarks against your historical outcomes, not a vendor’s test set
- Thresholds defined from what an error costs your business, then calibrated to meet them
- Human review and secondary checks designed for the uncertain middle
- Monitoring and fast rollback, so a model change is never a one-way door
Where should your thresholds be?
We benchmark automated decisions against your historical outcomes, so you can set thresholds from evidence and from what an error would cost your business.
Discuss your decision workflow →