Cohort Retention Analysis: How to Read the Curves That Reveal What Churn Rate Hides

Your churn rate tells you how many customers left. Cohort retention analysis tells you when they left.

Author
Theodore Sterling
Date posted
May 27, 2026
Category
Churn Analytics
Time to read
X min

Your churn rate tells you how many customers left. Cohort retention analysis tells you when they left.

Last month’s 4% churn may look fine, but cohort data can show that most of the churn happened in the first 30 days. It can also show that customers who stayed past month 2 kept paying for years.

Those are very different problems, and each one needs a different fix.

Key takeaways

  • Group customers by signup month and track how many stay each month.
  • A curve that flattens after month 3 usually means long-term customers are sticky.
  • A curve that's falling after month 6 may signal a value, pricing, or customer-fit churn problem.
  • Aggregate churn combines all customers into 1 number.
  • Revenue cohort analysis matters when you have expansion monthly recurring revenue, because a cohort can lose customers and still grow in revenue.

What is cohort retention analysis?

Cohort retention analysis groups customers by the month they signed up and tracks how many stay over time. You can track the number of customers who stay, or you can track how much revenue each group keeps.

A cohort is a group of customers who started at the same time. For example, all customers who signed up in January are the January cohort.

Cohort retention analysis helps you see when churn happens. It also shows whether churn slows down, customers become stable, and product changes are improving retention.

Aggregate churn rate can hide those patterns. It blends customers of all ages into 1 number. Let's say there's a cohort that loses 15% of customers in its first 30 days and a one that loses 1% after 24 months. Both cohorts feed into the same “4% monthly churn” number.

That average tells you churn happened. It doesn’t tell you where to fix it.

David Skok’s SaaS Metrics 2.0 made this point well: cohort analysis makes the patterns inside aggregate churn visible. When you separate customers by tenure, you stop measuring outcomes alone and start seeing causes.

Churn is simple to define. Explaining why churn is happening takes cohort data.

SaaS Capital makes a similar point.

Retention metrics can mislead when early churn gets mixed with mature-customer retention.

Cohort analysis helps you spot the early-life churn “breaking point.” When improving cohorts and worsening cohorts get blended together, the headline churn number may stay flat. Meanwhile, the business changes underneath it.

2 types of cohort retention analysis

For SaaS retention, start with 2 cohort views: customer cohorts and revenue cohorts. They answer different questions, and the right first step depends on how your pricing works.

1. Customer cohort analysis: how many customers stay

Customer cohort analysis tracks the percentage of customers from each signup cohort who remain active at each point.

Here's an example. Month 3 of the January cohort shows the percentage of January signups that are still paying 3 months later.

Use customer cohort analysis when:

  • Your pricing is flat or close to flat
  • Most customers pay about the same amount
  • You want to find onboarding or activation problems
  • You’re early-stage and don’t have much expansion revenue yet

Customer cohort analysis answers a basic question: Are we losing new customers too early?

What it can’t show is whether revenue from the cohort is growing through upsells. A customer cohort can shrink while revenue from that same cohort grows. Why? Because the customers who stayed may have upgraded or expanded their usage.

2. Revenue cohort analysis: how much value each cohort keeps

Revenue cohort analysis tracks monthly recurring revenue (MRR) from each signup cohort over time.

This matters when customers can upgrade, add seats, or pay more as they use more. In that kind of business, the revenue line for a cohort can curve upward. Expansion revenue from retained customers is greater than the MRR lost to churn.

Skok’s Zendesk example in SaaS Metrics 2.0 is the classic version of this pattern. Revenue cohort graphs curve upward over time and reach negative churn.

Use revenue cohort analysis when:

  • net revenue retention (NRR) is a board-level metric
  • upsell revenue is meaningful
  • seat expansion matters
  • usage-based pricing changes what each customer pays
  • you want to know which cohorts reached negative churn

If every customer pays the same flat fee, customer cohort analysis and revenue cohort analysis will usually tell the same story.

Which cohort analysis should you run first?

Start with customer cohorts, and then add revenue cohorts when upsell becomes material.

Run customer cohorts first when you need to see when customers leave. That helps you find the weak point in the customer lifecycle.

Run revenue cohorts when expansion MRR becomes large enough to change the health of a cohort.

How to build a cohort retention table in 5 steps

You don’t need a complex charting tool to start. A spreadsheet can handle the first 3 steps.

Step 1: define your cohort period and event

Cohort period

Your cohort period is the time window you use to group customers.

Monthly cohorts are standard for SaaS. Use weekly cohorts only when you have enough signup volume for each week to stay stable, and when you need faster feedback on onboarding changes.

