• CS team finding out an account is at risk when they send a cancellation request rather than 60 days earlier when outreach could have changed the outcome?

  • Health scores in your current CS tool that CSMs don't trust because they don't reflect the signals that actually matter for your product?

Customer Health Scoring Software

Custom customer health scoring platforms that aggregate product usage, support history, engagement, and billing signals into a single score for each account -- surfacing at-risk accounts weeks before churn signals are obvious, and identifying expansion candidates before they go to a competitor.

A health score is only useful if it reflects what actually predicts churn in your customer base. We build health scoring engines tuned to your product signals, your customer segments, and your historical churn patterns -- not a generic template from an off-the-shelf CS tool.

  • Multi-signal health score engine aggregating usage, support, NPS, billing, and engagement data

  • Configurable signal weighting tuned to what actually predicts churn in your customer base

  • At-risk account alerting and escalation routing before churn signals are obvious

  • Health score trend tracking showing whether accounts are improving or deteriorating over time

RaftLabs builds custom customer health scoring platforms for SaaS and subscription businesses. The platforms aggregate product usage, support history, NPS and CSAT responses, billing signals, and communication cadence into a single account health score. Health scores surface at-risk accounts weeks before churn signals are obvious and flag expansion candidates before they go quiet. Most projects deliver in 10-14 weeks at a fixed cost.

Vodafone
Aldi
Nike
Microsoft
Heineken
Cisco
Calorgas
Energia Rewards
GE
Bank of America
T-Mobile
Valero
Techstars
East Ventures
Products shipped
100+
Industries served
24+
Cost delivery
Fixed
Week delivery cycles
10-16

Health scores that don't reflect reality don't get used

The most common failure mode in customer health scoring is a score built on the wrong signals, or on the right signals with the wrong weights. A CS platform's out-of-the-box health score treats all customers the same. It doesn't know that your power users log in three times a week but your at-risk accounts log in once, or that a spike in support tickets for one customer segment is a leading indicator of churn while for another segment it's a sign of active adoption.

We build health scoring engines on top of your actual data. During discovery, we analyze which signals correlate with churn versus expansion in your customer base. We build a data pipeline that aggregates those signals from your product, your support system, your CRM, and your billing platform. The resulting score reflects your customer reality -- which is why CSMs use it to make decisions rather than ignoring it.

What we build

Multi-signal health score engine

A composite health score model that combines product usage metrics, support ticket volume and severity, NPS and CSAT survey responses, contract renewal proximity, champion contact engagement cadence, and billing payment history into a single account health score on a 0-to-100 scale. Signal weighting is configurable per customer segment -- enterprise accounts with long procurement cycles may weight champion contact engagement more heavily than SMB accounts where product usage is the primary predictor. SHAP (SHapley Additive exPlanations) values calculated per score to produce an explainability breakdown for each account: the score is accompanied by a ranked list of the signals that drove it up or down in the current period, so CSMs understand why Account X is at 42 rather than just seeing the number. Scores recalculated daily for most implementations using a scheduled pipeline so CS teams are always working from current data rather than a weekly export. Historical score trajectory preserved per account so the trend is visible alongside the current figure -- an account at 55 and declining is a different situation from an account at 55 and recovering from a 40 last month. The health score is a composite model, not a dashboard metric -- it is designed to inform CSM action and be interrogated, not just observed.

Product usage data integration

Integration with your product's analytics layer to ingest session frequency, feature adoption breadth (number of distinct features used in the period), feature adoption depth (usage of advanced versus core-only features), time-on-platform, and recency (days since last session) as structured signal inputs to the health score engine. Event ingestion works via Segment source functions, Mixpanel Data Export API, Amplitude Data Export or Cohort Export API, or a direct connection to your custom event store (PostgreSQL, BigQuery, or Snowflake) for products using homegrown analytics. DAU/MAU ratio calculated per account as a product engagement intensity metric: an account with 30 daily users out of 50 licensed seats is measurably more engaged than one with 3 daily users out of 50 seats at the same licence tier. User-level events rolled up to account-level aggregates with CSM-selectable drilldown to the user level for accounts where understanding which users are active versus dormant is important for intervention strategy. Usage trend data visualised as a 90-day sparkline alongside the current period figure so CSMs see direction of travel, not just the point-in-time number. The usage integration is the most predictive signal input for most SaaS products and we establish it first before adding support, survey, and billing signals on top of a solid usage data foundation.

Support and CSAT signal aggregation

