Scoring runs in-process
No queue, no async job, no polling for a result. The logistic model scores the whole book in the same request that reads the CSV. By the time the confirmation screen appears, every account has a score and a band.
How it works
The three steps
Upload a CSV export from your billing tool or product analytics platform. Column names are matched loosely, so most exports work without renaming a header. Or load the one-click sample book of 48 believable accounts and see the scorer immediately.
The columns that matter: company, plan, monthly revenue, signup date, days since last sign-in, sign-ins for each of the last two 30-day windows, features used, seats paid and active, support tickets, and failed payments over 90 days.
From your CSV
Loose header matching
Scoring runs in-process the moment the import finishes: no queue, no async job, no waiting for a result. The same logistic regression model runs for every account, producing a churn probability between 0 and 1. The same inputs always produce the same score.
The model is code, not a prompt. It computes eight behavioral features from your data, standardizes them, multiplies by the fitted weights, and passes the result through a sigmoid. Deterministic and inspectable.
Scored and ranked
The ranked list puts the riskiest account first. Click any at-risk account to see the top behavioral factors that pushed the score, each tied to a concrete number from your data. A language model translates those factors into a drafted save email, a retention offer suggestion, and call notes.
On Growth, the weekly saves list surfaces only the accounts that crossed into at-risk since the last scoring run, so your CS team knows exactly what is new. On Scale, scores and factors are available via API.
Harrowgate Systems
90% at-riskSign-in recency
Last sign-in 31 days ago
Usage trend
Sign-ins down 79% month over month
Payment health
2 failed payments in 90 days
Under the hood
Import
CSV uploaded, headers matched loosely
Featurize
Eight behavioral features computed per account
Score
Logistic model: standardize, weight, sigmoid
Rank
Sorted by risk, then by revenue at risk
ExplainLLM
Language model translates top factors, drafts play
No queue, no async job, no polling for a result. The logistic model scores the whole book in the same request that reads the CSV. By the time the confirmation screen appears, every account has a score and a band.
The same inputs always produce the same score. There is no randomness in the scorer: no temperature, no sampling, no prompt that drifts. The ML model is fitted code; the language model only touches the explanation step.
Every factor shown to a human traces to a number in that customer's own row. "Last sign-in 31 days ago" is the actual value in the imported data, not an inference the model made. You can open the CSV and verify it.
Free for up to 200 customers a month. Score, rank, factors, and a drafted save email, no card required.