Customer health score: how to build one your CS team can explain
A health score is only useful if a CSM can say why an account got its number. Here is how to build one from data you already keep, and how to check it against renewals.
A customer health score is a single number that says how likely a customer account is to keep getting value from your product, built from weighted factors such as product adoption, seats used against seats bought, support tickets, relationship strength, and commercial signals. A good one is explainable: anyone on the customer success team can say which factors produced the number and what to do about it.
This guide covers customer scoring for B2B companies: what to measure, how to weight it, how to keep it current, and how to check that it predicts renewals. It also covers the churn risk score, which uses much of the same data to answer a narrower question.
Health, churn risk, and expansion readiness are three questions
Teams often ask one score to do all three jobs. The data overlaps, but the questions and the weights differ.
| Customer health score | Churn risk score | Expansion readiness score | |
|---|---|---|---|
| The question | Is this customer getting value right now? | How likely is this customer to leave at the next renewal? | Is this customer ready to buy more? |
| Leans on | Adoption depth, seat breadth, support, relationship | Usage decline, champion loss, renewal proximity, payment issues | Limits being reached, new teams joining |
| Direction | Higher is better | Higher means more risk | Higher means more ready |
Write the direction of each score next to its name, because a 7.8 on health and a 7.8 on churn risk mean opposite things. Our upsell and cross-sell scoring guide covers the expansion models, so this piece stays with health and churn risk.
A customer scorecard is the manual version: one page, one account, filled in by a CSM before a business review. It is a good way to agree on the factors before you automate them.
What goes into a customer health score
Five families of factors cover most B2B products. Pick one to three factors from each, and only factors you can fill in for most accounts.
| Factor family | Example factors | Why it matters | Where the data lives |
|---|---|---|---|
| Product usage and adoption depth | Core workflows completed in the last 30 days; integrations connected | A customer who has built your product into a weekly process has a reason to renew | Your product database or analytics tool, synced to company properties in your CRM |
| Breadth: seats used vs. seats bought | Active users as a share of licensed seats; number of teams active | Unused seats are the first thing cut at renewal, and one active team is a single point of failure | Product data for active users; the subscription or deal record for seats bought |
| Support tickets and severity | Open tickets by severity; repeat tickets on one issue | Severity and repeats show friction. Count alone is ambiguous, because engaged customers also file tickets | Your help desk, associated to the company record |
| Relationship | Champion still in role; executive sponsor named; last NPS or CSAT response | Renewals are decided by people. When the buyer leaves, the case has to be made again | Contact records and job titles, survey responses, meeting activity |
| Commercial | Days to renewal; late or failed payments; downgrade requests; contract changes | These say the least about value and the most about what happens next | Deal, subscription, or billing records |
One more input sits outside the five families: fit. Customers who never matched your ideal customer profile tend to struggle whatever your CS team does. Keep fit as its own score and read it beside health.
Leading and lagging indicators
A leading indicator moves before the customer has decided anything. A lagging indicator confirms a decision that is mostly made. A score built on lagging indicators is accurate and late.
| Indicator | Type | Notice it gives |
|---|---|---|
| Core workflow usage falling over 30 to 60 days | Leading | Months |
| Active seats falling as a share of seats bought | Leading | Months |
| Champion leaves, or no executive sponsor named | Leading | Months, if you catch it |
| Low NPS or CSAT response | Mixed | Weeks, and many accounts never respond |
| Late payment, downgrade request, contract change | Lagging | Days to weeks |
Use leading indicators as the weighted factors in the health score. Use lagging indicators as overrides and in the churn risk score, where a late answer is still better than none.
How to weight the factors
Weights are percentages that add up to 100. Start from judgment, then correct with data.
- Behavior, 50 to 60 percent. Adoption depth and seat breadth are observed, hard to fake, and early.
- Relationship, 15 to 25 percent. It matters, but half of it is usually typed in by a person.
- Support, 10 to 20 percent. Score severity and repeats.
- Commercial, 5 to 10 percent in the health score, and much more in the churn risk score.
- About 5 percent for a factor that subtracts, such as an open escalation.
Then check the weights against your history. List the accounts that churned in the last year and the accounts that renewed and grew, and ask whether each factor looked different between the two groups six months before renewal. Factors that separated the groups deserve more weight. The method is the one in our five-step framework for building an ICP scoring model, applied to customers.
A missing value contributes 0 to the score. It is not a penalty, but an account with an empty usage field will still score below one with data, so fix coverage on a factor before you give it real weight.
Decay and recency
Health is a statement about now. A customer who was active last spring and silent since should score low, and lifetime totals hide that.
- Use windows. Score “core workflows in the last 30 days”, not “core workflows ever”. Use 90 days for products used monthly or seasonally.
- Compare windows. “Active users, last 30 days against the prior 30 days” turns a level into a direction.
- Let opinions expire. Score an NPS response together with its date, and let responses older than two quarters fall to 0.
The work happens upstream, in the properties you score. If the property is a rolling 30-day count, the score fades on its own when usage stops.
Overrides and disqualifiers
Some events matter more than any weighted sum. There are two ways to handle them.
A factor that subtracts. An open escalation can sit in the model as a disqualifying factor: it rates 0 when nothing is wrong and takes points off when something is.
A rule that sits above the bands. Some events should trigger a play no matter what the number says.
| Override | What it triggers |
|---|---|
| Champion left or changed role | Find and meet the successor within two weeks, whatever the score |
| Open high-severity escalation | No expansion outreach until it closes; CS leader joins the thread |
| Downgrade request received | Executive outreach, and a review of which seats or features go unused |
| Renewal inside 90 days with a score under 4.0 | Executive outreach this week |
Keep the list short. Four overrides get followed. Fifteen get ignored.
A worked example
Here is a demo customer account scored on a health model with five weighted factors and one that subtracts.
- Adoption depth (4 of 6 core workflows, last 30 days) 30% 7.4
- Seats used vs. bought (41 of 60 active) 20% 6.8
- Relationship (champion in role, no executive sponsor) 20% 5.6
- Support (2 low-severity tickets, both resolved) 15% 8.2
- Commercial (paid on time, no contract changes) 10% 8.7
- Open escalation (1, medium severity) 5% -4.5
The math: 7.4 at 30% is 2.22, 6.8 at 20% is 1.36, 5.6 at 20% is 1.12, 8.2 at 15% is 1.23, and 8.7 at 10% is 0.87, which adds to 6.80. The open escalation subtracts 4.5 at 5%, or 0.225, for a health score of 6.6.
The reasons say more than the number. Adoption is decent, a third of the seats sit unused, and nobody senior on the customer side owns the relationship. The CSM’s next moves: close the escalation, then get a sponsor named and the idle seats assigned. At 6.6, the account falls in the band below that calls for an adoption plan.
Plays by score band
A score only helps if each range of numbers has an owner and a next step. Use numeric bands and write them down.
| Health score | Play | Owner |
|---|---|---|
| 7.0 and up | Expansion conversation, plus a reference ask | Account manager with the CSM |
| 4.0 to 6.9 | Adoption plan: name the unused workflows and seats, and set a 60-day target | CSM |
| Under 4.0 | Executive outreach within a week and a written recovery plan | CS leader with an executive |
Set the cutoffs from your own renewal history. Let renewal timing set urgency: an account under 4.0 with a renewal in 60 days comes before one with a renewal in ten months.
Many CS tools show health as red, yellow, and green. Gainsight’s scorecards, for example, offer numeric, color, and grade schemes, with ranges mapped to colors. That is quick to read on a dashboard, but a color hides how far an account sits from the line: a 6.9 and a 4.1 share a color and need very different amounts of work. Keep the number in front of the team.
Common mistakes
| Mistake | What happens | What to do instead |
|---|---|---|
| One blended number for health, churn risk, and expansion | An account with strong usage and a renewal problem scores the same as one with weak usage and a friendly champion | Run separate scores, each with its direction stated |
| CSM gut-feel fields weighted too high | The score repeats what the CSM already believes | Cap subjective fields at 10 to 15 percent, and require a date and a note |
| No decay | Activity from two quarters ago props up an account that has gone quiet | Score rolling windows and expire old survey responses |
| Scoring logins instead of outcomes | Daily logins look fine while the core workflow goes unused | Score completed workflows, connected integrations, and reports delivered |
Several of these mirror mistakes in prospect models, covered in our piece on where teams get ICP scoring wrong.
How to validate a customer health score
A health score makes a testable claim: accounts with lower scores renew less often. Check that claim.
- Take every account that came up for renewal in the last four quarters.
- Record each account’s score at a fixed point before renewal, such as 90 days out. If you have no stored scores, start stamping the score into a dated property now.
- Group the accounts by band.
- Compare renewal rate and expansion rate by band.
A model that works produces a staircase like this one:
| Health score 90 days before renewal | Accounts | Renewed | Expanded |
|---|---|---|---|
| 7.0 and up | 48 | 45 | 19 |
| 4.0 to 6.9 | 61 | 49 | 9 |
| Under 4.0 | 23 | 11 | 1 |
These are demo numbers, shown only to illustrate the shape. If your bands renew at similar rates, the usual causes are a subjective field carrying too much weight or usage factors without recency. Look also at the accounts that scored 7.0 and up and still left. Whatever they had in common is your next factor or override.
Where BoostIdeal fits
Customer health is not a separate BoostIdeal feature. It is a use case of account scoring. You can build a health model in BoostIdeal as an account score from the properties you already keep in HubSpot: usage fields you sync in, ticket counts, renewal date. You choose the factors and set the weights by hand, and the score, shown out of 10, writes back to the company record with its reasons, where a CSM can read them and your workflows can act on them. Scores recalculate hourly by default, and in near real time with webhook sync. Health and churn risk can run side by side as two models, and custom objects such as subscriptions can be scored too.
Two limits to know. BoostIdeal scores what is in HubSpot or in a CSV you upload, so product usage has to reach one of them. And it keeps no score history, so stamp the score into a dated property if you want to validate against it later.
HubSpot has its own option. Service Hub Professional and Enterprise include a health score in the customer success workspace, built from point rules with customizable status labels and optional decay. If you own Service Hub and a points model is enough, start there.
When BoostIdeal is not the right fit: your data is not in HubSpot and you do not want to work from CSV uploads, you need a full customer success platform with playbooks built in, or you want a vendor to hand over a number you never question.
Frequently asked questions
What is a customer health score?
A customer health score is a number that summarizes how much value a customer account is getting from your product, based on weighted factors such as adoption, seat usage, support history, relationship strength, and commercial signals. Customer success teams use it to decide which accounts need attention and what kind.
How do you build a customer health score?
Choose one to three factors from each of five families: adoption depth, seat breadth, support, relationship, and commercial. Rate each from 0 to 10, set weights that add up to 100, add overrides for events such as a champion leaving, and define a play for each numeric band. Then test the score against past renewals.
What is the difference between a customer health score and a churn risk score?
A health score asks whether the customer is getting value now, and higher is better. A churn risk score asks how likely the customer is to leave at the next renewal, and higher means more risk. Churn risk gives more weight to renewal timing, usage decline, champion loss, and payment issues.
What is a customer scorecard?
A customer scorecard is a one-page health score that a CSM fills in by hand for a single account, usually before a business review. It lists the factors, a rating and weight for each, and the evidence behind every rating.
How do you know if a customer health score is accurate?
Compare outcomes by band. Take the accounts that came up for renewal over the last four quarters, group them by their score 90 days before renewal, and check renewal and expansion rates. Lower bands should renew clearly less often.
Can you build a customer health score in HubSpot?
Yes. HubSpot’s Service Hub Professional and Enterprise include a health score in the customer success workspace. You can also build a health model as an account score on company properties, which is how it works in BoostIdeal, with the reasons written to the record.
The takeaway
A customer health score earns its place when a CSM can read the number, see the reasons, and know the next step. Build it from behavior first, keep it current with rolling windows, let a few overrides outrank the total, and keep churn risk and expansion readiness as their own scores. Then hold it to the test that counts: whether the accounts that scored low were the ones that left.