Every account in Zudo gets a health score between 0 and 100. It’s calculated automatically each night as a weighted average of factors — so you always have a current read on your portfolio without manual work.
If a factor has no data (e.g. no email threads exist yet), Zudo applies a neutral score or redistributes that factor’s weight so the account isn’t unfairly penalized.
The factors
Email response time
How quickly your team responds to customer emails over the last 90 days.
| Average response time | Score |
|---|
| Under 4 hours | 100 |
| Under 12 hours | 80 |
| Under 24 hours | 60 |
| Under 48 hours | 40 |
| 48+ hours | 20 |
No email threads? This factor defaults to 50 (neutral). Response time is measured against your configured business
hours, so nights and weekends don’t penalize you.
Open requests
The number of unresolved feature requests linked to the account.
| Open requests | Score |
|---|
| 0 | 100 |
| 1–2 | 80 |
| 3–5 | 60 |
| 6–10 | 40 |
| 11+ | 20 |
Meeting frequency
How many meetings you’ve had with the account in the last 6 months.
| Meetings (last 6 months) | Score |
|---|
| 24+ | 100 |
| 12–23 | 80 |
| 6–11 | 60 |
| Fewer than 6 | 40 |
Zero meetings scores 40, not as missing data. Regular engagement is expected.
Issue resolution
Average days to resolve engineering issues linked to this account’s requests over the last 90 days.
| Avg resolution time | Score |
|---|
| Under 3 days | 100 |
| Under 7 days | 80 |
| Under 14 days | 60 |
| Under 30 days | 40 |
| 30+ days | 20 |
No issues resolved in 90 days? Scores 70 — having no issues is generally a positive signal.
Recent activity
Days since the last touchpoint (email or meeting) with this account.
| Days since last activity | Score |
|---|
| Under 3 | 100 |
| Under 7 | 80 |
| Under 14 | 60 |
| Under 30 | 40 |
| 30+ | 20 |
No recorded activity at all scores 20. Accounts with zero interaction history are considered at risk.
Days since a contact at the account was last active. This data comes from Vitally (contact lastSeenTimestamp) or can be set via the API. When both sources exist, the API value takes priority.
| Days since last contact activity | Score |
|---|
| Under 1 | 100 |
| Under 3 | 80 |
| Under 7 | 60 |
| Under 14 | 40 |
| 14+ | 20 |
No contact activity data? This factor is excluded and its weight is redistributed across the remaining factors.
Indicators
A composite of any number of Indicators you’ve configured to participate in scoring. Indicators are predicates over your product-usage events — Power user, Active in last 7 days, Logins last 30 days, etc.
Each participating indicator is scored 0–100:
- Yes / no indicators —
true contributes a configurable score (default 100), false contributes a configurable score (default 0).
- Number indicators — scored by a threshold curve you set (excellent / good / fair / poor → 100 / 80 / 60 / 40 / 20), with a direction toggle for
higher is better vs lower is better.
Sub-weights inside the Indicators factor only weight indicators relative to each other within the composite — they don’t affect the outer 100% weight sum.
Configure participating indicators on the Indicators tab in Health Score Settings.
The Indicators factor is excluded from the score when no participating indicators have computed values yet — its
weight is redistributed across the other factors, same as Contact Activity behavior.
Default weights
Weights determine how much each factor influences the final score. Your admin can adjust these in Health Score Settings.
Without CSM Pulse
| Factor | Weight |
|---|
| Email Response Time | 25% |
| Open Requests | 20% |
| Meeting Frequency | 20% |
| Issue Resolution | 20% |
| Recent Activity | 15% |
| Contact Activity | 0% |
| Indicators | 0% |
Contact Activity and Indicators default to 0% — opt into them in Health Score
Settings once you have the underlying data flowing (Vitally / API for contact
activity, Segment / PostHog for indicators).
With CSM Pulse
When a CSM Pulse is set and less than 90 days old, the weights shift to include your manual assessment:
| Factor | Weight |
|---|
| Email Response Time | 20% |
| Open Requests | 16% |
| Meeting Frequency | 16% |
| Issue Resolution | 16% |
| Recent Activity | 12% |
| Contact Activity | 0% |
| Indicators | 0% |
| CSM Pulse | 20% |
No CSM Pulse set? The 20% is redistributed proportionally across the other factors — accounts without a pulse aren’t
penalized.
Health tiers
The final score maps to one of four tiers shown throughout the app:
| Score | Tier |
|---|
| 80–100 | Healthy |
| 60–79 | Needs Attention |
| 40–59 | At Risk |
| 0–39 | Critical |
Tier labels, score boundaries, and colors are all configurable in Health Score Settings.
Extreme Pulse amplification
When a CSM sets a Pulse of 1 or 10, Zudo applies special handling:
- Pulse = 1 guarantees the account lands in the Critical tier, regardless of how good the automated metrics look.
- Pulse = 10 guarantees the account lands in the Healthy tier, regardless of how poor the automated metrics look.
The CSM Pulse weight is also amplified (1.5x by default) so your high-conviction signal carries more influence in the weighted average.
Extreme pulse scores expire after 30 days (vs. 90 days for standard scores) to prevent stale overrides from persisting. When amplification is active, an indicator appears on the health score gauge: ↑ (green, boosted) or ↓ (red, reduced).
Tier drop alerts
When an account’s health score drops into a lower tier (e.g. Healthy → Needs Attention), Zudo automatically creates a high-priority task to make sure it gets attention. These appear in your Alerts and task list.
Health tiers
The final score maps to one of four tiers, each with a color indicator:
| Tier | Score range | Color |
|---|
| Healthy | 80–100 | Green |
| Needs Attention | 60–79 | Yellow |
| At Risk | 40–59 | Orange |
| Critical | 0–39 | Red |
Your admin can customize tier thresholds, labels, and colors to match your organization’s expectations.
CSM Pulse
CSM Pulse lets you inject your own qualitative read into the health score. When your gut tells you something the data doesn’t show — a sponsor leaving, a budget freeze, a surprise expansion — you can set a Pulse score (1–10) with a required note to document your reasoning.
To set a CSM Pulse, navigate to the account page and find the CSM Pulse section. Enter a score from 1 to 10 and add a note explaining your assessment.
Learn more about CSM Pulse
Extreme Pulse Amplification
When you set a Pulse of 1 or 10, Zudo treats this as a high-conviction signal and applies special handling:
- Pulse = 1 guarantees the account lands in the Critical tier, regardless of how the automated metrics look.
- Pulse = 10 guarantees the account lands in the Healthy tier, even if the automated metrics are poor.
This is designed for situations where you have direct knowledge that automated data can’t capture — for example, a customer who told you they’re switching vendors next month, or one who just signed a three-year expansion deal.
In addition to the tier guarantee, the Pulse weight is also amplified (1.5× by default) to give your assessment more influence in the weighted calculation.
Extreme scores (1 or 10) expire after 30 days rather than the standard 90 days. You’ll need to refresh the Pulse
more frequently when using extreme ratings.
A small indicator appears on the health score gauge when extreme amplification is active — a green arrow (↑) for a boosted score (Pulse = 10) or a red arrow (↓) for a reduced score (Pulse = 1).
Tier drop alerts
When an account’s health tier drops — for example, from Healthy to Needs Attention — Zudo automatically:
- Creates a task assigned to you titled “Health score dropped to [Tier] for [Account Name]”, with HIGH priority if the account dropped to Critical.
- Sends you an email notification with the account name, previous tier, new tier, current score, and a direct link to the account.
Alerts trigger only on tier drops. Tier improvements do not generate alerts.
Configuration
Your organization’s health score weights, tier thresholds, and factor benchmarks are all configurable. If the defaults don’t match your business model, ask your admin to adjust them in Health Score Settings.