Churn drops when you stop treating it as one number. Split lost accounts into four causes (onboarding failure, value decay, champion loss and failed payments), because each shows up at a different point in the customer’s life and needs a different fix. Then measure the result with gross and net revenue retention, not logo churn alone.
Gross vs net retention and why both matter
Both metrics look at a cohort of existing customers over a fixed period, usually 12 months, and ignore revenue from new customers.
- Gross revenue retention (GRR) = (starting recurring revenue − churned revenue − contraction) ÷ starting recurring revenue. It can never exceed 100%.
- Net revenue retention (NRR) = (starting recurring revenue − churned revenue − contraction + expansion) ÷ starting recurring revenue. It can go above 100%.
A hypothetical example: your existing customers start the period with $1,000,000 in ARR. Over the next 12 months, $120,000 churns, $30,000 contracts through downgrades and seat cuts, and $180,000 expands. GRR is 85%. NRR is 103%.
That NRR looks healthy, and it’s the number that gets celebrated. But 15% of the revenue you sold walked out the door, and a handful of expanding accounts covered it. If expansion slows, the leak shows up all at once.
| Metric | What it answers | What it can hide |
|---|---|---|
| GRR | Are customers keeping what they bought? | Upside from expansion |
| NRR | Does the base grow without new sales? | Losses covered by a few big accounts |
| Logo churn | How many customers leave? | Whether they were large or small |
Report all three by segment and by signup cohort. A blended number mixes self-serve accounts that churn monthly with enterprise contracts that churn once a year, and the average describes neither.
The four types of churn
Before choosing plays, tag every account lost in the last four quarters with one primary cause. Use usage history, CRM notes and billing records alongside the exit survey, because “too expensive” is often what people say when the real story is that nobody used the product.
| Type | When it shows up | Early signal | Main play |
|---|---|---|---|
| Onboarding failure | First months, or the first renewal | Never reached activation; one user only | Behavior-based onboarding and setup help |
| Value decay | Mid-life, months before renewal | Falling active seats and key-feature use | Health score with usage triggers |
| Champion loss | Any time, often suddenly | Main contact leaves or goes quiet | Multi-threading and job-change alerts |
| Involuntary | Around billing dates | Failed charge, expiring card | Dunning and payment recovery |
When I run this exercise, the useful output is the distribution: which row holds the most lost ARR. That’s where the next quarter goes. If you’re starting from zero, a sensible order is involuntary churn first (it’s mostly configuration and pays back fast), then onboarding, then value decay, then champion loss.
Early churn: fixing onboarding failure
Accounts that leave in their first months usually never got value. They signed up, poked around, and never reached the point where the product did its job.
- Define activation from data. Compare retained and churned accounts and find the behaviors that separate them, for example connecting a data source, inviting a teammate and creating a first report. That set of actions is your activation milestone.
- Trigger onboarding by behavior, not by day count. An account that connected its data on day one doesn’t need the “connect your data” email on day three. The SaaS onboarding email sequence post covers how to build this in detail.
- Add a human step for valuable accounts. If a higher-tier account hasn’t hit the milestone within its first week or two, create a task for someone to offer a setup session.
- Check fit before blaming onboarding. If early churn clusters in one segment, channel or campaign, the problem may be who you’re acquiring. Qualifying questions at signup, covered in SaaS signup flow optimization, help route or filter accounts the product can’t serve.
Value decay: usage signals and health scores
These accounts activated, got value for a while, then drifted. Usage thins out months before the cancellation, which makes this the most preventable type, if you’re watching.
Build a simple health score
Keep it to four to six inputs you can actually pull:
- Breadth: active users ÷ paid seats
- Depth: use of the two or three features that correlate with retention
- Trend: this month against the trailing three-month average; direction matters more than level
- Friction: open support tickets, repeated bugs, negative survey responses
- Relationship: days since the last meaningful conversation with a decision maker
Score each input red, yellow or green, then backtest. If most accounts that churned last cycle weren’t red at least a couple of months before they left, the weights are wrong. Adjust until the score would have warned you.
Turn signals into plays
A score on a dashboard saves nobody. Wire it into the CRM so each change triggers something:
- Active seats fall well below paid seats: email the admin with team adoption tips and alert the account owner.
- A key feature goes unused for a few weeks: send a short workflow email or in-app guide showing that use case.
- Admin logins stop: account owner reaches out directly.
- Account turns red: CSM books a review that recaps what the customer has gotten so far, in their numbers.
Low-value accounts get automated plays; high-value accounts get automation plus a person. This triggered, CRM-driven layer is the core of the lifecycle marketing work I build for SaaS teams.
Champion loss and multi-threading
This one is specific to B2B. The person who bought you gets promoted, changes teams or leaves. Their replacement doesn’t know why you were chosen, may have a favorite tool from a previous job, and sees your invoice as an easy cut.
- Multi-thread every account that matters. Map at least three engaged contacts across roles: the economic buyer, the day-to-day champion, the admin and a few power users. Flag any account above a set revenue threshold that has only one engaged contact as at risk, whatever its usage looks like.
- Detect departures quickly. Bounced emails, LinkedIn job changes and enrichment updates in your CRM should alert the account owner within days, not at renewal.
- Onboard new stakeholders. When a new admin or decision maker appears, run a short re-onboarding: what the team uses, the value delivered so far and who to call.
- Make value visible beyond one person. Scheduled reports to leadership and an executive sponsor on each side keep the product from living in one inbox.
- Follow the champion. The person who left liked your product enough to buy it. At their new company, they’re a warm lead.
Involuntary churn: dunning and payment recovery
Some customers never decided to leave. A card expired, a bank declined a charge or a corporate card hit its limit. This is most common on self-serve card plans and is usually the fastest churn to recover, because the customer still wants the product.
Most subscription billing platforms offer automatic retries, card updater services and dunning emails. Check that they’re switched on and configured, since defaults tend to be generic.
- Pre-dunning email before a card on file expires
- Card updater service enabled through your billing provider
- Retries timed by decline type: retry soft declines like insufficient funds; hard declines like closed accounts need a new card
- A dunning sequence of three or four emails across the grace period, sent from a person, with a direct link to update payment details
- In-app banner for admins while payment is failing
- Emails sent to the billing contact, not only the user who signed up
- A grace period before suspension, and suspension rather than data deletion
- Invoice or bank payment offered to larger accounts so a card never becomes a single point of failure
- Recovery rate tracked by decline reason
Cancellation flows and save offers
When someone clicks cancel, you get one chance to learn why and, sometimes, to fix it. Ask one required question with a short list of reasons, then match the response to the reason.
| Stated reason | Offer | Avoid |
|---|---|---|
| Too expensive or budget cut | Downgrade, fewer seats or a pause | A blanket discount for everyone |
| Not using it enough | Pause or a setup session | Discounts, which don’t fix usage |
| Missing feature | An honest workaround; route to product | Roadmap promises you won’t keep |
| Switching to a competitor | Ask which and why; a call for high-value accounts | Automatic price matching |
| Project ended or seasonal | Pause or downgrade to keep their data | Guilt-trip copy |
| Company closing | Nothing; make the exit clean | Any offer |
Keep cancellation easy to complete. Don’t hide the button or require a call to cancel a self-serve plan; several jurisdictions regulate how hard cancellation can be, and friction mostly converts churn into chargebacks and public complaints.
Measure save rate, but judge offers on what happens next: a saved account still paying 90 days later is a save, and one that cancels the next month was a delay. Feed every stated reason back into your churn-type tags.
For annual B2B contracts, cancellation is really non-renewal, and the flow above comes too late. Start the renewal process a quarter before the contract ends, well ahead of any notice period, with a health review and a value recap.
Get it built
If churn is eating the growth your acquisition budget buys, I’ll find which churn type costs you most and build the plays to fix it. Start with a Growth Audit, $1,500 fixed and credited if we continue. See pricing or get in touch.