1. Home
  2. Guides
  3. How to build a customer health score from data you already have
Guide

How to build a customer health score from data you already have

You don't need a new platform to know which accounts are in trouble. Here's how to build a simple health score in a spreadsheet, test it against customers you've already lost and tie each result to an action.

By Luis Ingles · Updated November 4, 2026

Book a call

To build a customer health score, pick four or five signals that show whether a customer is getting value, rate each one, weight them into a score from 0 to 100, and then check the result against accounts that have already renewed or left. You can do all of this in a spreadsheet with exports from your CRM, product analytics and support desk. A useful score does two things: it predicts risk early enough to act, and it tells the CSM what to do next.

Decide what the score is for

Before you touch any data, write one sentence describing the question the score answers. I'd use this one: "How confident are we that this customer will reach their goal and renew?"

That wording keeps you away from the most common trap, which is measuring activity because it's easy to count. A customer can log in every day and still see no business result. Another might use your product once a month for a workflow that runs monthly and be perfectly happy. Activity is an input. The customer's outcome is what you're trying to estimate.

Find the signals you already have

Most teams already hold enough data for a first version. It's just spread across different tools.

SignalWhere it livesWhat to look at
AdoptionProduct analytics or admin reportsShare of paid seats active, key workflows completed, direction over the last 90 days
OutcomesSuccess plans, business review notesProgress on the goals the customer named
RelationshipCalendar, email, CRM contactsSponsor access, number of active contacts, whether meetings still happen
SupportHelp deskSevere or repeat issues, escalations, tickets open a long time
CommercialCRM, billingRenewal date and status, late payments, requests to reduce seats

Use the trend wherever you can. An account that dropped from 80% of seats active to 50% worries me more than one that has held steady at 50%, even though the two look identical on the day you check.

Depth matters too. If one enthusiastic person accounts for most of the usage, the account depends on that person staying. Check how many people and teams are behind the numbers.

Don't leave out relationship signals because they feel subjective. A sponsor who stops replying or skips a review is often the first sign of trouble, and it can show up well before usage falls.

Build the first version in a spreadsheet

Start with one row per account and one column per signal. Write a plain definition for each rating so that two CSMs would give the same account the same answer. For example, adoption could be "on track" when most paid seats are active and the key workflow is in regular use.

Rate each signal as on track (1), mixed (0.5) or off track (0), then multiply by a weight. The weights below are a starting point I made up for illustration. They're not a benchmark, and they should change once you test them against your own customers.

A worked example

Here's a fictional account whose usage looks great, but whose champion left last month and whose renewal is 90 days away with no conversation started.

SignalWeightRatingPoints
Adoption30On track (1)30
Outcomes30Mixed (0.5)15
Relationship20Off track (0)0
Support10On track (1)10
Commercial10Mixed (0.5)5
Total10060

A usage-only score would call this account healthy. This one flags it, and the breakdown shows why: the relationship needs rebuilding before the renewal conversation begins.

Add overrides for serious events

Some events matter more than any weighted average can show. A blended score can stay green while a customer is deeply unhappy about one thing. Add a few simple rules, such as: a customer can't be green if their sponsor has left without a replacement, if a serious escalation is open, or if they've said they're evaluating alternatives.

Let the CSM add context

The CSM often knows things your systems don't. Give them a way to adjust the score, but require a written reason and keep the calculated score visible next to it. The note is often the most useful part, and it shows you which signals the model is missing.

Test it against customers you've already kept and lost

This step is what separates a health score from a guess. Take every account that churned or shrank in the last year, plus a similar number that renewed. Rate each one as it looked about 90 days before its renewal, using whatever records you have. Then ask:

  • Did the lost accounts score lower? If churned and renewed accounts look the same, the score isn't telling you anything yet.
  • Which losses did it miss? Read the notes on each green account that left. A missing signal is usually hiding in there.
  • Did it raise false alarms? If many low-scoring accounts renewed without any help, one of your signals probably counts for too much.

Adjust the weights and the definitions, then test again. Set your green, yellow and red cutoffs where the lost accounts actually cluster, not by dividing 100 into three even parts.

Be careful with small samples. If you've only lost a handful of customers, treat this as a sanity check and read each case closely, because the numbers alone can't prove much. Old relationship data may also be patchy, so note where you had to estimate.

Tie every color to an action

A score nobody acts on is just another dashboard. Decide in advance what each color triggers:

  • Green: keep your normal rhythm and look for expansion. Confirm the customer's goals at the next business review, since a good score isn't the same as a confirmed result.
  • Yellow: the CSM names the main cause and sets a next step with a date. The fix might be training, a new contact or a goal reset.
  • Red: create a save plan with one owner, review it weekly and bring in a leader if needed. My guide on how to reduce churn covers what to do once you've spotted the risk.

Show the reason next to the color every time. "Yellow: sponsor left, no renewal conversation" gives a CSM somewhere to start. "62" on its own doesn't.

Mistakes to avoid

  • Using one model for everyone. A self-serve customer and a large enterprise account behave differently. Start with separate weights or cutoffs by segment, and treat new customers separately, since they haven't had time to reach full adoption.
  • Hiding problems inside one big account. At enterprise customers, one team can be thriving while another has stopped using the product. In accounts as large as the ones I've worked on at Sana, I'd score the main teams or use cases separately before rolling them up.
  • Relying on lagging signals. A cancellation notice tells you what has already happened. Favor signals that move months before the renewal date.
  • Adding too many inputs. When a score has twenty inputs, nobody can explain why it changed, so nobody trusts it.
  • Building it and forgetting it. Products, customers and goals change. Review the model every quarter against recent renewals, and keep an eye on your net revenue retention by health color.
When to automateKeep it manual until you trust the model. Once updating it starts eating real time, connect the data sources and send an alert when an account changes color. I build automations myself, and they work far better once the logic has been tested by hand.

Want help seeing risk earlier?

If renewals keep surprising you, or your health score stays green right up until a customer leaves, I can help you find the risk early and protect the revenue.

Frequently asked questions

What is a customer health score?

A customer health score is a single rating that estimates how likely an account is to renew and grow. It combines signals such as product adoption, progress toward the customer's goals, relationship strength, support history and commercial status.

What should a customer health score include?

Include signals from several areas: depth of product adoption, progress on the customer's goals, sponsor and champion engagement, support trends and commercial signals such as renewal status. A score built only on logins or usage will miss many risks.

Do I need customer success software to build a health score?

No. A spreadsheet and exports from your CRM, product analytics and support desk are enough to start. A dedicated platform becomes more useful once you trust the model and updating it by hand takes too long.

How often should you update a customer health score?

Refresh the signals at least weekly if you can, and sooner for major events such as a champion leaving or a serious escalation. Review the model itself every quarter by comparing past scores with what actually happened at renewal.