Cohort event

Your cohort event is the action that puts someone into the cohort.

For paid-customer retention, use the date the customer first becomes an active paying subscriber. Keep trial-start cohorts separate because trial-to-paid conversion is a different question.

A common mistake is using trial start as the cohort event for paid retention. That makes Month 0 look larger and Month 1 retention look worse. You’re counting people who never became paying customers as churned customers.

Track trial-to-paid conversion separately.

Step 2: pull your data

You need:

  • customer ID
  • subscription start date
  • cancellation date or active status
  • MRR for each period, if you’re running revenue cohorts

Stripe plus Google Sheets works for under 500 customers. Baremetrics, ChartMogul, and Amplitude can generate cohort tables for larger customer bases. For a purpose-built retention view, the Churn.io cohort tool adds curve-shape diagnostics on top of the raw matrix.[a]

The cohort table itself is a calculation. It isn’t a proprietary feature. Any tool that lets you group customers by start date and filter by active status can help you build it.

For logo retention, tag paused accounts separately instead of counting them as cancelled. Treat them as $0 MRR or inactive during the pause period unless your reporting policy says otherwise.

Step 3: build the matrix

A cohort retention matrix is a table with signup cohorts in rows and months since signup in columns.

Each cell shows the percentage of that cohort still active. Month 0 is always 100%.

If you need the formula with a worked example, see Cohort Retention Rate.

Here’s an example matrix with 2 different patterns:

CohortMonth 0Month 1Month 2Month 3Month 4Month 5
Jan100%58%51%50%49%49%
Feb100%81%73%67%60%54%
Mar100%85%78%72%66%61%
Apr100%92%83%74%66%59%
May100%88%80%73%67%62%
Jun100%90%82%74%67%60%

The January cohort drops 42 percentage points in Month 1, and then it almost stops moving.

The April cohort drops by about 8 points per month and shows no sign of flattening.

Same aggregate churn rate. Completely different problems.

Step 4: plot the retention curves

After you build the matrix, plot the curves.

Use one line per cohort. Put months since signup on the x-axis and retention percentage on the y-axis. Each line starts at 100% in Month 0 and moves down as customers churn.

The shape of the line is the main diagnostic. At this stage, you don’t need statistical tests. You need to see whether the curve drops early, keeps falling, or improves across newer cohorts.

If you don’t have a charting tool, use heat-map color coding in the matrix. Most spreadsheet tools can do this with conditional formatting in under a minute. Use darker colors for higher retention so the pattern is easy to spot.

Step 5: establish your baseline and set a review cadence

Baseline

Record Month 3 and Month 6 retention for your 6 most recent complete cohorts.

ChartMogul’s 2023 SaaS Retention Report found that top-quartile Month 3 new-business customer retention ranged from 87%. That percentage was for products with average selling price (ASP) under $10 per month to 98% for products with ASP above $500 per month.

Across stages, top-quartile companies hit about 90% retention at Month 3 and 70% at Month 12.

Retention varies by price point, ASP, and customer segment. Lower-price and self-serve products usually see more early churn than higher-ASP, B2B, or enterprise products.

Your own baseline matters more than any benchmark because you’re tracking whether your retention is improving.

Cadence

Review cohort curves every month. Compare the newest cohort’s Month 1 and Month 2 numbers against your baseline. Month 1 is your onboarding smoke detector.

When to act

If a new cohort’s Month 1 retention drops more than 5 percentage points below your baseline, review onboarding before Month 2 closes. Don’t wait for Month 3 data because the best recovery window may already be gone.

You should also separate voluntary churn from involuntary churn before you diagnose the curve. That prevents you from mistaking a payment failure spike for an activation problem.

Set up the matrix once, baseline your Month 3 and Month 6 numbers, and check the newest cohort’s Month 1 performance every month.

3 cohort curve shapes and what each one tells you to fix

Most SaaS retention curves fall into 3 useful shapes. The shape points to the likely cause, and the cause points to the right first fix.

ShapeWhat it looks likeRoot causeCorrect first fix
Steep-Then-FlatSharp drop in months 1–2, then flatOnboarding or activation failureReduce time to first value
Steady-DeclineConstant downward slope, no flatteningProduct value, pricing, or structural churnInterview churned customers from months 3–6
Recovery-CurveNewer cohorts sit higher than older cohorts at the same tenureA product, onboarding, or pricing change is workingConfirm cause and scale the change

Shape 1: Steep-Then-Flat. the onboarding problem

