Skip to content
hey annahey anna
Back to blog
SaaSTutorials

What Is Cohort Retention Analysis? (And How to Run One Without a Data Team)

What is cohort retention analysis and how do you run one without SQL? Anna builds proper NRR cohort tables from Stripe or your warehouse — no data engineer required.

By Anna·~8 min read·Updated Apr 5, 2026

Every SaaS investor asks the same question on the second call: "what does your retention look like by cohort?"

And every SaaS founder without a data team has the same answer: a flat overall churn percentage, an apologetic shrug, and a promise to "get back to you with the proper cohort table."

That promise often takes weeks to keep. Or never gets kept. The proper cohort analysis sits on the someday-list while the founder approximates it from gut feel and the Stripe dashboard.

It does not need to.

Short answer. Cohort retention analysis groups customers by the month they first paid you, then tracks how much of each group's revenue (or how many customers) you still have one, two, three, six months later. It's the SaaS metric investors ask about because a single overall churn number hides whether retention is improving or quietly getting worse. To run one without a data team: connect Stripe (or BigQuery / Snowflake / Postgres), ask Anna for a monthly cohort table by net revenue retention, then segment the worst cohort by channel or plan.

What is cohort retention analysis?

Cohort retention analysis is a method for measuring how customer revenue or activity holds up over time, by grouping customers into "cohorts" based on when they joined and tracking each cohort separately. Each cohort is a row in a table; each column is a period (usually a month) since they joined. The cell shows how much of that cohort's original revenue or how many customers are still active.

Two reasons it's the metric that matters for SaaS: (1) it isolates whether recent customer vintages are retaining better or worse than older ones, and (2) it shows the shape of churn — fast initial drop-off then plateau is healthy, slow continuous leak is not. A single churn percentage can't tell you either.

Why cohort retention beats a single overall churn number

If you only look at one number, monthly churn rate is misleading. It blends new customers (who churn fast), recent vintages (which might be quietly improving), and your oldest customers (who are stickier just because they are still here).

Cohort retention separates the signal. Each cohort is a group of customers who joined in the same period — usually a month. You track that specific group's retention through time. The result is a table where each row is a cohort and each column is the months that have passed since they joined.

A healthy SaaS cohort table looks like this: high attrition in the first month, a flattening curve, and a plateau where the surviving customers stick for a long time. An unhealthy table looks like a slow leak that never stops.

The pattern matters more than any single number. And you cannot see the pattern without the table.

What data do you need to build a cohort retention table?

In theory, three columns:

  • A customer identifier
  • The date they first paid
  • A monthly revenue or activity value, tracked over time

In practice, building this from your raw data takes either SQL skills or hours of Sheets work. You have to deduplicate customers, handle plan changes, decide whether downgrades count as partial churn, normalise for payment frequency. Most founders give up halfway through and just compute a rough overall churn rate.

How do you build a cohort table without SQL or a data engineer?

Anna connects directly to Stripe (the most common case for SaaS) or to your warehouse — BigQuery, Snowflake, Postgres. Sign in or paste your warehouse credentials; Anna can read your data, never change it. She reads your subscription history, identifies customers, groups them by their first paid month, and computes the retention curve.

No SQL. No CSV exports. No "let me check what's in the customer table."

The first prompt to run a cohort retention analysis

Once Stripe (or your warehouse) is connected, paste this:

"Build a monthly cohort retention table for the last 12 months, measured by net revenue retention. Highlight any cohort where retention dropped below 90% by month 6."

Anna pulls every paid subscription in the last year, groups customers by their first-paid month, tracks each cohort's MRR forward, and produces a retention table with the standard rows-as-cohorts, columns-as-months-out shape.

The output includes the table itself, plus the things a senior analyst would surface unprompted: which cohorts are abnormal, what differentiates them, whether the differences are statistically meaningful given the cohort sizes.

A typical finding might read:

Best Cohort (NRR M6)
108%
Sept 2025
Worst Cohort (NRR M6)
76%
Jan 2026
Recent 3-Mo Avg
91%
vs 102% Q3

The September cohort retains beautifully. The January cohort is leaking. The recent three-month average is dragging the trend line down. Three different stories, one table.

An example of what Anna might surface: NRR curves by cohort over six months. The shape of the curve matters more than any single number.

How do I find the cause of a bad cohort?