Support ticket volume, time-to-first-response, resolution time, escalation count, and ticket reopen rate pulled from Zendesk REST API, Intercom Conversations API, Freshdesk API, or Help Scout Mailbox API, depending on your support stack. Support signals weighted in the health score by recency and severity: an unresolved escalation opened in the last 14 days carries significantly more weight than a closed low-priority ticket from four months ago, preventing stale support history from depressing scores on accounts that had a rough patch and recovered. NPS survey responses integrated from Delighted, Medallia, or Qualtrics: a detractor response (score 0-6) carries a negative weight that persists for a configurable window (typically 90 days) to avoid immediately overriding a genuine churn signal once a routine transactional NPS improves. CSAT scores from post-ticket surveys integrated alongside support ticket signals so the quality of support experience as perceived by the customer is captured, not just the ticket volume. Sentiment analysis on ticket subject lines and first-message body using a fine-tuned classifier to identify accounts expressing frustration -- phrases indicating executive escalation, regret over purchase, or comparison to competitors -- even when their ticket volume is average. Support and survey signals have been the earliest-leading indicators of churn in most implementations: they often surface churn risk two to four weeks before usage metrics begin to reflect the disengagement.

Segment-level health analytics

Portfolio health views that aggregate account scores by CSM, customer segment (SMB, mid-market, enterprise), plan type, industry vertical, account tenure cohort, and contract renewal month -- so CS managers can see which parts of the book of business need attention today without reviewing individual account records one by one. Cohort analysis comparing health score trajectories for accounts onboarded in different quarters, by industry, or by contract size, showing whether accounts acquired in a particular period or through a particular channel are tracking better or worse than average at 30, 60, and 90 days post-onboarding. Churn prediction model outputs available as a secondary layer alongside the composite health score: an XGBoost or logistic regression model trained on historical churn events produces a churn probability per account using features including the DAU/MAU ratio, feature adoption depth score, support escalation count in the trailing 30 days, billing payment delays, and days to renewal. Feature importance from the churn model used to validate and refine health score signal weights as new churn events accumulate. Health distribution chart showing the percentage of accounts in healthy (70-100), neutral (40-69), and at-risk (0-39) bands with trend over the trailing six months, turning individual scores into a portfolio-level early warning indicator for CS leadership.

At-risk account alerting and escalation

Configurable alert thresholds that trigger notifications when an account's composite health score drops below a defined band threshold (for example, dropping from neutral to at-risk) or when a specific signal changes sharply -- usage dropping by 40% or more week-over-week, a detractor NPS response submitted, a support escalation opened against an account within 60 days of renewal, or a billing payment that is more than 7 days overdue. Alerts route to the assigned CSM via in-platform notification, Slack message to the CSM's channel via Slack webhook, and optionally email, with context attached: the SHAP-based explainability breakdown showing which signals drove the score change and the recommended playbook action for that alert type. Salesforce integration: health score and at-risk alert data written to a custom object on the Salesforce Account record so CS ops teams who work in Salesforce see current health data without switching to the health scoring platform. HubSpot integration for teams on HubSpot CRM: health score written to a custom contact property and at-risk alerts create Tasks assigned to the account owner in the HubSpot activity timeline. Escalation routing for high-value at-risk accounts that require CS manager visibility: accounts above a contract value threshold or with a renewal date within 90 days generate a separate manager-level alert in addition to the CSM notification. Alert fatigue is managed through a daily digest option and minimum-alert-interval configuration so CSMs receive one or two actionable signals per day per account rather than a continuous stream of incremental changes.

Health score trend tracking

Historical health score stored per account at daily granularity, giving CSMs a score timeline that shows whether an account has been declining for two weeks or two months, and whether a previous outreach or QBR correlated with a score recovery -- or not. Score trajectory visualisations plotted alongside the individual signal histories that drove each movement so the CSM can see that the score drop in week 3 of last month was driven by a spike in support escalations, not by usage decline. Automated playbook trigger system: when an account's score crosses a downward threshold, a specific playbook is activated in the CS team's task management workflow (created as a task in Salesforce, HubSpot, or Gainsight depending on the CS tooling). Playbooks are configurable per segment and contract tier: a high-value enterprise account dropping below 50 triggers an executive business review scheduling task and a manager escalation; a small-business account at the same score triggers a CSM outreach email with a help resource link. Trend data formatted for QBR preparation: a single-page account health summary showing score trajectory over the past 90 days, key signal movements, and the interventions logged against the account, so customer conversations are grounded in objective evidence rather than recollection. Reporting for CS leadership showing recovery rate -- what percentage of at-risk accounts improved to neutral or healthy within 60 days of intervention -- feeding back into score methodology improvement and playbook effectiveness measurement.

Frequently asked questions

