An SSDI lead-scoring engine that tells you what it doesn't know.
We don't return a number on every lead. We return a composite, a credible interval, three sub-probabilities, and an expected-fee range — and we abstain when the data's thin. The math is defensible because it admits when it's guessing.
Who it's for
SSDI law firms
Score broker-purchased leads before your intake team works them. Decline guarantees that aren't, pursue the cases your engine says are unactionable.
Intake operations
Triage daily lead inflow on band + composite. Set firm-specific thresholds for pursue / nurture / review with a time-series log of every change.
Resellers + brokers
Score aged inventory to identify hidden-value leads. Resell to a different buyer at a premium when the engine says they look better than the seller did.
What the engine actually does
Six-layer FSM with Bayesian posteriors
Every lead walks through six decision layers — triage, listing-equivalence, grid-rule pathway, material-fact discovery, hearing-office posture, regional opportunistic discovery. Each layer updates a Beta(α, β) posterior over approval probability. Three sub-probabilities (reviewer / SSA-initial / ALJ) are tracked independently with their own credible intervals; the composite is a weighted-RSS combination, not an average of guesses.
HARD gates before the engine runs
Universal SSDI disqualifiers (currently represented, SGA-active, fails 12-month duration, no medical care, insured-status failed, DLI expired, already receiving SSDI) and HARD approves (Compassionate Allowance matches — ALS, stage-IV cancers, ESRD-on-dialysis, transplant wait-lists) bypass the FSM entirely. You don't pay engine cycles on decided cases.
Dollar attribution with propagated CI
Expected fee per lead = approval probability × estimated legal fee on approval, with the CI propagated through. When the broker omits monthly benefit, PIA variance widens the fee CI honestly. No hidden assumptions, no point estimate masquerading as certainty.
Calibration loop measured against your outcomes
Upload your own outcome CSV (case approved? attorney accepted?) and the engine retrofits its posterior calibration to your firm's reality. Live reliability diagrams, ECE, and Brier scores per bucket. When the engine says P=0.40, you can verify that it's actually 40%.
By the numbers
Compassionate Allowance conditions on the HARD fast-approve path
decision layers in the FSM, each updating a Beta(α, β) posterior
approval sub-probabilities — reviewer, SSA-initial, ALJ — each with its own credible interval
2026 SGA threshold the disqualifier gate checks every lead against
Drawn from the live engine substrate — not marketing rounding.
What a scored lead looks like
Every persisted score gets its own permalink — composite, CI, three sub-probabilities, top risk factors, engine telemetry, and lead-quality metrics in one place. Share with intake, counsel, or a prospective buyer.
Score URLs are noindex and operator-gated; only people you share the link with see the page.
How claimant data is handled
The CSV scoring path runs in memory and returns to your browser — the upload surface persists nothing on our side. Webhook-ingested records live in a US-region Supabase, partitioned by firm_idso no firm ever sees another's leads.
We don't sell, syndicate, or enrich lead data, and we don't train models on it. Scores are suggestions for the uploading firm's own use — not advice to the claimant, not a regulatory determination. The firm is the controller of its claimant data; Belmont Mills is a processor acting on the firm's behalf.
Full detail — subprocessors, retention, deletion — in the privacy policy.
Operator surface
CSV upload + scoring
Drop a broker CSV; every row scores through the engine; results table with band chips, composite, CI, expected fee. Select top picks, export.
Outcome upload
Close the loop with a CSV linking qualification_score_id to observed outcome. Every row writes a calibration observation we can fit against.
Operator thresholds
Set the cutoffs the engine uses to band a lead. Every change is appended to a time-series log so an old batch can be re-evaluated against the threshold active at the time.
Live methodology
Reliability diagrams, Expected Calibration Error, and Brier scores per (predicted-probability, observation-stage) bucket. Updated as observations land.
First launch partner
Lead Scorer is pre-launch. We're taking one firm as the first pilot partner, and the terms are built to make the answer easy:
- →Free through a 90-day pilot — no card, no per-lead pricing.
- →Thresholds tuned to your intake-to-retainer baseline, not a generic default.
- →Calibration measured against your own outcome CSV — you verify the math; we don't grade our own homework.
- →A direct line to the operator who built the engine.
Licensing
Lead Scorer is offered as a per-firm license — engine + operator surface + webhook ingest + outcome-upload calibration loop. No per-lead pricing; no usage tiers designed to penalize success.
Reach out with your monthly lead volume, your current intake-to-retainer conversion baseline, and what you'd want to measure against. We'll send terms.