Get the working resource ↓
SaaS Customer Marketing Guide 6 min read

Customer health scores for marketers

What belongs in a health score, building one without a CS platform, syncing bands into campaign triggers, and backtesting the score against churned cohorts.

On this page 7 sections
  1. What actually belongs in a health score?
  2. How do you build one without Gainsight or Totango?
  3. How do you backtest the score against churned accounts?
  4. What campaign belongs in each band?
  5. How do you keep the score from rotting?
  6. The honest limits
  7. What to do this week
  8. Frequently asked questions

The short answer

A customer health score combines usage breadth and depth, champion and admin presence, support sentiment, invoice health and advocacy activity into a single number used to band accounts by renewal risk. Marketers usually inherit one they did not build. Before campaigning against it, backtest it against last year's churned accounts: if the score did not separate churned from retained accounts 90 days out, it has no predictive power and should be rebuilt around two variables instead of twelve.

Key points before you start

Somebody in customer success built a health score two years ago using the fields that happened to be available, weighted them by intuition, and shipped it. Nobody has checked since whether it predicts anything. Now marketing is being asked to run retention campaigns against its bands.

That is the normal situation, and it is fixable in about two weeks. Start by finding out whether the score you inherited works at all, because the answer determines everything else.

What actually belongs in a health score?

Five input families, and they are not equally useful. Most scores fail by including twelve inputs where three carry the signal, because weakly correlated variables dilute the strong ones.

InputSuggested weightWhy it predictsCommon mistake
Usage breadth: distinct active users and features30%Multi user, multi feature adoption is hard to rip outMeasuring total sessions instead, which one power user inflates
Admin and champion activity25%The person who defends the renewal is or is not presentNot tracking when the champion's email bounces
Depth in the core workflow15%Distinguishes real work from light explorationCounting any feature equally, including settings pages
Support signal15%Ticket volume spikes and negative sentiment precede exitsTreating all tickets as bad. Onboarding tickets are healthy
Invoice and commercial health10%Late payment and seat reduction are late but certain signalsWeighting it high, by which point it is too late to act
Advocacy activity5%Reference, review and community activity signal commitmentOverweighting it. Small numbers, high variance
Starting weights for a B2B SaaS product sold by seat. Adjust after backtesting, not before.

Champion tracking deserves special attention because it is the highest value input most teams do not have. When the person who bought your product leaves the company, renewal risk jumps sharply, and the signal is available cheaply: an email bounce, a LinkedIn title change, a login that stops. A large share of B2B SaaS churn has a champion departure in the preceding quarter, and it is often the only signal that appeared before the notice.

The cheapest input you are not using

Add a rule that flags an account when a contact tagged as champion or admin has a bounced email or no login for 30 days. It costs almost nothing to implement and in most accounts it surfaces more genuine risk than the rest of the composite combined.

How do you build one without Gainsight or Totango?

Three queries, four CRM fields, one scheduled job. Roughly two weeks of work for one analyst and one marketing ops person. The definitional groundwork is in what is a customer health score, and what follows is the build.

A two week health score build

  1. Query one: usage breadth per account, last 30 days

    Count distinct active users and distinct core features used, grouped by account id. Exclude settings, billing and login events from the feature count. Output one row per account.

  2. Query two: admin and champion activity

    Days since the most recent action by any user with an admin role, plus a flag for whether a CRM contact marked as champion has bounced or gone inactive for 30 days.

  3. Query three: support and commercial

    Ticket count in the last 60 days split into onboarding and problem categories, plus days late on the most recent invoice and any seat count change since last renewal.

  4. Compute the composite weekly

    Normalise each input to 0 to 100 against your own customer base rather than against an absolute scale, apply the weights, and sum. Store the component scores too, because the components are what a marketer acts on.

  5. Write four fields to the CRM

    Health Score, Health Band, Top Risk Reason, Score Date. The reason field is the one that makes the score usable in a campaign or a call.

  6. Sync bands to the marketing automation platform

    Push the band value, not the raw number, into HubSpot or your platform of choice as a contact and company property. Build dynamic lists on the band so segments update themselves.

  7. Backtest before you launch a single campaign

    Method below. Do this before the campaigns, not after, because launching on an invalid score costs you credibility you will need later.