A cohort table on its own is descriptive. The question your investor will ask next is "why?" — and that is where most cohort analyses stop.

Try this follow-up:

"Split the worst-performing cohorts by acquisition channel and plan. Where is the retention gap concentrated?"

Anna re-runs the cohort math sliced by channel and by plan. The honest answer is usually that the bad retention is concentrated in one specific combination — Google Ads customers on the starter plan, say — rather than evenly spread. Once you know that, the remediation is concrete: pause the spend, fix the onboarding for that plan, or both.

The cohort table is the question. The split is the answer. Always ask Anna to slice the worst cohort by at least one segmentation variable — channel, plan, geography, ICP fit. The aggregate cohort almost never tells you what to do.

Net revenue retention vs logo retention: what's the difference?

Two very different metrics. SaaS founders confuse them constantly.

  • Logo retention is what fraction of customers from a cohort are still paying you anything.
  • Net revenue retention is what fraction of the original cohort's MRR you still have, including expansion, contractions, and churn.

A cohort can have 70% logo retention and 110% NRR — the customers who stayed expanded enough to more than offset the ones who left. That is the SaaS dream. The opposite (90% logo, 80% NRR) is the subtle warning sign: customers are sticking around but downgrading.

When you ask Anna for cohort retention, specify which one you want. If you do not, she will compute both and ask which is more relevant to the decision you are making.

Can I use Mixpanel or Amplitude for revenue cohort retention?

Product analytics tools have cohort views. They are great for product engagement — feature retention, day-7 active users.

They do not, in general, do revenue cohort retention. They do not see Stripe. They do not know which customer is on which plan. They cannot answer "what is the dollar retention of the customers who joined in November."

Anna can. Connect product analytics for engagement cohorts, connect Stripe for revenue cohorts, ask both questions in the same conversation.

When does a cohort table actually pay off?

The reason this matters is the moment you need it. The investor call. The board prep. The annual planning kickoff.

A flat overall churn number gets you a follow-up question. A cohort table — with NRR by vintage, the trend annotated, the worst cohort segmented by channel — gets you a productive conversation about where to invest. And the difference is not how smart you are. It is whether the analysis is built.

Anna builds it. Two prompts and a connection.

One question to start

If you are going to ask only one cohort question this week, ask this:

"Is recent retention worse than older retention, controlling for tenure?"

It is the question your investor wants the answer to. It is the question that tells you whether your last six months of acquisition were worth it. And it is the question a flat overall churn rate cannot answer.

Connect Stripe or your warehouse. Paste the question. Try it at heyanna.studio.

FAQ

What's the simplest definition of cohort retention?

Cohort retention is the percentage of a group of customers (a "cohort") who joined together and are still active — or still paying you the same revenue — after a given amount of time. A cohort table shows multiple cohorts side by side so you can see whether retention is getting better or worse over time.

Should I use net revenue retention (NRR) or logo retention?

NRR is the right primary metric for most SaaS investors and operators because it captures expansion and contraction, not just whether a customer is still on the books. Logo retention is useful as a secondary check — if logo retention is healthy but NRR is weak, you have a downgrade problem rather than a churn problem.

How many months of data do I need before cohort analysis is meaningful?

You need at least one cohort that's reached the time horizon you care about. To talk about month-6 retention you need cohorts that are at least 6 months old. For a useful trend (recent vs older cohorts), 12 months of customer data is the practical minimum.

Can I run cohort retention from Stripe alone?

Yes for most early-stage SaaS. Stripe contains the customer ID, first paid date, and subscription history Anna needs to build the table. If your billing logic is split across Stripe + an internal database (e.g., usage-based billing), connect both so the cohort math reflects realised revenue, not just invoice revenue.

Is this the same as a churn cohort or a survival curve?

Closely related. A survival curve plots the same data as a cohort table but typically only tracks logo retention (still active vs churned). A cohort retention table tracks revenue and is the standard format SaaS investors expect to see.

What if my customer count per cohort is small?

Small cohorts are noisy. Anna will flag when a cohort has too few customers to draw statistical conclusions and recommend grouping cohorts by quarter rather than month. For very early-stage companies (under ~50 customers), look at logo retention rather than NRR — the maths is more stable.

See Anna's work

Anna ran this analysis on a real dataset — open the live report.

Open the live monthly business review Anna wrote on real SaaS data. MRR, cohort retention, unit economics — the investor-ready version.

Open the live report →