Why this matters
Acquisition fills the bucket. Retention decides whether the bucket has a hole in it. Most teams know this as a slogan, yet they still report retention as a single blended number that hides everything useful.
Three practical problems come from weak retention math:
- Wrong plans. Finance multiplies a monthly churn rate by 12, overstates annual losses, and sets the wrong acquisition target.
- Wrong diagnosis. A team sees total customers rising and assumes retention is fine, while every new cohort decays faster than the last.
- Wrong ceiling. Nobody calculates how big the base can get at today’s churn, so the company keeps spending to push past a limit that churn has already fixed.
This lesson gives you the curve-reading skills and the four formulas you need to avoid all three.
The framework
1. A retention curve is a cohort survival curve
Take everyone who started in one period (signed up, paid, or placed a first order in March). For each later period, plot the share still active. Month 0 is 100% by definition. The shape tells you more than any single point.
| Shape | What it looks like | What it means | Typical response |
|---|---|---|---|
| Declining to zero | Keeps sliding, no floor | No segment has found lasting value yet | Fix activation and core value before scaling spend |
| Flattening | Steep early drop, then a level floor | A durable core exists. The floor height is your product-market fit signal | Raise the floor, then scale acquisition into the segments that sit on it |
| Smile | Drops, then rises in later months | Users resurrect or expand over time (seasonal buyers, teams adding seats) | Invest in resurrection and expansion triggers. Measure revenue retention, which smiles more often than logos do |
The important point: a low floor is not the same as a broken shape. A D2C brand where 12% of first-time buyers become steady repeat customers has something to build on. A SaaS product that loses 4% of every cohort every month forever does not, however good month 1 looks.
Cohort survival — % of one starting cohort still active
Total customer base — start + new each month − churn
Drag the floor slider to 0 and watch what the same early churn does without a flattening point. That is the difference between a business that compounds and one that needs to replace its customers forever.
2. Churn compounds
Monthly churn applies to whoever is left. So survival after n months is a product, not a sum.
| Monthly churn | Naive x12 | Correct annual churn | Customers left after 12 months (of 1,000) |
|---|---|---|---|
| 1% | 12% | 11.4% | 886 |
| 2% | 24% | 21.5% | 785 |
| 3% | 36% | 30.6% | 694 |
| 5% | 60% | 46.0% | 540 |
| 8% | 96% | 63.2% | 368 |
The gap widens as churn rises. At 8% monthly the naive method says you lose almost everyone. In reality about a third of the cohort survives.
3. Logo churn vs revenue churn
Logo churn tells you how many relationships you lose. Revenue churn tells you how much money walks out. They diverge when small and large customers behave differently. Losing ten customers on a starter plan and losing one enterprise account can produce the same revenue churn and wildly different logo churn. Report both, and never let new-customer revenue sneak into the numerator.
4. Churn sets a ceiling on your base
If you add N new customers a month and lose a fraction m of the base each month, the base stops growing when losses equal adds: m x Base = N.
With 500 new customers a month and 4% churn, the ceiling is 12,500. Starting from 500 customers you reach about 5,150 after 12 months, 8,000 after 24 and 9,740 after 36. You never actually reach 12,500. Halve churn to 2% and the ceiling doubles to 25,000 with the same acquisition budget.
Cohort survival — % of one starting cohort still active
Total customer base — start + new each month − churn
Step-by-step playbook
- Pick the activity definition. Write down what “retained” means. SaaS: performed the core action (not just logged in) in the period, or still paying. D2C: placed an order in the window. Subscription: still has an active paid subscription.
- Pick the period from the natural cadence. Daily products use day or week cohorts. B2B SaaS uses month. D2C uses month but defines lapse from the inter-purchase interval: find the 80th percentile of days between first and second order and use it as the lapse threshold.
- Build the cohort table. Rows are acquisition cohorts, columns are months since start, cells are percent retained. Use at least 12 cohorts so you can see the trend down the columns, not just across rows.
- Read the shape, then the trend. Does each row flatten? At what month and at what floor? Then read down each column: is month-3 retention for recent cohorts better or worse than older ones? Improving columns are the clearest sign your retention work is paying off.
- Segment before you conclude. Split by channel, plan, first product bought, country and company size. A curve that looks mediocre in aggregate often hides one segment that flattens at 40% and another that goes to zero.
- Convert to money. Run logo churn, gross revenue churn and NRR on the same monthly base. Annualise with the compounding formula, never with x12.
- Compute the ceiling and the gap. Divide monthly new customers by monthly churn. If today’s base is above 70% of that ceiling, growth will slow sharply on its own. Put this number in the plan.
- Choose the lever. Early drop (month 0 to 1) is an activation and onboarding problem. Mid-curve decay is a habit and value problem. A low floor is a positioning and fit problem. Late churn in SaaS is often involuntary, so check failed payments before anything else.
Worked example
Say a B2B SaaS tool starts June with 400 paying accounts and $100,000 MRR.
During June:
- 12 accounts cancel. They were mostly on the starter plan and paid $1,800 MRR in total.
- 20 accounts downgrade, losing $1,200 MRR.
- 35 accounts add seats, adding $4,000 MRR.
Logo churn = 12 / 400 = 3.0% per month. Annualised: 1 - 0.97^12 = 1 - 0.694 = 30.6%.
Gross revenue churn = (1,800 + 1,200) / 100,000 = 3.0% per month.
Net revenue retention (monthly) = (100,000 - 1,800 - 1,200 + 4,000) / 100,000 = 101,000 / 100,000 = 101%. Expansion more than covered losses, so the existing base grew 1% in revenue even while losing 3% of logos.
Now the ceiling. The team adds 30 new accounts a month. Ceiling = 30 / 0.03 = 1,000 accounts. They have 400, so there is still room. But if logo churn crept to 5%, the ceiling would fall to 600 accounts, and the sales plan to reach 900 accounts next year would be mathematically impossible without more acquisition.
Last, the cohort view. The January cohort retained 82% at month 3 and 74% at month 6. The April cohort retained only 71% at month 3. Reading down the column tells the team something changed in onboarding or in the leads coming in around April. That is where to dig.
B2B SaaS vs D2C: what changes
| Topic | B2B SaaS | D2C / e-commerce |
|---|---|---|
| Unit of retention | Account (logo) and revenue | Customer and orders |
| Churn event | Cancellation or non-renewal, clearly dated | Silent. Customers just stop buying, so you define lapse yourself |
| Expected shape | Flattening logo curve, revenue curve can smile through expansion | Steep first-to-second order drop, then a flat floor of loyal buyers |
| Headline metric | Gross revenue churn and NRR | Repeat purchase rate by cohort, 12-month customer value |
| Common hidden leak | Involuntary churn from failed cards | One-time buyers from discount-led acquisition |
| Ceiling math | Works directly with monthly logo churn | Use active-customer churn based on your lapse window |
For subscription D2C (coffee, pet food, supplements) the SaaS math applies almost unchanged. For non-subscription D2C, treat “active in the last X days” as the state and churn as the share of actives who fall out of that window each month.
How to measure it
| Metric | Numerator | Denominator | Window and notes |
|---|---|---|---|
| Cohort retention Mn | Cohort members active in month n | Cohort size at month 0 | Fixed cohort, by month of start. Do not add later joiners |
| Monthly logo churn | Customers active at start who cancelled in the month | Customers active at start of month | Exclude customers acquired during the month from both |
| Gross revenue churn | MRR lost to cancellation plus downgrade | MRR at start of month | Never net expansion into this one |
| Net revenue retention | Start MRR minus churn and contraction plus expansion, from the same customers | Start MRR | Monthly or trailing 12 months on a fixed cohort |
| D2C repeat rate | First-time buyers in cohort who ordered again within the lapse window | First-time buyers in cohort | Set the window from the inter-purchase interval |
| Steady-state ceiling | New customers per month (trailing 3-month average) | Monthly churn (trailing 3-month average) | Recompute monthly, show in planning decks |
Two rules keep these honest. First, always fix the denominator at the start of the period. Second, segment every metric at least by acquisition channel and plan, because averages blend healthy and broken cohorts into a number that describes neither.