How to Do a Cohort Analysis: A Step-by-Step Guide for SaaS Retention
A cohort analysis shows whether retention is improving for users who joined recently. Here are the five steps to build one, the three ways to read the chart, and how to find out why a cohort broke.
By the UserInsight team
July 2026 · 9 min read
A cohort analysis groups users by when they started, then tracks each group forward in time so you can see whether retention is getting better or worse for people who joined recently. You build one in five steps: define the return action, pick the cohort key, pick the period length, build the retention triangle, and then read it down the columns rather than across the rows. This guide walks through each step with a worked SaaS example, shows how to read the chart three different ways, and covers what to do when you find the cohort that broke.
The short version
Blended retention lies. One healthy cohort from two years ago can prop up your headline number while every signup from the last quarter leaves in week two. Splitting users into cohorts is the cheapest way to find that out, and reading the chart vertically, comparing cohorts at the same age, is the only comparison that holds age constant and therefore means anything.
Step 1: define what counts as retained
This is the step teams rush and then regret. Retention means a user came back and did the thing your product exists to do. A login is not that. A background tab refreshing a dashboard is definitely not that. For a B2B tool the return action is usually a core workflow event: sent an invoice, published a report, ran an import. For a consumer app it might be a session over some minimum length.
Pick one action and write it down, because every number downstream inherits this definition. If you later widen it to include logins, your retention will jump and none of that jump is real. Teams that skip this step end up with a chart nobody trusts, which is worse than no chart, because now there is something to argue about in the meeting.
Step 2: choose the cohort key
The cohort key is what puts a user into a group. Signup date is the default and the right first pass, since it answers the most common question: is the product getting better over time? But acquisition cohorts are usually more actionable, because they map to a decision somebody made.
| Cohort key | Question it answers | When to use it |
|---|---|---|
| Signup month or week | Is retention improving for newer users? | Always, as the first pass |
| Acquisition channel | Which channel brings users who stay? | When paid spend is scaling |
| First action taken | Which early behavior predicts survival? | When designing onboarding |
| Plan or pricing tier | Does the entry plan retain badly? | Before changing packaging |
| Company size or segment | Are we selling to the wrong buyer? | When churn is concentrated |
| Feature adopted in week one | Is this feature load-bearing? | Before deprecating anything |
Channel cohorts in particular tend to change budgets fast. A channel with great signup volume and terrible week-eight retention is quietly expensive, and you only see it once acquisition data and retention data sit in the same view. Marketing teams often need to see every ad channel and store alongside each other in one dashboard before that comparison is even possible, since the spend usually lives in a different system from the product events.
Step 3: pick the period length
Match the period to your product's natural usage rhythm, not to the calendar you happen to like. If people are meant to use the product daily, use weekly periods. If it is a monthly workflow like payroll or closing the books, use monthly periods and accept that you will wait longer for a readable chart.
Getting this wrong produces false alarms. Weekly cohorts on a product used once a month will show a terrifying cliff after week one that means nothing at all. The rule of thumb: your period should be long enough that a normally engaged user would be expected to return at least once inside it.
Step 4: build the retention triangle
Now put it together. Rows are cohorts, ordered oldest at the top. Columns are periods since that cohort started, with period zero on the left. Each cell holds the percentage of that cohort that performed the return action in that period. The result is a triangle rather than a rectangle, because the cohort that signed up last week cannot yet have a week-six number.
Here is a small worked example for a self-serve SaaS product using weekly periods:
| Cohort | Users | Week 1 | Week 2 | Week 4 | Week 8 |
|---|---|---|---|---|---|
| March | 420 | 48% | 39% | 33% | 31% |
| April | 510 | 47% | 38% | 32% | 30% |
| May | 605 | 51% | 42% | 36% | 35% |
| June | 580 | 36% | 25% | 19% | - |
March, April and May all flatten somewhere in the low thirties, which is a functioning product: a third of each cohort found lasting value and stayed. June does not flatten. It is eleven points below the pattern at week one and widening by week four. That gap is the whole finding, and it is invisible in a blended retention number that still averages the good months in.
How do you read a cohort analysis chart?
Read it three ways, and each answers a different question. Across a row shows how one cohort decays as it ages, which tells you the shape of your retention curve. Down a column compares different cohorts at the same age, which is the honest test of whether your changes worked, because age is held constant. Diagonally follows one calendar date across every cohort at once, which is how you catch an outage, a price change or a seasonal effect that hit everybody on the same day.
The single most common mistake is comparing a young cohort's week-two number to an old cohort's week-twelve number and concluding retention improved. It did not. You compared two different questions. Always compare cells in the same column.
What does a healthy cohort curve look like?
A healthy curve falls steeply at first and then flattens into a roughly horizontal line. The drop is normal, since a good share of any signup group was never a real fit. The flat section is what matters: it is the share of users who found durable value, and it is the population your revenue actually rests on. A curve that keeps sliding toward zero with no flattening means nobody is sticking, and pouring more traffic into the top of the funnel just makes the leak more expensive.
Do not spend much time hunting for a benchmark to compare against. B2B software sold on annual contracts and a consumer app measured on weekly actives produce numbers that have nothing to say to each other. The comparison that pays is internal: this month's cohort against a cohort from three months ago, at the same age.
What is the difference between cohort analysis and funnel analysis?
A funnel measures a sequence in one short window, usually inside a single session: of the people who started onboarding, how many finished. Cohort analysis measures a population over a long period: of the people who finished onboarding in March, how many were still active in June. They answer different questions and you need both, in that order. Use funnel analysis to find the step losing people, ship the fix, then watch the cohorts that signed up afterward to see whether the fix survived past week one.
This ordering catches a specific and very common failure. Plenty of onboarding changes lift funnel completion and do nothing to retention, because they got more people through a door they were never going to walk back through. The funnel says the change worked. The cohort chart says it did not.
Step 5: find out why the broken cohort broke
Finding the June cohort is the easy part. Explaining it is where most teams stall, and the reason is structural: the chart contains no information about causes. An eleven-point drop is equally consistent with a pricing page change, a broken signup email, a new paid channel bringing the wrong audience, an outage in week one, or a competitor's launch. All five produce an identical triangle and have completely different fixes.
So work from evidence the cohort itself generated. Pull the support tickets opened by users in that cohort during their first two weeks and see what they were stuck on. Read the cancellation reasons those specific accounts gave. Check the reviews and survey replies written in that window. Compare their acquisition channel mix against the healthy cohorts. Usually one of those five checks produces an obvious answer within an hour, and it will be a specific answer you can act on rather than a hypothesis to test for a quarter.
The practical obstacle is that this evidence lives in four systems that do not talk to each other, so nobody does the check under deadline. That is the gap our cohort analysis tools comparison covers in more depth, and it is why UserInsight attaches the tickets, reviews and survey replies from a cohort to the cohort itself rather than leaving them in separate tools.
How often should you run a cohort analysis?
Monthly is right for most SaaS teams, timed so that the newest cohort has at least four periods of data. Running it weekly on a monthly-usage product produces noise and encourages people to react to normal variance. Running it quarterly means a broken cohort goes unnoticed for a full quarter, and by then the users who left are not coming back.
Build the review into an existing meeting rather than creating a new one. The useful ritual is short: look down the columns, name any cohort that broke from the pattern, and assign someone to come back with the reason rather than a theory. If nothing broke, the meeting takes four minutes, which is exactly as it should be.
Common mistakes worth avoiding
Four errors account for most bad cohort work. Defining retention as a login, which inflates everything and hides the real curve. Reading rows instead of columns, which compares cohorts at different ages. Using cohorts too small to be meaningful, where a forty-user cohort swings ten points because four people took a vacation. And treating the chart as a verdict rather than a starting point, so the finding gets reported in a deck and never diagnosed.
There is a fifth that is subtler: changing the return action definition partway through and not telling anyone. Retention jumps, someone takes credit, and the historical comparison is now meaningless. If you must change the definition, rebuild the whole history under the new one before you show it to anybody.
Where cohort analysis fits with everything else
Cohort analysis is one report inside a broader practice. If you are building the wider measurement setup from scratch, our guide to what product analytics is covers how events, funnels, cohorts and adoption reports fit together. When the pattern you find is concentrated in accounts that eventually leave, churn analysis software is the natural next step, and the improvement work itself usually runs through customer retention software. If you have not settled on a platform to build the triangle in yet, the two that most teams weigh against each other are covered in our Amplitude vs Mixpanel comparison.
None of these tools will hand you the reason a cohort decayed. They narrow the question, which is genuinely valuable, and then somebody has to go read what those users said. The teams who close that loop quickly are the ones who fix retention. The teams who present the triangle and move on are the ones still presenting it next quarter.
See UserInsight surface the why
UserInsight unifies your usage, feedback, tickets, reviews and surveys, then surfaces why users churn and what to build next, each traced to the evidence. Aggregate and consented, with no PII.