Customer Health Score: How to Calculate It and What to Do When It Drops

A customer health score rolls product usage, support, sentiment, and billing signals into one weighted 0-100 number using the four-step 100-Point Scorecard, with bands calibrated against your own churned accounts driving the specific action each score triggers.

Author
Theodore Sterling
Date posted
July 22, 2026
Category
Churn Metrics
Time to read
X min

A customer health score is a single 0-100 number that rolls product usage, support, sentiment, and billing signals into one weighted read on each account's churn risk. A high score flags an expansion candidate, and a low one flags a cancel risk.

When I rewrite an onboarding flow, I read the cancel-flow exit-survey responses first. The reasons people leave at month three are the reasons they didn't activate in week one.

In my retention consulting work at Churn.io, a health score is the tool that catches that gap while there's still time to act.

Key takeaways

  • Combine product usage, support, sentiment, and billing into one weighted 0-100 number.
  • Wire every score band to a specific action or it's just delayed reporting.
  • Build the score in a spreadsheet using the four-step 100-Point Scorecard.
  • Calibrate your bands against your own churned accounts, not an industry convention.
  • Weight product usage heaviest, because behavior predicts churn before opinions do.

What is a customer health score?

A customer health score is a single weighted number on a 0-100 scale, built from product usage, support, sentiment, and billing signals.

It measures one account's churn risk and its expansion readiness, which is how ready that account is to buy more. The two are the same signal read in opposite directions, and a base full of high scorers is the precondition for net revenue retention.

The score works by putting incompatible signals on one shared scale. Logins, support tickets, survey points, and payment events all measure something different, so the score converts each onto the same 0-100 ruler.

Now you can rank a 1,500-account base and act on it, rather than read 1,500 dashboards by hand.

Consider a fictional project-management tool (let’s call it Taskline) with 1,500 subscribers on a $30-a-month plan, monthly billing, and no customer success team.

Two accounts pay the same monthly fee and look identical on the revenue line. One scores 86 on heavy weekday use and a current card, an expansion candidate. The other scores 41 after three weeks without a login and one frustrated ticket, a churn risk.

The number is points, not a probability, so a score of 68 does not mean a two-in-three renewal chance. Reading the score as a percentage is the most common way people misuse it. That misread leaves you falsely confident about accounts that are quietly on their way out.

Why a health score nobody acts on is just churn reporting

A health score only pays off when each band is wired to a specific next action. The number tells you an account is slipping, but the number alone changes nothing about whether that account stays.

Most scores get built as a dashboard for a weekly or monthly review meeting. The trouble is timing. The at-risk window is the gap between when a customer disengages and when they decide to cancel, and it often closes before anyone opens the report.

I've kept subscriptions I'd already decided to drop, then cancelled weeks later on the first annoying renewal email. I made the decision early and clicked the button late. Your customers do the same thing, which means the signal that matters shows up well before the cancel.

Watch how that plays out in our fictional example from earlier.

An account's usage collapses in week one and the score drops with it, but the team only reviews scores once a month. The customer reaches the cancel page in week three, and the first human contact is the exit survey. By then it's too late to keep them.

Slow review cycles survive in high-touch enterprise customer success, where a named manager owns the account and a quarterly review catches the decline. That's not who this is for. The speed problem belongs to self-serve subscription businesses with nobody watching the account, which is exactly the segment most health-score advice skips.

How to calculate a customer health score (the 100-Point Scorecard)

The 100-Point Scorecard turns raw signals into one 0-100 number in four steps, and it runs in a spreadsheet before it ever needs software. Each step hands its output to the next, so the order is fixed:

  1. Choose the signals: pick the four to six signals that actually correlate with churn.
  2. Set the point scale: normalize each signal onto a shared 0-100 ruler.
  3. Weight the signals: multiply each by how strongly it predicts churn.
  4. Band the score: cut the total into healthy, watch, and at-risk ranges.

Here's how each step works.

Step 1. Choose the signals

Pick four to six signals that span product usage, support, sentiment, and billing. Choose them by how well they correlate with churn, not by what's easiest to export from your tools.

Product usage covers login recency and active days, and support covers ticket volume and the tone of those tickets.

Sentiment covers your net promoter score (NPS) and customer satisfaction (CSAT) replies.

Billing covers failed payments, card expiry, and downgrade inquiries, which is involuntary-churn territory rather than someone choosing to leave.

Every signal you pick has to tie back to a specific account. Maybe shared logins or missing per-account tracking mean your analytics can't do that. Fix the instrumentation first, because no weighting scheme rescues a signal you can't pin to one account.

One more factor to consider before you lock the list.

Prefer value events, like a completed workflow, over raw logins. The reason matters enough to get its own section later, so hold that thought. For per-signal threshold monitoring, churn prediction is the deeper treatment, and here signals are only score inputs.

Step 2. Set the point scale

Score each signal from 0 to 100 against the account's expected cadence, not against an absolute target.

A weekday-use product scores login recency differently than a monthly-report tool does, because daily quiet means a different thing in each. You're measuring the gap between what this kind of account should do and what it actually did.

Back to our Taskline, a weekday-use product.

Suppose an account logged in 12 of an expected 20 active days that month, which is 60 usage points. Its card is current with no failed payments, so billing scores 90 points. You set each signal's points this way before any weighting happens.

Step 3. Weight the signals

Assign each signal a weight that reflects how strongly it predicts churn, and make the weights sum to 1.0. Usage carries the heaviest weight because behavior predicts churn before opinions do, and a customer who has stopped showing up has already half-decided.

Taskline's starting weights are usage 0.40, support 0.20, sentiment 0.20, and billing 0.20. Each signal's points get multiplied by its weight, and the products add up to the health score.

