Health Scoring
SaaSy combines available observations across five dimensions into a 0–100 score. Customers with insufficient data remain unscored. Each snapshot reflects the most recent completed scoring run.
The five dimensions
| Dimension | What it measures |
|---|---|
| Usage | Login frequency, session duration, API call volume, data volume trend |
| Adoption | Feature adoption rate, user activation rate, advanced features used, active integrations |
| Support | Open ticket count, average resolution time, escalations in last 30 days, satisfaction score |
| Financial | Payment history, invoice aging, expansion revenue over 12 months, contract compliance |
| Relationship | Executive engagement, QBR completion rate, NPS score, champion identified |
Weights depend on how the snapshot was calculated. The input-based scorer defaults to Usage 25%, Adoption 25%, Support 15%, Financial 20%, and Relationship 15%. The cached-signal scorer uses 25%, 20%, 20%, 20%, and 15%, respectively. When a dimension has no observed score, it remains unknown and the overall calculation renormalizes the weights of the observed dimensions. These defaults are not a per-customer explanation.
On the Health dashboard, open Why this score? on a customer card to load its saved explanation. The snapshot is requested only when the panel opens. Loading failures offer a retry, and a missing snapshot is shown as unavailable. The same Health score explanation appears on a customer detail page and shows the saved scoring snapshot's score, model, version, scoring method, and observed factors when that evidence is available. Its contribution values are points added to that snapshot score, not configured weights. The snapshot may differ from the current customer-list score; the panel identifies the score it explains. Older snapshots without saved provenance show an unavailable state.
Score thresholds and status
| Score range | Status | Grade |
|---|---|---|
| 90–100 | Healthy | A+ |
| 80–89 | Healthy | A |
| 75–79 | Healthy | B |
| 60–74 | Stable | B or C |
| 50–59 | Stable | D |
| 0–49 | At Risk | F |
The status (Healthy / Stable / At Risk) is what appears on the customer list. The grade (A+ through F) appears inside the customer detail view.
The customer list colour codes are:
- Green: score ≥ 75 (Healthy)
- Yellow: score 50–74 (Stable)
- Red: score < 50 (At Risk)
How each dimension is scored
Usage
A high usage score requires consistent logins and active API/feature use. Key signals:
- Login frequency: scored 0–100 based on how often users log in relative to their seat count. Login frequency below 30% of expected triggers a "Warning" indicator.
- Session duration: longer average sessions indicate deeper engagement.
- API usage rate: relevant for customers using SaaSy via API (Scale plan).
- Data volume trend: growing data volumes suggest active use; shrinking volumes are a warning.
Adoption
Tracks whether customers are actually using the product, not just logging in.
- Feature adoption rate: percentage of available features the customer has used at least once. Rate below 40% contributes to churn risk.
- User activation rate: percentage of provisioned seats that have logged in at least once.
- Advanced features used: count of non-onboarding features engaged.
- Active integrations: number of connected data sources. More integrations = higher stickiness.
Support
High support load combined with low satisfaction is one of the strongest churn predictors.
- Open tickets: more than 5 open tickets triggers a Critical indicator.
- Avg resolution time: relative to your team's SLA baseline.
- Escalations in last 30 days: more than 2 escalations contributes 0.2 to churn risk.
- Satisfaction score: post-ticket CSAT, if collected.
Financial
Payment reliability and revenue growth signals.
- Payment history: Clean (
good) vs. issues (late/failed). Any payment failure adds risk. - Invoice aging: invoices more than 30 days overdue trigger a Warning indicator.
- Expansion revenue: positive expansion over the trailing 12 months is a protective factor.
- Contract compliance: whether the customer is within their contracted usage limits.
Relationship
Human engagement signals that are harder to automate but highly predictive.
- Executive engagement: whether senior stakeholders are actively involved (
active/passive/none). - QBR completion rate: percentage of scheduled Quarterly Business Reviews completed.
- NPS score: Promoter (9–10) is protective. Detractor (0–6) adds significant churn risk.
- Champion identified: whether there is a named internal champion.
What triggers a score change
Scores are recalculated when any of the following occur:
- A connected integration syncs new data (most integrations sync every hour).
- You manually trigger a score refresh from the customer detail view.
- A webhook event arrives that changes engagement data (e.g., a Stripe
invoice.payment_failed). - The nightly background job runs (scores at least once per 24 hours even if no events arrived).
Score history is tracked, so you can see the trend over time on the customer detail page.
Interpreting the score in practice
A score of 85 with declining login frequency is more concerning than a score of 70 with improving adoption, because the trend matters as much as the number. Always look at the dimension breakdown, not just the aggregate, when deciding whether to reach out.
The churn prediction model uses the same underlying signals but weights them differently based on behavioral trajectories. See Churn Prediction.