Why bands rather than raw scores in the marketing platform? Because a raw number drifts constantly, which means every dynamic list recalculates daily and campaign entry becomes noisy. An account bouncing between 61 and 64 does not change treatment. An account dropping from Healthy to Watch does.

2 to 4

Inputs in a health score that typically outperforms a twelve variable composite

saas-marketing.net model, method shown on the page

Editable working copy

Download this template

Save an editable working copy of the framework on this page. Add your own owners, evidence and decisions.

We never sell your data. Your resource opens here after submission.

How do you backtest the score against churned accounts?

This is the step that separates a useful score from a decorative one, and almost nobody does it. The method takes an afternoon.

Take every account that reached a renewal decision in the last twelve months. Recompute the score as it would have looked 90 days before that renewal date, using only data available at that time. This is the important constraint: if you score them using data from after the churn event, you will prove the score works and be wrong.

Then compare distributions. Put churned accounts and retained accounts side by side.

Backtest resultMedian score, churnedMedian score, retainedVerdict
Strong separation3471Trust it, build campaigns
Weak separation5261Rebuild around the two strongest components
No separation5860The score is decorative, stop using it
Inverted6655Something is wrong in the data pipeline, investigate

If separation is weak, run the same comparison on each component individually. You will usually find that one or two components separate cleanly and the rest are noise that was cancelling them out. Rebuild the score with just those, accept that it looks crude, and note that a crude score that predicts beats an elaborate one that does not.

The leakage trap that fakes a good result

Scoring churned accounts using their final month of data will show beautiful separation, because usage collapses right before churn. That tells you nothing useful. You need a 90 day warning to act, so score at 90 days out or the whole exercise is theatre.

Pair the backtest with a qualitative pass. Read the churn notes on twenty lost accounts and check whether the reason recorded there was something your score could ever have seen. If half the churn was caused by an acquisition or a budget cut, no health score will predict it, and you should size your retention programme accordingly. The diagnostic sequence in churn risk audit checklist covers that review properly.

What campaign belongs in each band?

Different bands need different treatment, and the biggest error is sending the at risk band an email sequence.

Healthy, roughly 70 and above. These accounts get expansion offers, seat growth nudges, advanced feature education and advocacy asks. This is where your reference and review requests should come from, which is the natural feed into a customer advocacy program. Expansion plays for this band are covered in expansion marketing plays.

Watch, roughly 45 to 70. The most valuable band and the most neglected. These accounts are using the product but narrowly. The right campaign is specific: name the feature they are not using, explain the outcome it produces for accounts like theirs, and invite them to a 30 minute workshop. Generic newsletters do nothing here.

At risk, below 45. Do not send a campaign. Send a person. An automated re engagement email to an account whose champion left and whose tickets are unresolved reads as tone deaf and can accelerate the decision. Marketing’s job for this band is to arm the CSM with the reason and the relevant asset, not to email the account. The sequencing for this sits in churn prevention marketing.

BandTriggerChannelOwnerSuccess measure
HealthyScore above 70 for 60 daysEmail, in app, communityMarketingExpansion revenue, review volume
WatchBand change down, or flat 90 daysTargeted email plus workshop inviteMarketing with CSReturn to Healthy within 60 days
At riskBand change to at riskCSM call within 5 daysCustomer SuccessRenewal rate versus matched cohort
Champion lostChampion bounce or inactivityExecutive introduction to successorCS and AENew champion identified within 30 days

That last row is worth building as a separate trigger rather than folding into the score. It is actionable in a specific way, it has a clean play attached, and the window to act is short.

Editable working copy

Get this checklist as a working file

Save the checks on this page as a working copy and assign an owner, status and evidence for each action.

We never sell your data. Your resource opens here after submission.

How do you keep the score from rotting?

Ownership and a review cadence. Health scores decay because the product changes, new features launch, a feature in the breadth count gets deprecated, and nobody updates the query.

