Cohort Retention Curves: How to Read the Shape of Your SaaS Retention Data
A single churn number hides whether you have a real problem. Here's how to build a cohort retention curve and read what its shape is actually telling you.
Ask a founder for their churn rate and you'll get one number. Ask them what their retention curve looks like and most go quiet. That gap matters more than it sounds — a single monthly churn figure can be identical for two businesses with completely different problems, and the number alone won't tell you which one you're running.
Two products can both report "5% monthly churn" on a blended basis. One of them loses 15% of every cohort in its first 90 days and then holds the survivors almost forever. The other bleeds a steady 5% every single month for years, cohort after cohort, with no floor in sight. Averaged over a year, those can land on the same headline number. They are not the same business, and they don't need the same fix. A cohort retention curve is the tool that tells them apart.
What a cohort retention curve actually shows
Take every customer whose first paid invoice landed in the same calendar month — that's a cohort. Then, for every month after that, calculate what percentage of the original cohort still has an active subscription. Plot it, and you get a line moving from 100% at month zero down to wherever it ends up. That's the curve. Do this for every monthly cohort you have and overlay them, and you can see whether the shape is improving, stable, or getting worse release over release — something a single trailing churn rate can never show you, because it collapses every cohort into one blended average.
The distinction that trips people up first: logo retention and revenue retention are different curves, and they can diverge sharply. Logo retention counts accounts — a customer is either still active or they're gone, full stop. Revenue retention tracks dollars, which means an account that downgrades counts as partial churn even though it never touched a cancel button, and an account that upgrades can push the curve above 100%. If you only ever look at one of the two, you're missing half the picture. A business can hold 90% of its logos while losing 15% of the revenue those logos represented, because the customers who left were disproportionately the higher-paying ones.
Why the blended number hides the actual problem
Our churn rate benchmarks guide covers what counts as a good monthly number by segment, and that's useful for a scorecard. But the benchmark table can't tell you whether a bad number is an onboarding failure or a competitive one — and those get fixed by completely different teams doing completely different work. The curve's shape is what makes that call.
| Curve shape | What it looks like | What it usually means |
|---|---|---|
| Cliff, no flattening | Sharp drop in months 1–3, then keeps declining in a straight line past month 6 | No stable core user base yet — the product hasn't found the segment that sticks |
| Flatten-and-hold | Drop in the first 1–3 months, then a near-horizontal line from month 4 or 5 onward | Healthy — the customers who reach month 3–4 have found real, durable value |
| Slow bleed | Gentle, roughly constant decline every month with no visible floor | Chronic dissatisfaction or a competitive alternative that keeps pulling a fixed share away each cycle |
| Smile curve (revenue only) | Dips early like a normal curve, then turns upward past some point | Expansion revenue from the customers who stayed is outpacing what churn is taking away |
The height of the asymptote — where the curve settles once it flattens — matters more than how steep the initial drop is. A curve that falls to 40% by month three and then holds dead flat at 40% for the next two years is describing a business with a smaller but genuinely loyal core. A curve that's still at 70% by month three but sliding another two points every month afterward is describing a business that hasn't found its floor, and won't know how big its stable base actually is until the decline stops.
Why price point changes the shape, not just the level
ChartMogul's SaaS Retention Report, built from cohort data across its customer base, found that early retention scales directly with average selling price. In the first three months, top-quartile companies with an ASP above $500/month retained 98% of their customers. SaaS businesses priced under $10/month retained 87% over the same window. An 11-point gap in the first quarter alone, before either curve has had time to flatten.
Source: ChartMogul SaaS Retention Report.
The mechanism is the same one behind the segment differences in our churn benchmarks guide: a $9/month tool has near-zero switching cost, so anyone who signs up on a whim can leave on a whim too, and a meaningful share of that low-ASP cohort was never going to stick regardless of product quality. A $500/month tool usually involves a deliberate buying decision, a setup investment, and a team that's already built a workflow around it by month two. That's not a reason to assume a low-ASP curve can't flatten — plenty of $10/month products hold a respectable asymptote once the tire-kickers wash out — but it does mean you should expect a steeper initial drop and read the early months of a low-ASP curve with that context, rather than panicking at month-one numbers that a $500/month product would never see.
The month 11–12 anomaly, and what it tells you about annual plans
Retention curves generally follow something close to exponential decay — the steepest losses happen early, and the rate of loss slows as the cohort ages. ChartMogul's data shows that pattern holding fairly consistently through month ten, then breaking: retention takes a visible extra step down specifically at months eleven and twelve, sharper than the smooth decay in the months around it. That's not random noise. It lines up with the point where a meaningful share of a cohort's annual contracts come up for renewal, which is exactly the clustering effect we cover in our annual vs monthly billing piece — annual plans suppress the monthly churn number for eleven months and then release it all at once. On a cohort curve, that shows up as a step, not a smooth continuation of the decay that came before it. If your own curve has a similar dip right around the 12-month mark, don't read it as an accelerating problem — check what fraction of that cohort was on annual billing before you conclude anything about product health.
When the curve turns into a smile
Everything above describes a logo curve, which can only go down or stay flat — a canceled account never comes back to life on the same chart. Revenue curves don't have that constraint. If enough of the customers who stayed in a cohort expand — more seats, a plan upgrade, added usage — total cohort revenue can climb back above where it started, even while some accounts in that same cohort are churning out. Plotted over time, that produces a line that dips in the first few months and then bends upward: the smile curve. It's the same mechanic behind net revenue retention exceeding 100%, which we cover in detail in our NRR benchmarks guide — the smile curve is just that same expansion-versus-contraction dynamic plotted cohort by cohort instead of collapsed into one trailing figure. A business with strong NRR should be able to point at individual cohort curves and actually see the smile, not just cite the aggregate percentage.
Building your own curve
You don't need a specialized analytics tool to get a first version of this working. If your billing runs on Stripe, the fields you need already exist on every subscription object:
- Group by cohort — bucket customers by the month of their first paid invoice, not their signup date. Trial-only users who never converted don't belong in a paid retention cohort.
- Count active subscriptions per month offset — for each cohort, calculate what percentage still had an active (non-canceled) subscription at month 1, month 2, and so on since their start date.
- Build both curves — a logo count and a summed-MRR version, tracked separately, since they will diverge and each one is answering a different question.
- Overlay at least six cohorts — a single cohort's curve is noisy, especially for smaller businesses. Overlaying several months lets you see whether the shape itself is stable or shifting release over release.
Once you have logo curves segmented, cross-reference the earliest months against our guide to early-lifecycle churn — the first 90 days of any cohort curve is almost always an onboarding and activation story, not a pricing or competitive one, and the fix lives upstream of anything a cancellation flow can catch. Our retention rate calculator is a fast way to get a single cohort's number without setting up the full pipeline first, if you want to sanity-check one month before committing to building the whole curve.
The reason this is worth the setup time: a cancellation flow only ever sees the customers who reach the cancel button. A retention curve shows you the customers who were always going to be a lost cause months before they get anywhere near it, which is a different problem with a different owner. CancelFlow is built to convert as many of the cancel-button moments as possible once a subscriber gets there — but the shape of your curve upstream of that moment tells you how much weight that single page can actually carry, and how much of your retention problem has to be solved somewhere else entirely.
Frequently asked questions
What is a cohort retention curve?+
A cohort retention curve plots the percentage of a signup cohort still active at each point after signup — day 30, day 60, day 90, and so on. Every customer who started in the same month is grouped together and tracked forward, which shows the shape of retention over time instead of a single blended number for the whole business.
What does a healthy SaaS retention curve look like?+
A healthy curve drops over the first few months as unqualified signups fall away, then flattens into a near-horizontal line — the asymptote. The height of that flat line matters more than how fast the curve got there. A curve that keeps declining past month six or eight without flattening means the product hasn't found a stable core user base yet, regardless of what the blended churn rate says.
What is a "smile curve" in retention analytics?+
A smile curve is a revenue retention curve that dips in the early months, like a standard logo retention curve, but then turns upward as expansion revenue from upgrades and additional seats among the customers who stayed outpaces the revenue lost from the customers who left. It only appears on revenue cohorts, since a logo curve can never rise once a customer has churned — you can't un-cancel an account.
How do you build a cohort retention curve from Stripe data?+
Group customers by the month their first invoice was paid, then for each subsequent month check what percentage of that original cohort still has an active subscription. Stripe's API gives you subscription created and canceled dates directly, so you can pull this with a scheduled query against your subscriptions table — group by DATE_TRUNC('month', created), then count active subscriptions per cohort at each month offset. For revenue curves, sum MRR per cohort per month instead of counting logos.
Stop losing subscribers today
One script tag. One function call. A live cancellation flow in under 10 minutes.
Start free trial →