A Steep-Then-Flat curve drops sharply in months 1–2 and then levels out. This curve can lose 30–50% of the cohort early, while customers who stay past month 2 churn at a low and stable rate.

This pattern usually means the product has long-term value for the right customers. However, many customers leave before they reach that value.

The likely root cause is:

  • Onboarding friction
  • Slow time to first value (TtFV)
  • Gap between what acquisition promised
  • What the first session delivered

Treat this as an activation problem first.

The right first fix is simple: don’t start by adding product features. First off, audit the first-session experience. Then, find the activation milestone that separates customers who stay from customers who leave. And finally, instrument the step where early cohorts drop off.

Getting customers to activation faster will usually move this curve more than a new feature.

How we dealt with this

We saw this pattern in our own product, Dropship.io. Monthly churn was running at 39%, but cohort analysis showed that churn was front-loaded in the first 30 days.

We matched cancellation reasons against in-app behavior. From there, we found out that users who saved 3 or more products to a tracking list within their first 7 days churned at a fraction of the rate of users who didn’t.

From there, we rebuilt onboarding around that one behavior. We also added a four-reason cancel flow with pause offers, downgrade paths, and a free 1:1 onboarding call for accounts under 21 days.

Churn dropped from 39% to 21% in 11 weeks, with no product feature change.

When the curve is Steep-Then-Flat, focus on activation. The product is already strong enough for the customers who stay, and the job is to help more customers reach that first value point.

Shape 2: Steady-Decline. the product-value problem

A Steady-Decline curve drops at about the same rate every month. The line is still falling at month 6, month 9, and month 12.

This pattern means customers reach first value and still leave at a steady rate. The product isn’t giving them enough ongoing reason to keep paying.

Treat this as a value, pricing, or customer-segment problem.

There are 3 common causes.

1. The product solves a one-time problem

The customer needed X, used the product to get X, and then had no reason to keep the subscription. The product may work well, but the customer doesn’t have a recurring need. Feature work won’t fix that. Find the recurring use case or reconsider the pricing model.

2. The pricing structure doesn’t match customer value

The customer’s first goal is met at the current tier, but pricing doesn’t grow with usage or value. Some customers leave instead of upgrading. In this case, the product may be fine and the packaging may be the problem.

3. The churn is structural

Some churn is operational and some is structural. Operational churn can be fixed through onboarding, product, pricing, or payment recovery. Structural churn comes from the type of customer you serve.

If you serve small businesses, startups, or ecommerce operators, some customers may churn each month because their slows or shuts down. If churned customers report high satisfaction and cancel anyway, suspect structural churn.

Don’t build product features to fix structural churn. The better fix is market selection, which means moving toward customer segments that are more stable.

The right first fix is customer interviews. Talk to churned customers from months 3–6 before you commit to build work.

Ask whether the original problem they hired your product to solve still happens. Then ask what changed between activation and cancellation.

If answers cluster around “we liked it, but our situation changed,” you may have structural churn. If answers cluster around “we stopped getting results,” you likely have a product-depth problem.

Shape 3: Recovery-Curve means something is working

A Recovery-Curve appears when newer cohorts have higher retention than older cohorts at the same tenure points. The curves stack upward over time.

This pattern usually means a product, onboarding, or pricing change is working.

For example, if Month 1 retention for the July cohort is 8 points higher than Month 1 retention for the June cohort, that’s an early signal. You can see the improvement before aggregate churn has enough time to move.

This is how you validate onboarding changes without waiting 6 months for a full cohort to mature. If the post-change cohort has a much better Month 1, treat that as a green signal and scale the change.

One caution: check cohort size. A smaller cohort in a slow acquisition month can show higher retention because it attracted fewer, higher-intent signups.

Check both the retention rate and the raw customer count before you decide the improvement is real.

Steep-Then-Flat means fix onboarding first. Steady-Decline means interview churned customers before you build. Recovery-Curve means something is working, so confirm the cause and double down.

FAQs

What does a flattening retention curve mean?

A flattening retention curve means the customers who survived early onboarding are staying.

What is the difference between customer cohort and revenue cohort analysis?

Customer cohort analysis tracks how many customers remain from each signup group. Revenue cohort analysis tracks the MRR from each signup group.

Run this with Churn.io

Churn.io segments cancel flows by reason and retries failed payments with account updater logic.

It captures exit reasons and routes them to product, pricing, and sales, so each team can see the churn signals that matter to them.

One Stripe or Chargebee integration covers all three churn categories.

See how it works or book a 20-minute walkthrough.

[a]is this actually a feature of ours?

Theodore Sterling

Share this article: