Home

Product notes

Retention Cohort Analysis: How to Read a Cohort Table Without Fooling Yourself

4 min read

A single retention number, like "40% of users come back after a month," hides almost everything useful. Did it go up or down? Is it the same for people who joined last week and people who joined a year ago? Did that big launch in March change anything?

A cohort table answers those questions. It groups users by when they started and shows how many are still active over time. Once you get used to reading one, it becomes one of the most useful views a product team has.

A simple example

Here's an illustrative weekly retention table for a subscription app. Each row is a group of users who signed up in the same week. Each column shows the share still active in later weeks.

Signup weekUsersWeek 1Week 2Week 4Week 8
Week A1,20055%42%33%27%
Week B1,35054%41%32%26%
Week C (new onboarding)1,30061%47%37%
Week D1,25060%46%

Reading across a row shows how one group decays over time. Reading down a column compares groups at the same age. Week C and D look better at the same age than A and B, which might mean the new onboarding helped. Might.

Choose the right definitions

Two choices shape everything:

What defines the cohort? Usually sign-up date. But for some products, first purchase or first meaningful action is more useful.

What counts as retained? "Opened the app" is easy to measure and often too generous. For a streaming service, I'd rather count "watched something meaningful." For a B2B tool, "completed a core task." Pick an event that reflects real value.

This connects directly to choosing a north star metric. If your retained event doesn't reflect value, the table will look healthier than reality.

Look for the curve flattening

In a healthy product, retention drops at first and then levels off. The people who remain have found a reason to stay. If the curve keeps dropping without flattening, you're losing people steadily and haven't found a core group that sticks.

Where the curve flattens, and at what level, is often more important than any single week's number.

Traps to avoid

  • Mixing in reactivated users. If someone leaves and comes back, decide whether they count, and be consistent.
  • Seasonality. A cohort that joined during a holiday or big promotion may behave very differently. Compare similar periods where you can.
  • Changes in who's joining. If a marketing campaign brings in a different type of user, retention can change without the product changing at all.
  • Small cohorts. A few hundred users can swing a lot from week to week. Don't overreact to one row.
  • Incomplete recent cohorts. The newest rows don't have later columns yet. Don't compare them to older rows' later weeks.

Connect it to what you shipped

Mark launches, pricing changes and major releases next to the cohort rows. When a column improves, you'll see whether it lines up with something you did. That's not proof of cause, but it's a good starting point for investigating.

For stronger evidence, use a proper experiment where you can. The A/B testing post covers that, and the churn analysis post looks at what's behind the drop-off itself.

Break it down

Overall cohorts mix very different users. Split by platform, country, acquisition source or plan type. A cohort table for TV users might look completely different from one for mobile users.

That's often where the real insight is. The overall curve tells you there's a problem. The breakdown tells you where it is.