Building an Adoption Scoring Framework for B2B Customer Success
A shared account health framework gave a B2B fintech team early warning on at-risk accounts and consistent review practices.
Project Details
Customer Success Manager
The company sold B2B fintech software. The customer success team was small, experienced, and operated almost entirely on instinct. The senior reps had a genuine feel for which accounts were drifting. That instinct was real and valuable. It was also completely trapped in their heads. When a rep left or got reassigned, the account knowledge left with them. The incoming rep would see a contract and a login and have to rebuild context from scratch. Churn, when it happened, was visible only after the fact.
Build a shared view of account health that any rep could pick up and use, that surfaced at-risk accounts before the point of no return, and that made weekly reviews less dependent on whoever had the most context.
No new tools. Whatever I built had to live somewhere the team already opened, had to be maintained by the reps themselves, and had to earn trust from people rightly skeptical of anything that claims to summarize a complex account relationship in a number.
Execution
I talked to the reps to ask what they actually looked at when they were worried about an account. Not what they thought they should look at. What they actually checked. The answers were consistent: login frequency, whether key features had been turned on, whether support tickets were increasing or becoming more basic, and a general sense of whether the relationship felt engaged. Those became the four inputs.
Login frequency over a rolling thirty-day window came from product data. Feature adoption was binary: had the account used the features that correlated with success. Support ticket volume was a count with a flag if tickets shifted toward basic how-to questions. Rep assessment was a 1-to-5 scale, but I wrote out what each number meant. A 3 meant "functional but the champion is less responsive and I am not sure why." A 1 meant "I would not be surprised if they canceled."
The four inputs combined into a score per account, living in a shared sheet. I kept formulas visible and simple so anyone could understand what drove a given score. Opacity would have killed trust immediately.
The playbooks for each score band were decision trees, not scripts. For low-scoring accounts: is the issue about usage or the relationship? If usage, the first call is about training gaps. If the relationship, the first call is about the business, not the product.
The hardest part was getting experienced reps to use it. My approach: the score is not a verdict on your account, it is a question. If your read differs from the score, I want to know why. Either the score is missing something, or there is something in your read you have not articulated yet.
Outcomes
At-risk accounts started surfacing earlier. A few weeks in most cases, but a few weeks is the difference between having a real conversation and showing up with a renewal form.
One account in particular: the score had been drifting down for six weeks. The rep noted the champion was increasingly hard to reach. We flagged it three weeks before renewal. The rep called, learned something had changed on their side, and had three weeks to address it. The account renewed.
Customer success knowledge that lives in one person's head is a liability. I know how to take the signals experienced people already use, make them explicit, and build a shared system that survives when individuals leave.