The churn radar for B2B SaaS·Book a call·Setup in 10 minutes·Trusted by CS teams·SOC 2 · GDPR · AES-256·
The churn radar for B2B SaaS·Book a call·Setup in 10 minutes·Trusted by CS teams·SOC 2 · GDPR · AES-256·
Fundamentals

Customer Health Score Formula: Build Your Own

Learn the math behind health scores — from basic averages to weighted formulas that actually predict churn. Includes The Signal Stack formula, CRM health extensions, worked examples, and data source modes.

Jide··Updated ·8 min read

A customer health score formula is the calculation that turns raw customer data into a single, actionable number. It defines which metrics you track, how you normalize them, and how they combine into the final score.

A poorly designed formula gives false positives (flagging healthy customers as at-risk) or false negatives (missing customers who are about to churn). The right formula gives you accurate, actionable predictions you can trust.

The Signal Stack: A Weighted Health Score Formula

The strongest approach to health scoring is a weighted formula — one where different signals contribute different amounts based on their predictive power. FirstDistro calls this methodology The Signal Stack.

The Signal Stack

Health Score = (Activity × 0.40) + (Engagement × 0.30) + (Milestones × 0.20) + (Recency × 0.10)

Activity
Login frequency, session count, and daily active usage patterns (0-100)
Engagement
Feature adoption depth, interaction quality, and usage breadth (0-100)
Milestones
Onboarding completion, feature activation, and expansion behaviors (0-100)
Recency
Time since last meaningful interaction — decays rapidly after 7 days (0-100)

Each signal is scored independently from 0 to 100, then combined using the weights above. The weights reflect how strongly each signal predicts churn: Activity is the strongest predictor, so it carries the most weight.

Why These Weights?

Activity at 40% gets the highest weight because declining usage is the strongest leading indicator of churn. When customers stop showing up, cancellation follows within 30-60 days. Activity measures event frequency over the last 30 days — logins, actions completed, features used.

Engagement at 30% distinguishes habitual users from drive-by visitors. A customer might log in daily but only check one dashboard. Engagement measures session depth, return frequency, and feature breadth — it captures the quality of usage, not just the quantity.

Milestones at 20% track cumulative value realization. Completing onboarding, activating core features, inviting teammates — these events signal deepening commitment. Customers who reach milestones are significantly less likely to churn because they have invested in the product.

Recency at 10% acts as an early warning tripwire. It measures days since last meaningful action, with rapid decay after 7 days of inactivity. Even when all other signals look fine, a sudden silence can indicate the start of disengagement.

The CRM Health Extension

When CRM data is available alongside product usage data, the formula extends to include relationship and commercial signals.

Composite Score with CRM Data

Composite Score = (Signal Stack × 0.85) + (CRM Health × 0.15)

CRM Health Composite Score

CRM Health = (Support Health × 0.40) + (Relationship Health × 0.40) + (Commercial Health × 0.20)

Support Health
Open ticket count, average resolution time, recent escalations (0-100)
Relationship Health
Contact count, days since last meeting, champion status (0-100)
Commercial Health
Deal stage, days until renewal, active expansion opportunities (0-100)

Support Health tracks open ticket count, average resolution time, and recent escalations. High support activity can be either positive (customer is engaged and seeking help) or negative (customer is frustrated and hitting issues). Trend direction matters more than absolute count.

Relationship Health tracks contact count (single-threaded risk), days since last meeting, and whether you have an identified champion. Accounts with a single contact and no recent meeting are at higher risk regardless of product usage.

Commercial Health tracks deal stage, days until renewal, and active expansion opportunities. A customer approaching renewal with no expansion signal and declining usage is a high-risk combination.

Data Source Modes

Not every company has both SDK events and CRM data. The formula adapts based on what data is available.

When to Use Which Data Source
Data AvailableModeCalculationUse Case
SDK events onlysdk_only100% Signal StackProduct-led companies, no CRM integration
CRM data onlycrm_only100% CRM HealthSales-led companies, no SDK installed
SDK + CRMsdk_and_crm85% Signal Stack + 15% CRM HealthHybrid companies with both data sources

Product-led companies without a CRM start with sdk_only mode — 100% Signal Stack. Sales-led companies without SDK instrumentation use crm_only mode — 100% CRM Health. Companies with both data sources get the most accurate scores using sdk_and_crm mode, where behavioral signals are enriched with relationship context.

Worked Example: Calculating a Health Score

Here is a concrete example using The Signal Stack formula with real numbers.

Raw data for Acme Corp:

  • Logged in 16 times in the last 30 days (benchmark: 20 = perfect)
  • Used 6 of 10 key features, 4 return visits, medium session depth
  • Completed onboarding, activated 3 of 5 core features
  • Last meaningful action: 3 days ago

Step 1 — Normalize each signal (0-100):

  • Activity: 16/20 × 100 = 80
  • Engagement: Feature breadth 60% + return frequency 70% + session depth 55% ≈ 62
  • Milestones: 3 of 5 core features activated, onboarding complete = 65
  • Recency: 3 days ago, within the 7-day window = 90

Step 2 — Apply Signal Stack weights:

  • Activity: 80 × 0.40 = 32.0
  • Engagement: 62 × 0.30 = 18.6
  • Milestones: 65 × 0.20 = 13.0
  • Recency: 90 × 0.10 = 9.0

Step 3 — Sum:

  • Health Score = 32.0 + 18.6 + 13.0 + 9.0 = 72.6