Run the full calculation. Usage scores 60 points times its 0.40 weight, which is 24. Support is 80 times 0.20, or 16. Sentiment is 50 times 0.20, or 10, and billing is 90 times 0.20, or 18.

Add the four contributions and you get a health score of 68.

These weights are a starting hypothesis, not a law. If your churned accounts turn out to fail on sentiment more than usage, raise the sentiment weight and re-run the math, keeping the total at 1.0.

Step 4. Band the score

Cut the 0-100 output into three bands, from healthy at 80-100 to watch at 50-79 and at-risk below 50. Then name an owner or an automated action for each band, so a score landing in a band actually triggers something.

The 80 and 50 cut points are defaults, not benchmarks. They suit a monthly-billing base and give you somewhere to start before you have your own data.

Taskline's 68 lands in the watch band, which means it gets monitoring and a light re-engagement nudge rather than an urgent save play. An account at 41 would land in at-risk and route to a stronger intervention.

These bands stay arbitrary until you check them against real churn. They're defaults until you calibrate, and the next section shows how.

What is a good customer health score?

A good customer health score is one your churned customers reliably failed. There's no shortcut here, because no published industry distribution of health scores exists. Anyone quoting an industry-standard good score is quoting a convention, not a measurement.

Scores don't travel between companies. Different signals, different weights, and different point scales mean a 70 at one business isn't a 70 at another.

The fix is a back-test. Pull your recently churned accounts and check what they scored 60 days before they cancelled. That turns arbitrary cut points into predictive ones.

Let’s run it on Taskline. Of the 30 accounts that churned last month, 24 scored below 50 a full 60 days before they left, so the bands catch about 8 in 10 churns. The other 6 churned from healthy scores, and the section on false positives explains why some always will.

One boundary breaks the method.

Bands calibrated on monthly-billing behavior fall apart for annual contracts, because an annual subscriber can sit fully disengaged for nine months with zero billing signal. Annual cohorts need usage-weighted bands and a longer back-test window before the score means anything.

Once your healthy band is trustworthy, it doubles as your expansion list, the accounts ready to hear about growing NRR past 100%.

Use the NRR calculator to model how those expansion accounts shift your number.

What to do when a customer health score drops

A score drop earns a response matched to the band it enters and the signal that drove it. A watch-band usage drop gets automated re-engagement. An at-risk drop gets a pause or downsell offer before the cancel page. A billing-driven drop routes to payment recovery.

Matching the response to the driving signal keeps the playbook from defaulting to discounts. A usage drop is a value problem no discount fixes, while a billing drop is mechanical and recovers without an offer.

A drop in sentiment is different again, because it needs a human reply rather than an automation. Each band and signal maps to one action:

Band entered Driving signal Action
Watch (50-79) Usage falling Automated re-engagement sequence
At-risk (below 50) Usage or sentiment Pause option or downsell before the cancel page
Any band Failed payment or card expiry Payment recovery (involuntary churn)

Businesses that offer a pause option saw 25% of subscribers pause rather than cancel. A pause keeps the relationship alive where a cancel ends it, so it's worth testing even in B2B.

Recovery events saved 72% of at-risk subscribers in some cases and extended the subscription by a median of 141 days, so smart retries earn most failed payments back.

Wire the response to fire on its own

For a self-serve base, no human is assigned to the account, so the response has to fire on its own.

That's the gap our product fills. We watch the behavioral signals behind the score and trigger the matching cancel-flow intervention the moment a threshold is crossed (see how Churn.io does it).

Watch a second example Taskline account move. Its usage halves from 80 to 40 usage points, dropping the score from 82 to 66 and crossing into the watch band. That crossing fires the re-engagement sequence before anything reaches the cancel page.

One rule keeps automation going. Trigger on band changes, not on every dip. Tie an offer to every small point move and you fire too often, and you teach healthy customers to wait for a coupon. So a two-point wobble inside the watch band gets monitoring, not a discount.

A healthy account climbing toward the top of its plan is a different conversation, closer to upsell vs cross-sell than to a save play.

When a health score lies (false positives and structural churn)

A health score lies when its heaviest inputs are presence signals. Logins measure showing up, not getting value, and an account can log in daily while getting nothing done.

Scores drift toward presence signals because those signals are abundant and cheap to instrument. Value signals, like core-feature events and completed workflows, are scarcer and need deliberate tracking.

So the easy score and the honest score pull apart, and the easy one flatters accounts that are coasting.

The gap is real and measurable. The average core feature adoption rate for SaaS products is 24.5%. On the average product, then, roughly three of four users never adopt the core feature, however often they log in. A score built on logins would read most of those users as healthy.

Even a well-calibrated score misses structural churn, where the customer's own business shuts down or stops needing your category. Those accounts can score healthy right up to the last invoice.

That's why no health score predicts perfectly, and why the back-test always leaves a false-negative tail.

FAQ

How often should you recalculate a customer health score?

Recalculate weekly for a monthly-billing self-serve base. Move to daily only once your interventions are automated and can act on a fresh score the same day.

Should every customer segment use the same health score formula?

No. Segment the weights when behavior differs by plan tier, billing term, or lifecycle stage, since an annual enterprise account and a monthly self-serve account churn for different reasons.

How long before a new customer's health score means anything?

A score needs a baseline of expected behavior before any deviation is measurable. New accounts belong to onboarding metrics for their first few weeks, not the health score.

What's the difference between a customer health score and churn prediction?

A health score is one leading-indicator input that a churn-prediction system can act on. Prediction is the broader discipline, including machine-learning models that weigh many inputs at once.

Theodore Sterling

Share this article: