Customer Health Scoring
A single number standing in for a complicated truth
Customer success teams managing hundreds or thousands of accounts can't manually review each one weekly. A customer health score compresses usage, engagement, support, and sentiment signals into a single number (or a small set of bands — green/yellow/red) so the team can triage: which accounts need proactive outreach, which are safe, which are quietly becoming expansion candidates.
The score is only as good as the signals feeding it and the discipline behind validating that it actually predicts what it claims to predict. A health score nobody has back-tested against real churn and expansion outcomes is just an opinion wearing a number.
The three signal families
Most health scores blend three categories of input, each catching a different failure mode on its own:
- Usage/engagement signals — login frequency, feature adoption breadth, active-user count relative to licensed seats, depth of usage of core (vs. peripheral) features. The strongest leading indicator of churn risk in most SaaS products, because disengagement precedes cancellation by months.
- Support signals — ticket volume, ticket severity, time-to-resolution, repeat issues on the same topic. Volume alone is ambiguous (heavy users file more tickets too); unresolved or escalating severity is the more reliable risk signal.
- Relationship/sentiment signals — NPS or CSAT responses, executive sponsor engagement, contract renewal date proximity, whether a champion within the account has left the company (a surprisingly strong predictor of churn, because institutional knowledge and internal advocacy leave with them).
Signal families and what each misses alone
| Signal family | Strength | Blind spot if used alone |
|---|---|---|
| Usage/engagement | Leading indicator, hard to fake | Misses satisfaction — high usage doesn't mean happy |
| Support | Captures acute friction | Volume alone conflates power users with frustrated users |
| Relationship/sentiment | Captures the human relationship | Low response rates, lagging, subject to recency bias |
Building the composite score
The common approach is a weighted sum: normalize each input signal to a comparable scale (e.g., 0–100), assign a weight to each based on how predictive it's proven to be, and sum to a composite score, which then maps to a risk band. Weights should come from actually correlating each signal against historical churn and expansion outcomes — not from a planning meeting's gut-feel allocation, which tends to overweight whatever's easiest to measure (ticket count) and underweight what's hardest (sentiment).
A simpler and often more actionable alternative is a rules-based model: explicit thresholds that trigger a status change regardless of the composite ("champion departed" or "zero logins in 30 days" auto-flags red, no matter what the weighted average says). Rules-based flags are easier for a CS team to explain and act on than a black-box composite number, even when the composite is statistically more accurate.
Composite health score (0-100 scale):
Signal Weight Example score Contribution
Login frequency (30d) 25% 70 17.5
Core feature adoption 25% 55 13.75
Open critical tickets 20% 30 (inverted) 6.0
NPS / sentiment response 15% 80 12.0
Champion still active (bool) 15% 100 or 0 15.0 or 0
Composite = sum of contributions
Band: 80-100 Green | 50-79 Yellow | below 50 Red
Override rule: champion departure OR 0 logins in 30 days
→ force Red regardless of composite score.An unvalidated score is worse than no score
Using health scores to predict churn and expansion
Health scores are most valuable when they drive two distinct, opposite-direction workflows rather than one undifferentiated "check on this account" alert:
- Churn prevention — a declining or red-banded score triggers proactive outreach from CS: a check-in call, a tailored training session, an executive relationship touch, before the renewal conversation becomes a save attempt.
- Expansion identification — a consistently high and *rising* score, especially combined with usage approaching seat or usage-tier limits, is a signal to route to sales for an upsell conversation. Expansion signals get far less attention than churn signals in most CS orgs, which is a missed-revenue problem — the same score that flags risk should be flagging opportunity on the other end of the distribution.
Health band to action mapping
| Band | Typical score range | Primary action |
|---|---|---|
| Red | Below 50 or rules override | Immediate CS outreach, executive escalation, save plan |
| Yellow | 50–79 | Scheduled check-in, adoption nudge, monitor trend |
| Green (stable) | 80–100, flat trend | Standard-cadence touch, no urgent action |
| Green (rising) | 80–100, upward trend + usage near limits | Route to sales for expansion conversation |
What's next
NPS is one of the sentiment signals that feeds a health score; understanding its specific strengths and limitations helps calibrate how much weight it deserves in the composite.
Next: Net Promoter Score (NPS) →
I build these systems professionally.
Whether it's a RAG pipeline, analytics migration, or AI workflow — let's talk.