Four maintenance commitments, and they are small.

  • One named owner, reviewed in the same meeting as pipeline. If nobody’s name is on it, it is nobody’s.
  • Quarterly backtest on the trailing twelve months of renewals. Fifteen minutes once the query exists.
  • Feature list review whenever the product ships something significant, because the breadth count needs updating.
  • An annual decision about whether to simplify. Scores accumulate inputs over time and almost never lose them, which is how a three variable model becomes a fourteen variable one that predicts worse.

The broader programme context sits in customer lifecycle marketing, because a health score is only useful inside a lifecycle where somebody acts on each band.

The honest limits

A health score is a probability estimate built on the subset of reality your systems happen to record. It cannot see a new CFO running a software consolidation review, a competitor’s aggressive displacement offer, or the acquisition that will consolidate your buyer onto another platform. In many portfolios those causes account for a meaningful share of churn, and no amount of modelling will surface them in advance.

It also creates a real risk of self fulfilling neglect. If at risk accounts get de prioritised because they look likely to leave, the score becomes a prophecy rather than a prediction. Watch for that by comparing renewal rates of accounts that entered the at risk band and received intervention against those that did not.

And the score will produce false positives. Seasonal businesses drop in usage every year without any renewal risk. Build a seasonality exception before your first campaign rather than after an awkward email lands in a customer’s inbox during their quiet quarter.

What to do this week

Run the backtest on your existing score before building anything new. It takes an afternoon and it tells you whether the last two years of health score reporting meant anything. If separation is weak, rebuild around the two strongest components and add champion departure tracking, which is usually the highest value addition available.

Then sync bands rather than raw scores into your marketing platform, assign a campaign per band, and put the quarterly backtest in someone’s calendar. Wider programme design and worked examples are in SaaS customer marketing, customer marketing campaign ideas and SaaS customer marketing examples.

Editable CSV worksheet

SaaS Customer Marketing planning worksheet

A practical retention planning worksheet: decisions, owners, evidence and next actions.

We never sell your data. Your resource opens here after submission.

Frequently asked questions

What is a customer health score?

A customer health score is a composite number, usually 0 to 100, that estimates how likely an account is to renew and expand. Typical inputs are product usage breadth and depth, presence of an active admin or champion, support ticket volume and sentiment, payment history and advocacy behaviour. It is used to band accounts into groups like healthy, watch and at risk, and to trigger different treatment for each.

What inputs actually predict renewal?

Usage breadth across distinct users and features, plus admin and champion activity, carry most of the predictive weight in B2B SaaS. Support ticket sentiment and invoice health add a little. Login counts and total session time add almost nothing once breadth is accounted for, because a single heavy user does not protect a renewal decision made by their manager.

Can marketers build a health score without a customer success platform?

Yes. Three warehouse queries covering active users per account, distinct features used and days since last admin action, joined to CRM renewal dates and support ticket counts, will get you a workable score. Write four fields back to the CRM and sync bands to your email platform. That is a two week build, not a six figure purchase.

How do you validate a customer health score?

Backtest it. Recompute the score as it would have looked 90 days before renewal for every account that came up for renewal last year, then compare the distributions for churned and retained accounts. If the median score of churned accounts is not clearly lower, the score is not predictive and no campaign built on it will work.

What campaigns should each health band get?

Healthy accounts get expansion and advocacy asks. Watch accounts get education on the feature they are not using and an invitation to a workshop. At risk accounts get a human, not an email sequence, because a nurture campaign sent to an account that hates you accelerates the exit rather than preventing it.

How often should health scores refresh?

Daily for usage inputs, weekly for the composite score, and never more than monthly for any manual inputs like a CSM sentiment rating. Faster refresh does not mean better decisions, but a score more than a month stale will route campaigns based on a situation that has already changed.

Why do most health scores fail?

They are built from whatever data was available rather than from what predicts churn, they include too many weakly correlated inputs that cancel each other out, they are never validated against actual churn outcomes, and nobody owns them after the person who built the model leaves. The fix is fewer variables and one honest backtest.

The saas-marketing.net editorial team Research and editorial

We research, write and maintain every page on this site. The library explains marketing decisions through practical frameworks, explicit assumptions and references. Corrections can be requested through the contact page.

Published September 11, 2026. Last updated .