salesascode
← All feature docs
Feature docs · /health

Customer Health

Your book ranked most at risk first, each account with a health score, a churn probability, and the three reasons behind the number.

Included with cscron . A seat without it sees an upsell here instead of the page.

Overview

Customer Health answers the CSM's first question 24 x 7 x 365: which accounts are most at risk, and why. It scores every account 0 to 100 for health, ranks the book most at risk first, and shows a churn probability and the top three drivers on each row. This is the health substrate the renewal workspace and the expansion lane read from.

What it is for, on the page. Under the headline, this page says what it produces, what makes it run, and where the output lands. Every Work page reads that line from one registry, so the three answers cannot drift from the page.

How the health score works

The score is deterministic: the same data always gives the same number, so a CSM can triage the line and a leader can defend the renewal forecast. It combines feature adoption and usage, time to first value, sustained engagement, and support sentiment, and it drops when usage falls or the champion leaves. The churn probability is the inverse of health, and the top drivers are shown so the number is never a black box.

The score also carries its denominator. A signal no connected source can answer is left out of the maths rather than counted as a zero, because "nobody has connected a usage source" and "nobody uses it" are different facts about your customer. Each account is scored over the part of the rubric that resolved, and when less than half of it did, the score still ranks the book but the band is withheld: the row greys out, the account is left out of the at-risk count, and the footer says how many accounts were scored on too little signal. Connect a usage or sentiment source and those accounts band like the rest.

Reading the board

Four tiles summarize the book: accounts at risk, ARR in those accounts, average health over the accounts that could be banded, and book size, all computed from the accounts shown. A segment filter lets you narrow to enterprise, mid-market, or your own tiers. Each row shows the account and its renewal date, ARR, a health score with a colored bar, the churn probability, the top drivers as chips (a usage drop or a lost champion in red), and the support sentiment. The footer states how many accounts you are viewing and when the book was last scored, both real. The 90-day usage trend from the mockup is not shown yet because we do not store usage history, so the board never draws a line it cannot back with data.

Preparing a reviewed success action

Choose Prepare action on an account to write a success plan, renewal task, or expansion follow-up. Review action reloads the exact tenant account and shows its stored revision, customer identity, renewal date, and measured health evidence. If health has too little source coverage, the review says Health not measured.

Save reviewed draft checks the account revision again and stops if the record changed after preview. A successful save creates one internal item in the cscron Draft queue. It does not write to Planhat or Gainsight. Repeating the same save returns the existing draft, so a browser retry cannot create a duplicate.

Where the accounts come from

The board reads your accounts and their product usage from your connected tools. Display fields like segment and sentiment come straight from the stored record; a field your tools did not fill shows an em dash rather than a guess. If nothing is connected yet, the book is empty rather than filled with placeholders, connect your CRM and product analytics in Settings and your accounts appear here on the next sync, ranked by health.

Accounts served below the motion they earn

The daily run also compares each account against the touch tier its ARR, health and expansion potential earn, and surfaces the ones being served below it. It flags an account two ways, and both need evidence in the record rather than an absence: the row already carries a tier and the account has outgrown it, or the row has no owner while other accounts in your book do, so a blank owner means a blank and not an un-imported column.

It stays quiet about an account served more richly than the model suggests. That is a call you already made with more context than the score has.