Skip to main content
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 timeScore
Under 4 hours100
Under 12 hours80
Under 24 hours60
Under 48 hours40
48+ hours20
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 requestsScore
0100
1–280
3–560
6–1040
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–2380
6–1160
Fewer than 640
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 timeScore
Under 3 days100
Under 7 days80
Under 14 days60
Under 30 days40
30+ days20
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 activityScore
Under 3100
Under 780
Under 1460
Under 3040
30+20
No recorded activity at all scores 20. Accounts with zero interaction history are considered at risk.

Contact activity

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 activityScore
Under 1100
Under 380
Under 760
Under 1440
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 indicatorstrue 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

FactorWeight
Email Response Time25%
Open Requests20%
Meeting Frequency20%
Issue Resolution20%
Recent Activity15%
Contact Activity0%
Indicators0%
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:
FactorWeight
Email Response Time20%
Open Requests16%
Meeting Frequency16%
Issue Resolution16%
Recent Activity12%
Contact Activity0%
Indicators0%
CSM Pulse20%
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:
ScoreTier
80–100Healthy
60–79Needs Attention
40–59At Risk
0–39Critical
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:
TierScore rangeColor
Healthy80–100Green
Needs Attention60–79Yellow
At Risk40–59Orange
Critical0–39Red
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:
  1. Creates a task assigned to you titled “Health score dropped to [Tier] for [Account Name]”, with HIGH priority if the account dropped to Critical.
  2. 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.