Retention & Survival Curves
A subscriber who cancels in month two is worth a fraction of one who stays a year. This tool shows how long your customers actually stay, which sign-up groups hold on best, and why the churn rate most companies quote is wrong.
OVERVIEW & LEARNING OBJECTIVES
Your boss asks a simple question: what is our churn rate? You pull the numbers. You started the year with 1,000 customers, 150 of them cancelled, so you say 15%. Everyone nods.
That number is almost certainly wrong, and here is why. Of those 1,000 customers, maybe 400 only signed up in the last three months. They have not cancelled — but they have not had the chance to yet. Counting them as “retained” flatters your figure. Throwing them out makes it look worse than it is. Neither is honest, and the difference is often several percentage points of a number your company plans its budget around.
Customers who are still here are not survivors and not churners. They are unfinished — their story is still being written. Statisticians call this censoring, and a Kaplan-Meier survival curve is the standard way of handling it: it uses each customer for exactly as long as you observed them and then stops counting them, rather than guessing what they would have done.
The second half of the problem is what counts as gone. For a subscription that is easy: they cancelled. For a business where people just buy occasionally — a takeaway app, a clothing brand — nobody cancels anything. They just stop. So you have to pick a rule, like “quiet for three months means gone”, and that choice changes your answer. You will see it move by months on real data below.
🎯 What You’ll Learn
- Why the usual churn rate is wrong. Two common shortcuts, one too optimistic and one too pessimistic, and the honest number that sits between them.
- What censoring is and why the customers who have not left yet are the hardest ones to count — and the most important.
- That “churn” is a definition before it is a number. Change the quiet-period rule from one month to three and the median lifetime can move from 3 months to 21.
- Most churn happens immediately. The month-one cliff is the typical shape, and it means onboarding moves this curve far more than loyalty discounts do.
- Cohorts differ, and it is usually acquisition. A group brought in by a 60%-off promotion churns faster. That is about the offer, not the month.
- The tail is thin. The right-hand end of a survival curve often rests on a handful of customers, and should not be quoted as a lifetime.
Cohort table or survival curve — which do I want?
- The cohort table is the one on every growth team’s wall. Rows are sign-up groups, columns are age. It answers “is what we are doing getting better or worse over time?”
- The survival curve answers “how long does a customer last?” in a single line, and it is the one that handles unfinished customers correctly.
- Use both. They are the same data asked two different questions, and this tool shows them side by side.
Step 1 CHOOSE YOUR DATA
Each case is a real retention question. Start with Parcel & Pantry if this is your first time — a meal-kit company whose March and April sign-ups look suspiciously bad. Or bring your own file: either one row per customer per period, or one row per customer with a duration.
Use a case study
Or upload your own
Two shapes are accepted. An activity panel has one row per
customer per period (customer_id, period,
is_active). A duration table has one row per
customer (customer_id, duration,
churned). Coming from the CLV tool? Its files work here unchanged.
Drop a CSV here
Optional columns are picked up automatically: signup_cohort,
segment and spend.
Step 2 DEFINE WHAT “GONE” MEANS
This comes first because it decides everything after it. There is no statistical answer to it — it is a business judgement, and the honest thing is to make it on purpose, write it down, and check how much it mattered.
What kind of business is this?
How long someone has to go quiet before you give up on them. Shorter is twitchier; longer waits around for people who were never coming back.
Settings
Splits the curve so you can see whether one group leaves sooner than another.
The age the headline numbers are quoted at. Pick one your data can actually support.
🤔 Try this:
- Load Crave (a delivery app) and leave the rule at 3 quiet periods. Note the median lifetime.
- Now drag the slider to 1. The median collapses — on this data from about 21 periods to about 3.
- Look at the reactivation line underneath. At a one-period rule almost every customer you just declared “lost” came back. The rule is not measuring churn, it is measuring people who skipped a month.
- Nothing about the customers changed between those two runs. Only your definition did.
Step 3 START HERE
The short version first: how long customers stay, when you lose them, and whether it is getting better or worse. Everything below this box is the evidence.
How honest is your churn rate?
The same data, counted three ways, at the age you chose. Count them as retained assumes every unfinished customer stays forever — too optimistic. Drop them throws those customers out entirely — too pessimistic. Kaplan-Meier uses each one for exactly as long as you watched them, which is why it lands between the other two.
📊 How to Read This Chart
- The gap between the outer bars is your margin of error from sloppiness alone — before any sampling uncertainty.
- Three identical bars is a real answer, not a broken chart. The shortcuts can only go wrong when somebody is still unfinished before the age you are quoting. If every customer in the file was watched for the same length of time, there is nothing yet for them to mishandle — push the horizon further out and watch them come apart.
- A wide gap means the answer depends on how you treat unfinished customers, so the method has to be stated alongside the number.
The survival curve
Start at 100% of customers and read left to right. The line is the share still with you at each age. Every step down is a group of customers leaving; the small ticks are customers whose story ended while still active — they are not losses, they are people you simply stopped observing. The shaded band is uncertainty, and it widens as fewer customers remain.
📊 How to Read This Chart
- The steep bit at the start is the onboarding cliff. On most subscription data this is the single biggest drop on the chart.
- Where the line crosses 50% is the median lifetime: the age by which half your customers have gone. If the line never gets there, there is no median, and this tool will refuse to invent one.
- The faded right-hand end is drawn faded on purpose: fewer than 20 customers remain, so that part of the curve can swing wildly on one person leaving. Never quote a lifetime from it.
- A long flat stretch is good news — the customers who made it that far are staying.
When do you lose them?
The share of remaining customers who leave in each period. This is a different question from the curve above: it asks not “how many are left” but “how dangerous is this particular month”. A tall first bar means your problem is onboarding, not loyalty.
📊 How to Read This Chart
- A tall first bar then a low flat run is the normal shape. The people who survive the first period are a different, stickier population.
- A bar that spikes later is worth investigating — an annual renewal, the end of a discount, a contract anniversary.
- Late bars bounce around because few customers remain. Read them with the at-risk counts beside the curve above.
Cohorts: is it getting better or worse?
One row per sign-up group, columns are age since joining. Read down a column to compare groups at the same age — that is the only fair comparison, because a group that joined last month cannot be judged at month six. The blank triangle is not missing data; it is future that has not happened yet.
📊 How to Read This Chart
- A pale row is a cohort that churned faster than the others. Before blaming the calendar, ask what was different about how those customers were acquired: a promotion, a channel, a price.
- Rows getting darker as you go down means recent cohorts hold on better — whatever you changed is working.
- Compare like with like. The bottom rows are short because those customers only just arrived, not because they all left.
Do some groups leave sooner?
One curve per group, with a log-rank test asking whether the difference in timing is bigger than luck would produce, and RMST — the average time retained within your chosen horizon, which works even when a group has no median.
| Group | Customers | Left | Median | Average time retained |
|---|
📊 How to Read This Chart
- Curves that cross are the trap. One group leaves early and the other leaves late, so a single test comparing them overall can report “no difference” while the two groups behave nothing alike. Compare them at the age that matters to you instead.
- A significant result tells you the timing differs, not by how much. That is what the RMST column is for.
- No significant difference is a real finding, not a failure. It means your groups churn on the same schedule.
How your data was read
This is the step students distrust most, so here it is in the open: five customers from your file, and exactly how each one became a duration and a status.
| Customer | Their activity | Joined | Last seen | Duration | Status |
|---|
Churn time is the first quiet period of the run that triggered the rule, not the last. Someone last seen in period 8 who then goes quiet churned at 9, because 9 is when they stopped.
WHAT THIS MEANS
Methods & Results
Managerial Interpretation
WHAT TO WATCH
EXPLORATORY QUESTIONS
All answerable with the controls above. The last two are the ones worth arguing about.
- How much does the definition matter? On Crave, record the median at 1, 2 and 3 quiet periods. Which would you report to a board, and what would you say when asked why?
- How wrong is the shortcut? Compare the three bars in “How honest is your churn rate?”. If your company quoted the optimistic one, how many customers would that overstate by over a year?
- Where should the money go? Look at “When do you lose them?”. If the first period is the worst by far, what does that say about spending on a loyalty discount for month-twelve customers?
- Was it really February’s fault? On Parcel & Pantry, find the two weak cohorts. The Head of Growth says the promotion “brought in 520 customers”. Using the cohort table, what would you say back?
- When can you not answer the question? Load Marlowe Riptide. Most of those fans joined recently. Why does the tool refuse to give a lifetime, and what can you honestly report?
- Can a test miss a real difference? Find the case where two group curves cross. The log-rank test may say there is no significant difference. Is that the same as the groups behaving the same way? What would you report instead?