Health Score Backtest Playbook 2026
Every quarter close, join last quarter's health scores against actual outcomes and compute the score's precision and recall: how many churned accounts were red 90 days out, and how much warning the score really gave. RevOps kills the vanity inputs, reweights toward behavior, and publishes the scorecard so the score earns the trust it's asking for.
An unbacktested health score is astrology for CS teams. Most scores are unweighted gut-feel assembled in a workshop three years ago — login counts, NPS, a CSM sentiment field — and the accounts that churn walk straight through them wearing green. Ask the uncomfortable question: of the accounts you lost last quarter, how many did your score flag red 90 days out? If you can't answer, your score is a decoration. This play makes the question a standing quarterly job: when the quarter closes, last quarter's scores get joined against the outcomes that actually happened, the score's precision and recall come out the other side, and RevOps reweights the model based on what it missed — in public, where the CS team can watch the score earn its authority.
This is a RevOps-owned play, and it's measured like a model, not a dashboard: the churned-while-green rate, the red-account false-alarm rate, the lead time the score actually gives, and — the sleeper — the CSM override rate against override accuracy.
How it works6 steps
01SignalTrigger on quarter close, with the scores as they were
The quarter closing in Salesforce fires the play, and the payload it needs is historical: each account's health score as it stood 90 days before its renewal decision, not the score today. Today's score has already absorbed the churn — dead accounts drift red on the way out and flatter the model.
- Snapshot scores weekly into your warehouse. If you aren't doing this yet, it is the first task of this play — you can't backtest a score you didn't keep.
- Pull renewal outcomes, churn reason codes and expansion events from the CRM in the same extract. Reason codes matter downstream: a score shouldn't be penalized for missing an acquisition-driven churn no behavior predicts.
02ScoreJoin scores to outcomes and compute the confusion matrix
One SQL join in the warehouse: score-at-T-minus-90 against outcome-at-renewal. Out comes a two-by-two every RevOps operator should know by heart — red or green, churned or retained — and the three numbers this play runs on:
- Recall (the misses): of the accounts that churned, what share were red 90 days out? This is churned-while-green, inverted — the number that decides whether CSMs should believe the score at all.
- Precision (the false alarms): of the accounts flagged red, what share actually churned or contracted? Below ~30%, CSMs learn to ignore red, and the score dies of alert fatigue.
- Lead time: for the churns the score did catch, how many days before the renewal decision did the account first go red? A correct flag 10 days out is trivia; the same flag at 120 days is a save motion.
Field report: the two numbers that matter most are churned-while-green and lead time. A score can post great topline accuracy and still be useless — right about the accounts nobody worried about, late on the ones everybody did.
03DecisionSplit on the only question that matters
Did green accounts churn? Set the bar in advance and write it down — a common line is: more than 20% of churned ARR was green at T-minus-90 means the model gets rebuilt, not tuned. If greens held, skip straight to publishing the scorecard; a passing grade is worth showing too, and skipping the audit on good quarters is how scores rot unnoticed.
04Human stepRevOps kills the vanity inputs and reweights
Now the operator work. Pull the feature weights and interrogate each input against the misses:
- Login counts — the classic green-churn generator. Accounts log in to export their data on the way out. Kill it or cap its weight.
- NPS — a relationship survey answered by your fans, on a lag. It predicts who answers surveys.
- CSM sentiment — it encodes the same optimism the forecast already has; as a score input it just launders gut-feel into a number.
Reweight toward behavioral engagement — breadth, depth and frequency of real product use, active-seat percentage, the features gone quiet. This is exactly the layer Accoil computes from the events you already send to Segment, PostHog, Amplitude or Mixpanel, so the reweight is configuration, not a data engineering project. Change a small number of weights per quarter and note what changed — next quarter's backtest has to be attributable, or you're just stirring.
05ActionPublish the scorecard to the CS team — every quarter, in public
Post the backtest to the CS team's channel on a schedule, whether the news is good or bad: the confusion matrix, churned-while-green, false-alarm rate, lead time, and what was reweighted and why. Four numbers and one change log — if it doesn't fit in a Slack message, it won't be read.
Publishing in public is the mechanism, not a nicety. CSMs don't distrust health scores because CSMs are stubborn; they distrust scores that have never been audited where they can see it. A score that shows its misses buys the right to be believed on its flags.
06OutcomeThe outcome: a score people act on — and override honestly
The play succeeds when red accounts get a response inside the SLA because the CS team believes red means something. Watch the override rate as your trust gauge: a score nobody overrides is as suspicious as one everyone overrides — the first means nobody's engaging with it, the second means nobody believes it. Healthy is a modest override rate with logged reasons, feeding the next quarter's backtest. That loop — score, outcome, audit, reweight — is the difference between a health score and health score theater.
The debate
The objection, stated fairly: health scores encode relationship knowledge that machines can't see. The CSM knows the champion just lost a political fight, that the exec sponsor is on the way out, that the renewal is safe because the customer said so at dinner. Reducing that to precision and recall strips out the judgment that makes CS a craft — and a model tuned purely on behavior will miss every churn that happens in the boardroom instead of the product.
Our answer: keep the human override — and log it as data. Every override gets a reason code and joins the same quarterly backtest as the model. If overrides consistently beat the score, your model deserves to die and your CSMs just wrote the spec for its replacement. If they don't — and most teams find the optimistic overrides are the ones that miss — publish that too. The debate between judgment and model isn't settled in a meeting. It's settled in the same join as everything else.
How Accoil fits
Accoil supplies the input layer that survives the backtest: behavioral engagement scores computed from the product events you already send to Segment, PostHog, Amplitude or Mixpanel — breadth, depth, frequency, active-seat percentage, features gone quiet — with the history to backtest against. The warehouse does the join, Salesforce holds the outcomes, Slack carries the scorecard to the team. Accoil's job is to make sure that when RevOps kills the vanity inputs, there's a measured behavioral signal ready to carry the weight.
Tools here stand in for categories — run the join in BigQuery or Databricks instead of Snowflake, keep outcomes in HubSpot or Pipedrive, post the scorecard to Teams — the loop is identical, and Accoil feeds the same engagement signal wherever the analysis happens.
Accoil is the scoring layer in this playbook — it works on the product events you already collect, and shows your accounts scored in under 48 hours. Free to start, no credit card.
Explore Accoil →Keep reading
Churn-Risk Save Playbook 2026
Catch accounts sliding toward churn while there is still time to act: an engagement-score drop fires the play carrying the score trend, active-user percentage and the features that went quiet; revenue context gets attached automatically; high-value accounts route to a CSM save motion within 48 hours and everyone else enters an automated re-engagement track.
Renewal-Risk Radar Playbook 2026
Renewals are lost in the quiet months before the date, not on the renewal call. Ninety days out, grade every renewing account against its own healthy baseline — engagement trend, active seats, champion activity — and sort the quarter into three lanes: green accounts queued for expansion review, watch accounts getting a value touch, and at-risk accounts entering a save plan.
Customer Layoffs Counter-Play 2026
When a customer announces layoffs your ARR already shrank — you just haven't been told. This play hears the news first: Clay's enrichment catches the layoff, Accoil rechecks seats and engagement against it, and the AM shows up with a right-size-and-retain offer before the customer asks — while the surviving team gets re-onboarded and the forecast gets the truth.
Every playbook, one download
All 31 workflows as print-ready playbooks — diagrams included. Plus every new workflow as we publish it.