The strongest churn predictors across most SaaS products are declining product usage (particularly a sustained drop in DAU/MAU ratio over 30 days rather than a one-week spike), support ticket escalations and reopen rates, missed or declined QBRs, slow response times to CSM outreach indicating disengagement, payment delays of more than 5 business days, and downgrade requests or non-response to renewal outreach in the 90-day window before contract end date. Feature adoption narrowing -- an account that was using 8 features is now using 4 -- is a consistently strong predictor of churn six to eight weeks later in products with broad feature sets. Expansion predictors are typically the inverse: growing DAU/MAU ratio combined with adoption of advanced or high-value features not included in the current plan tier, positive NPS responses with qualitative feedback mentioning workflows not yet in use, and inbound CSM contact asking about capabilities they haven't purchased yet. The specific signal weights depend on your product category, customer segment, and contract structure -- a monthly SaaS product with high churn velocity behaves differently from an annual enterprise contract with a 90-day notice period. We analyse your historical churn events during discovery to identify which specific signals were statistically elevated in the 60-to-90 days before cancellation using feature importance from a logistic regression or XGBoost model, then weight the health score accordingly rather than using default weights that were calibrated on someone else's product.

Signal weighting is part of the health score design process, not a default configuration. We start by mapping which signals are available for your accounts -- product usage from Segment or Amplitude, support data from Zendesk or Intercom, NPS from Delighted or Medallia, billing from Stripe or your billing system, and CRM engagement from Salesforce or HubSpot. We then run correlation analysis between each signal and churn events in your historical customer data, using logistic regression to identify which signals are statistically predictive of churn at 30, 60, and 90 days lead time. High-correlation signals receive higher weights in the composite model. Signals that are noisy (high variance, low signal-to-noise ratio), sparsely populated (less than 60% of accounts have data), or have low predictive correlation receive lower weights or are excluded until data quality improves. Recency decay is applied to most signals: a support escalation from last week carries 100% of its weight, one from six weeks ago carries 40%, and one from six months ago is excluded from the current score calculation. Signal weights and recency decay parameters are configurable after launch without a code deployment. Weights are reviewed and refit after 60 to 90 days of live operation once we can compare the model's predicted risk scores against actual churn outcomes in that period, tightening the model calibration iteratively.

A health score without a workflow attached to it is a dashboard metric that gets checked occasionally and forgotten when CSMs are busy. We build the connection between the score and the CS team's daily workflow so that the score drives action automatically rather than requiring manual review. When an account drops into at-risk territory -- composite score below a threshold, or a specific signal trigger such as a usage drop above 40% week-over-week -- a playbook is activated: a task is created in Salesforce against the Account record, or a task is created in HubSpot assigned to the account owner, or an alert is posted to the CSM's Slack channel with the account context and recommended next action. Playbooks are configured per segment and account tier so a high-value enterprise account at risk receives a different automated response than a self-serve SMB account -- the enterprise playbook triggers a CSM task plus a manager notification and may include scheduling a QBR, while the SMB playbook triggers a CSM outreach task with a templated email resource link. Playbook effectiveness is tracked in the reporting layer: the platform records which playbooks were executed for at-risk accounts and correlates them with subsequent score recovery or continued decline, so the CS leadership team can identify which interventions work for which account types and refine the playbook library over time.

A customer health scoring platform covering signal aggregation from two to four sources (for example, Segment or Amplitude for usage, Zendesk for support, and Stripe for billing), a configurable weighted composite scoring engine with daily recalculation, account portfolio view, and at-risk alerting to Slack and email typically runs $15,000 to $50,000 and delivers in 10 to 14 weeks. Cost increases with the number of data source integrations -- each additional source (NPS platform, Salesforce, HubSpot, Intercom) adds approximately $3,000 to $8,000 depending on API complexity -- and with the depth of segment-level analytics and cohort analysis required. Adding SHAP-based score explainability, an XGBoost or logistic regression churn prediction model trained on historical data, and CS playbook automation (Salesforce task creation or HubSpot workflow triggering) typically adds $20,000 to $40,000 to the base scope. A full platform with all signal sources, churn prediction model, SHAP explainability, Salesforce and HubSpot integrations, playbook automation, and CS leadership reporting typically runs $50,000 to $100,000. We scope and price every project before starting so you know what you're getting before committing. Fixed cost, no hourly billing.

What clients say

What our clients say

Three-year average engagement. Founders and operators describing the work in their own words. No marketing varnish.

Charles E.
Charles E.
USA
Entrepreneur at Aggie Technologies

All of the sprints were completed on schedule and on budget. We highly recommend RaftLabs!

01 / 02

Related services

  • Custom Software Development -- Custom CS platforms, health scoring engines, onboarding automation tools, and renewal dashboards
  • Business Process Automation -- Automate health score alerts, onboarding sequences, QBR preparation, and renewal pipeline updates
  • AI Agent Development -- AI agents for churn risk prediction, usage anomaly detection, and automated success touchpoints

Talk to us about your health scoring project.

Tell us what data sources you have, how many accounts your CS team manages, and what your current early warning system looks like. We will scope a scoring model that reflects your customer reality.