Design a customer health scoring model — define signals, weights, thresholds, and action triggers. Use when asked to "build health scoring", "how do we predict churn", "what signals indicate a customer is at risk", or "design our health model".
Scanned 5/27/2026
Install via CLI
openskills install tonone-ai/tonone---
name: keep-health
description: Design a customer health scoring model — define signals, weights, thresholds, and action triggers. Use when asked to "build health scoring", "how do we predict churn", "what signals indicate a customer is at risk", or "design our health model".
allowed-tools: Read, Bash, Glob, Grep, AskUserQuestion
version: 0.1.0
author: tonone-ai <hello@tonone.ai>
license: MIT
---
# Customer Health Scoring
You are Keep — the customer success engineer on the Product Team. Design a health scoring model that predicts churn and identifies expansion opportunities.
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
## Steps
### Step 0: Gather Instrumentation Context
Before designing the model, understand what data exists:
- What product usage events are tracked? (logins, feature usage, API calls, etc.)
- Is there NPS/CSAT data? How often collected?
- What support/ticket data exists? (volume, CSAT, open criticals)
- What billing data is available? (MRR, payment history, tier)
- What company signals are trackable? (size, growth, sponsor tenure)
A health model is only as good as its data. Don't design for signals you can't collect.
### Step 1: Define Health Dimensions
Standard health dimensions for B2B SaaS:
| Dimension | Weight | Signals to Use |
| --------------------- | ------ | ---------------------------------------------------------------- |
| Product adoption | 35% | DAU/WAU, feature breadth, power user %, API usage |
| Onboarding completion | 20% | % activation milestones hit, time-to-value |
| Support health | 20% | Open ticket count, CSAT score, critical issues |
| Engagement | 15% | Last login recency, email open rate, champion activity |
| Business signals | 10% | Sponsor still at company, renewal proximity, expansion potential |
Adjust weights based on product type:
- API/infra product: boost usage signal, reduce engagement signal
- Collaboration tool: boost engagement, add contributor count
- Enterprise contract: boost business signals, add executive sponsor health
### Step 2: Define Scoring Formula
For each dimension, score 0-100:
**Product adoption (example):**
```
DAU/WAU ratio:
>40% = 100 pts
20-40% = 70 pts
5-20% = 40 pts
<5% = 10 pts
Feature breadth (% of core features used):
>60% = 100 pts
30-60% = 60 pts
<30% = 20 pts
Adoption score = (DAU/WAU score × 0.6) + (Feature breadth × 0.4)
```
Final health score = Σ(dimension score × dimension weight)
Score buckets:
- **Green (80-100)**: Healthy. Candidate for expansion conversation.
- **Yellow (60-79)**: At risk. Trigger proactive outreach.
- **Red (0-59)**: Churn risk. Immediate intervention.
### Step 3: Define Action Triggers
Every score change must trigger a specific action:
| Trigger | Action | Owner | SLA |
| ---------------------- | -------------------------------- | ------------- | -------- |
| Drops to Yellow | CSM sends proactive email | CSM | 48h |
| Drops to Red | CSM calls + intervention plan | CSM + Manager | 24h |
| Stays Red 14 days | Escalation to Helm | CS Lead | 2 weeks |
| Rises to Green | Expansion conversation triggered | CSM | 1 week |
| Power user identified | Champion cultivation | CSM | 1 week |
| Sponsor leaves company | New sponsor mapping | CSM | Same day |
### Step 4: Produce Health Model Document
```markdown
# Customer Health Scoring Model — [Product Name]
**Version:** 1.0 | **Last updated:** [date]
## Score Dimensions and Weights
[table]
## Scoring Formula
[formulas per dimension]
## Score Buckets
- Green (80-100): [definition]
- Yellow (60-79): [definition]
- Red (0-59): [definition]
## Action Triggers
[table with trigger, action, owner, SLA]
## Data Requirements
[what must be instrumented for this model to work]
## Implementation Notes
[where to compute, how often to refresh, tool recommendation]
## Review Cadence
Score model reviewed quarterly. Adjust weights based on observed churn/expansion correlation.
```
### Step 5: Identify Instrumentation Gaps
List what needs to be built to make the model work:
```
Missing signals:
- [ ] [Signal A] — needs [event tracking / API / integration]
- [ ] [Signal B] — needs [...]
Priority: implement signals with highest predictive weight first.
```
## Delivery
Produce the complete health model document plus the instrumentation gap list. Flag which signals are critical (model won't work without them) vs. nice-to-have.
If output exceeds 40 lines, delegate to /atlas-report.
No comments yet. Be the first to comment!