Customer Health Score Formula: 5 Signals (2026)

AAI for Database TeamAUG 26 2026

A customer health score should tell your customer success team which accounts need attention before the renewal meeting appears on the calendar. Too many teams turn it into a decorative number: they average a few metrics, color the result green or red, and hope it predicts churn.

A useful customer health score formula is explicit about five things: the outcome, the signals, the scale, the weights, and the action tied to each score band. This guide gives you a practical formula, a worked SaaS example, and a way to improve it using your own renewal data.

The customer health score formula

Use a weighted score on a 0–100 scale:

Customer health score = (signal 1 score × weight 1) + (signal 2 score × weight 2) + … + (signal n score × weight n)

Every signal is first converted to a score between 0 and 100. All weights must add up to 100%, or 1.0 in decimal form. The final result therefore stays between 0 and 100, which makes it easy to explain, chart, and use in workflows.

For a SaaS product, a strong starting model uses five signals. It is complex enough to capture different kinds of risk but simple enough that a customer success manager can challenge the logic.

  • Core feature adoption — 30%
  • Usage frequency and recency — 25%
  • Breadth of adoption across users or teams — 15%
  • Support friction — 15%
  • Commercial and relationship signals — 15%
  • These are starting weights, not universal truth. Your product may depend more on transaction volume, data freshness, integrations, completed projects, or another value event. Keep the structure and replace the signals with evidence that matches how customers receive value.

    A worked example with 5 signals

    Assume Acme has 25 paid seats. Its admins configured the main integration, but adoption is concentrated in one team. Usage fell during the past two weeks, support volume is manageable, and the account has no overdue invoices.

  • Core feature adoption: 80 × 30% = 24.0
  • Usage frequency and recency: 60 × 25% = 15.0
  • Breadth of adoption: 40 × 15% = 6.0
  • Support friction: 70 × 15% = 10.5
  • Commercial and relationship signals: 100 × 15% = 15.0
  • Acme’s customer health score is 70.5. That number is not a diagnosis by itself. It is a compact explanation: the account is commercially stable, but narrow adoption and declining usage create renewal risk.

    A simple first set of bands is 75–100 for healthy, 50–74 for watch, and 0–49 for at risk. Do not copy those thresholds forever. Backtest them against renewals, contractions, and churn, then move the cutoffs until each band produces a meaningfully different outcome rate.

    How to turn raw data into a 0–100 signal

    Weighting only works when inputs share a common scale. Raw events such as logins, tickets, seats, and invoices cannot be averaged directly. Normalize each one before it enters the formula.

    Binary milestones

    Use 100 when the customer completed a required milestone and 0 when they did not. Examples include connecting an integration, inviting a teammate, publishing a dashboard, or completing onboarding. If a milestone has partial states, use a small rubric such as 0, 50, and 100.

    Percentages

    Percentages can often map directly. If 14 of 20 licensed users were active in the last 30 days, breadth of adoption is 70. Cap the result at 100 so unusually high activity cannot distort the full score.

    Counts and continuous values

    Set a target that represents healthy use, divide the customer’s value by that target, multiply by 100, and cap at 100. If the target is 50 completed workflows per month and the account completed 35, its workflow signal is 70.

    Use segment-specific targets where necessary. A two-person startup and a 500-seat customer should not be judged against the same activity count.

    Recency

    Recency should decay as time passes. One simple rubric is 100 for activity in the last 7 days, 75 for 8–14 days, 50 for 15–30 days, 25 for 31–60 days, and 0 beyond 60 days. Change the windows to match your product’s natural usage cycle.

    Negative signals

    For inputs where a higher raw value means worse health, reverse the score. Support friction might be 100 with no unresolved critical issue, 60 with one old high-priority issue, and 0 during a severe unresolved incident. Document the rule so a bad experience cannot accidentally increase health.

    How to choose weights without guessing forever

    Your first weights will contain judgment. That is fine. The mistake is treating them as permanent before checking whether they separate retained customers from churned customers.

  • Define the outcome first. Choose renewal, expansion, activation, or another event, plus a time horizon such as renewal in the next 90 days.
  • Use four to seven signals. Each signal should measure a different mechanism, not repeat the same usage pattern under several names.
  • Start with value delivery. Give the largest weight to evidence that the customer repeatedly receives the product’s core benefit.
  • Backtest on completed outcomes. Calculate historical scores before renewal and compare the distributions for retained, contracted, and churned accounts.
  • Review false positives. A healthy customer marked at risk wastes CSM time; an at-risk customer marked healthy hides revenue risk. Examine both.
  • Recalibrate quarterly or after a major product change. New packaging, onboarding, and features can make old weights misleading.
  • If you have limited history, keep the model intentionally simple. Five understandable signals with visible rules are more useful than a machine-learning score nobody trusts. Add sophistication only when it produces better prioritization.

    Common formula mistakes

    Counting correlated behavior twice

    Logins, sessions, active days, and events often describe the same underlying behavior. Giving each a separate weight can make general activity dominate the model. Choose one primary usage signal and use other metrics only when they represent a different form of value.

    Letting one metric hide everything else

    A large usage count should not cancel an unpaid invoice, a severe incident, or a missing must-have integration. Add hard rules where needed. For example, cap the total score at 49 while a critical security issue remains unresolved.

    Using NPS as the whole relationship score

    NPS is useful context, but it is periodic, subjective, and frequently missing. Treat it as one input or a confidence note, not the foundation of the model. Observable behavior is usually available more consistently.

    Scoring without an action

    A red badge does not retain anyone. Attach a playbook to every band and major score change. Healthy accounts may receive an expansion review; watch accounts may trigger a CSM task; at-risk accounts may require a recovery plan within one business day.

    Build and automate the score from your database

    The useful signals usually already live in your product database, billing tables, and support system. You need a customer-level view that joins those inputs, recalculates on a schedule, and shows why the score moved.

    With AI for Database, you can connect a read-only database and ask for these inputs in plain English instead of hand-writing every SQL query. Turn the result into a self-refreshing health dashboard, then create a workflow that sends an email, Slack message, or webhook when an account crosses a risk threshold.

    Start with one segment and one playbook. Ask for each signal separately, verify sample accounts with a CSM, and only then combine them into the weighted score. This catches bad joins, stale timestamps, and misleading definitions before the score drives customer outreach.

    The conversion funnel behind this article matters too: a health score should reduce time spent scanning dashboards and increase the share of accounts that receive the right intervention. Measure time-to-review, percentage of risk alerts actioned, renewal rate by score band, and false-positive rate.

    A 30-minute implementation checklist

  • Write the outcome and prediction window in one sentence.
  • Choose five non-overlapping signals tied to customer value or risk.
  • Define a transparent 0–100 rule for each signal.
  • Assign weights that total 100%.
  • Calculate ten known accounts by hand and challenge the surprising results.
  • Set provisional score bands and an owner action for each band.
  • Build a live dashboard and alert on meaningful score changes, not every small fluctuation.
  • Backtest and recalibrate once enough renewal outcomes exist.
  • If the formula cannot explain why an account changed bands, simplify it. A score earns trust by making the underlying evidence easier to inspect, not by hiding it behind mathematics.

    Questions SaaS teams ask about health scores

    What is a good customer health score formula for SaaS?

    Use a weighted 0–100 formula built from product value, usage recency, adoption breadth, support friction, and commercial signals. Start with five inputs, make the weights total 100%, and calibrate the score against actual renewal outcomes.

    How many signals should a customer health score include?

    Four to seven is a practical range for a first model. Fewer can miss important risk; many more often create overlap and make the score hard to explain. Add a signal only when it changes a decision.

    How often should the score update?

    Daily is enough for most SaaS teams. Real-time scoring is useful only when the associated response must also happen immediately. Match the refresh frequency to the speed of the customer-success playbook.

    Can I calculate a customer health score without SQL?

    Yes. A natural-language database tool can retrieve the source metrics, calculate weighted fields, and refresh the result. Validate the definitions and sample records before using the score for automated outreach.

    What should happen when a score drops?

    Trigger a specific response based on the cause and size of the drop. A minor usage decline may create a CSM review, while a severe incident or failed payment may require an immediate, separate workflow.

    Use the score to decide, not decorate

    The best customer health score formula is not the one with the most signals. It is the one your team understands, your data can support, and your playbooks can act on.

    Use the five-signal model as a baseline, test it against real accounts, and refine it with outcome data. When you are ready to calculate the score from live database records, try AI for Database at aifordatabase.com and turn the result into a dashboard plus automated risk alerts.

    Frequently asked questions

    What is a good customer health score formula for SaaS?

    Use a weighted 0–100 formula combining product value, usage recency, adoption breadth, support friction, and commercial signals. Start with five inputs whose weights total 100%, then calibrate against renewals.

    How many signals should a customer health score include?

    Start with four to seven non-overlapping signals. Add another signal only when it measures a distinct risk or value mechanism and changes a customer-success decision.

    How often should a customer health score update?

    Daily is enough for most SaaS teams. Use real-time updates only when your team or workflow can respond immediately to the underlying change.

    Can I calculate a customer health score without SQL?

    Yes. A natural-language database tool can retrieve source metrics, calculate weighted fields, and refresh the result. Validate definitions and sample accounts before automating outreach.

    What should happen when a customer health score drops?

    Tie each band and major score change to an owned playbook, such as a CSM review, recovery plan, payment follow-up, or automated alert based on the cause.

    Ready to try AI for Database?

    Query your database in plain English. No SQL required. Start free today.