Article

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.

Greg Toler, Founder 14 min read Account scoring Scoring Prioritization

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 scoreChurn risk scoreExpansion readiness score
The questionIs 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 onAdoption depth, seat breadth, support, relationshipUsage decline, champion loss, renewal proximity, payment issuesLimits being reached, new teams joining
DirectionHigher is betterHigher means more riskHigher 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 familyExample factorsWhy it mattersWhere the data lives
Product usage and adoption depthCore workflows completed in the last 30 days; integrations connectedA customer who has built your product into a weekly process has a reason to renewYour product database or analytics tool, synced to company properties in your CRM
Breadth: seats used vs. seats boughtActive users as a share of licensed seats; number of teams activeUnused seats are the first thing cut at renewal, and one active team is a single point of failureProduct data for active users; the subscription or deal record for seats bought
Support tickets and severityOpen tickets by severity; repeat tickets on one issueSeverity and repeats show friction. Count alone is ambiguous, because engaged customers also file ticketsYour help desk, associated to the company record
RelationshipChampion still in role; executive sponsor named; last NPS or CSAT responseRenewals are decided by people. When the buyer leaves, the case has to be made againContact records and job titles, survey responses, meeting activity
CommercialDays to renewal; late or failed payments; downgrade requests; contract changesThese say the least about value and the most about what happens nextDeal, 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.

IndicatorTypeNotice it gives
Core workflow usage falling over 30 to 60 daysLeadingMonths
Active seats falling as a share of seats boughtLeadingMonths
Champion leaves, or no executive sponsor namedLeadingMonths, if you catch it
Low NPS or CSAT responseMixedWeeks, and many accounts never respond
Late payment, downgrade request, contract changeLaggingDays 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.

OverrideWhat it triggers
Champion left or changed roleFind and meet the successor within two weeks, whatever the score
Open high-severity escalationNo expansion outreach until it closes; CS leader joins the thread
Downgrade request receivedExecutive outreach, and a review of which seats or features go unused
Renewal inside 90 days with a score under 4.0Executive 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.

Demo data. A customer health score for a demo account, shown out of 10: five factors add, the open escalation subtracts, and every weight is visible.

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 scorePlayOwner
7.0 and upExpansion conversation, plus a reference askAccount manager with the CSM
4.0 to 6.9Adoption plan: name the unused workflows and seats, and set a 60-day targetCSM
Under 4.0Executive outreach within a week and a written recovery planCS 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

MistakeWhat happensWhat to do instead
One blended number for health, churn risk, and expansionAn account with strong usage and a renewal problem scores the same as one with weak usage and a friendly championRun separate scores, each with its direction stated
CSM gut-feel fields weighted too highThe score repeats what the CSM already believesCap subjective fields at 10 to 15 percent, and require a date and a note
No decayActivity from two quarters ago props up an account that has gone quietScore rolling windows and expire old survey responses
Scoring logins instead of outcomesDaily logins look fine while the core workflow goes unusedScore 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.

  1. Take every account that came up for renewal in the last four quarters.
  2. 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.
  3. Group the accounts by band.
  4. Compare renewal rate and expansion rate by band.

A model that works produces a staircase like this one:

Health score 90 days before renewalAccountsRenewedExpanded
7.0 and up484519
4.0 to 6.961499
Under 4.023111

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.

Score anything
across the whole team.

RevOps
Owns the model

One shared definition of good, wired into HubSpot, that doesn’t need an engineer to change.

SDR / BDR
Works the list

A ranked list of who to work today, with the reasons sitting there before the call.

AE
Runs the deals

See which open accounts actually fit, and why, before you spend a cycle.

Sales leadership
Owns the number

One prioritized pipeline the team trusts, instead of reps cherry-picking.

Marketing / Demand gen
Feeds the pipeline

Spend on best-fit accounts, and stop passing leads sales won’t work.

Customer success
Grows the base

Score existing accounts for fit, expansion, and risk.

Sophisticated scoring for enterprise teams, simple enough for a team of one, technical or not.