Interpretation: Acme Corp scores 72.6 — in the Monitor range. Activity is strong (80) and recency is good (90), but engagement depth (62) and milestone completion (65) suggest they have not found full product value. Recommended action: educational outreach to drive feature adoption.

Normalization Methods

Different metric types require different normalization approaches.

Metric TypeNormalizationExample
Higher = Bettervalue / max_value × 10016 logins / 20 benchmark = 80
Lower = Better(1 - value / max_value) × 1002 tickets / 10 max = 80 (inverted)
BooleanYes = 100, No = 0Onboarding complete = 100
PercentageAlready 0-10060% feature adoption = 60
Time-based (recency)Exponential decay from last action3 days = 90, 14 days = 40, 30 days = 10

Recency normalization uses exponential decay rather than linear scaling. The score drops rapidly after 7 days of inactivity because silence is often the first sign of disengagement. By 14 days, the recency score has dropped substantially. By 30 days, it is near zero.

Common Formula Mistakes

  • Too many metrics. Including 15+ metrics creates noise. Stick to 4-7 high-signal metrics that are measurable, actionable, and predictive.
  • Never recalibrating. Review quarterly. A formula from 12 months ago may miss new signals or overweight signals that no longer predict churn.
  • One-size-fits-all. Enterprise and SMB customers have different healthy behaviors. A startup might log in daily while an enterprise team logs in weekly — both can be healthy. Segment your formulas or adjust thresholds.
  • No validation. Always check: do high-score customers actually renew? If not, recalibrate your weights.
  • Manual spreadsheet calculation. Spreadsheet-based health scores are always stale. By the time you update them, the data is outdated. Automated, real-time scoring catches risk early.
  • Ignoring CRM data. Product usage alone misses relationship signals. A customer with great usage but a departing champion is at risk. Blend SDK and CRM data when available.

Software Comparison

Customer Health Score Software Comparison
PlatformScoring ApproachSetup TimeBest For
FirstDistroAI-powered Signal Stack — auto-learns weights from behavioral dataUnder 30 minutesSMB SaaS teams who want automated health scoring + AI recommendations
GainsightRule-based — manual threshold configurationWeeks to monthsEnterprise teams with dedicated CS ops staff
ChurnZeroRule-based with templatesDays to weeksMid-market teams wanting template-driven setup
VitallyRule-based + some ML optionsDaysB2B SaaS teams wanting a balance of automation and control
TotangoRule-based journey trackingWeeksTeams focused on journey-based customer success

Rule-based platforms require you to configure every threshold and weight manually. AI-powered platforms like FirstDistro use The Signal Stack methodology to calculate scores automatically, learning from your customer data to improve accuracy over time.

Frequently Asked Questions

What is the basic customer health score formula?

The basic formula is an unweighted average: Health Score = (Sum of Normalized Metric Scores) / (Number of Metrics) × 100. For better accuracy, use a weighted formula like The Signal Stack: Health Score = (Activity × 0.40) + (Engagement × 0.30) + (Milestones × 0.20) + (Recency × 0.10).

Should I use weighted or unweighted health scores?

Start with unweighted scores for simplicity, then move to weighted once you have enough data to know which metrics best predict churn. Weighted scores are more accurate because not all signals matter equally — Activity is more predictive than Milestones.

How many metrics should I include?

Include 4-7 metrics. Fewer than 4 misses important signals. More than 7 creates noise. The Signal Stack uses four signals — Activity, Engagement, Milestones, and Recency — which cover the core behavioral dimensions.

How do I weight metrics in my formula?

Weight metrics based on their correlation with churn. The Signal Stack uses: Activity 40%, Engagement 30%, Milestones 20%, Recency 10%. Activity gets the highest weight because declining usage is the strongest predictor of churn.

Can I include CRM data?

Yes. When CRM data is available, use the composite formula: Composite Score = (Signal Stack × 0.85) + (CRM Health × 0.15). CRM Health combines Support Health (40%), Relationship Health (40%), and Commercial Health (20%).

How often should I recalculate?

Real-time or daily calculation is ideal. Weekly or monthly updates often miss critical warning signs. Automated tools calculate continuously as customer activity happens.

Can I have different formulas for different segments?

Yes, and you should. Enterprise customers have different healthy behavior patterns than SMB customers. Create segment-specific formulas or adjust thresholds by segment to avoid false positives.


Stop churn before it starts

FirstDistro monitors customer health in real-time using the Signal Stack formula and alerts you when accounts are at risk.

Free plan available · No credit card required

Summary

Definition

A customer health score formula is the calculation that transforms raw customer behavioral data into a single health score (0-100). It defines which metrics you track, how you normalize them, how you weight them, and how they combine into the final score.

Formula

Health Score = (Activity × 0.40) + (Engagement × 0.30) + (Milestones × 0.20) + (Recency × 0.10)

Key Signals

  • Activity (40%): Event frequency over the last 30 days
  • Engagement (30%): Session depth, return frequency, feature breadth
  • Milestones (20%): Feature adoption checkpoints (cumulative)
  • Recency (10%): Days since last meaningful action

Thresholds

80-100HealthyAll signals stable or improving
60-79MonitorOne signal declining
40-59At-RiskTwo or more signals declining
20-39CriticalActivity and engagement in decay
0-19ChurningAll signals near zero

Framework

Signal Stack — FirstDistro's four-signal health scoring methodology that weights behavioral signals by predictive power.