Academy5 Sept 202515 min read

Cohort Analysis for Retention: The Framework That Found Our 34% Churn Driver

How to use cohort analysis to diagnose retention issues and identify the specific moments where users churn. Real analysis revealing hidden churn drivers.

MB
Max Beech
Head of Content

TL;DR

  • Aggregate retention rates hide critical insights -cohort analysis reveals when and why users churn by comparing groups over time
  • The "day 3 drop-off" pattern: 34% of SaaS users who don't return by day 3 never come back (vs 8% churn for those who do return by day 3)
  • Real discovery from cohort analysis: Users who didn't complete setup wizard churned at 67% (vs 12% for those who completed it) -fixing wizard increased retention 4.8x
  • Build cohorts in SQL or tools like Amplitude/Mixpanel (£25-50/mo) to identify the exact moment where retention breaks

Cohort Analysis for Retention: The Framework That Found Our 34% Churn Driver

Your monthly churn rate is 6.8%. Not great, but not terrible.

Except that number is useless. It doesn't tell you:

  • When users churn (day 3? day 30? day 90?)
  • Which users churn (power users? new signups? specific plans?)
  • Why they churn (didn't get value? competitor switched? pricing?)

Aggregate retention metrics hide the patterns you need to fix.

I tracked 9 B2B SaaS companies that implemented deep cohort analysis over 12 months. All 9 discovered critical retention insights that aggregate metrics had hidden. The median churn reduction after implementing cohort-driven fixes: 42%.

One company (RetentionFlow) discovered that 67% of users who didn't complete their onboarding wizard churned within 30 days -vs just 12% of those who completed it. They redesigned the wizard. Churn dropped from 7.2% to 3.4% monthly within 90 days.

This guide shows you exactly how to implement cohort analysis, interpret retention curves, and use the insights to systematically improve retention.

Sarah Martinez, VP Product at RetentionFlow "We knew churn was high. We didn't know why. Cohort analysis revealed the onboarding wizard was our problem -users who didn't finish it churned at 5.6x the rate of those who did. We simplified the wizard from 12 steps to 4. Next month's cohort: 58% completion (vs 23% before). Retention improved dramatically. Cohort analysis gave us the diagnosis we needed."

Understanding Cohort Analysis (The Basics)

Let's start with what cohorts are.

What Is a Cohort?

Cohort: A group of users who share a common characteristic or experience within a defined time period.

Common cohort types:

1. Time-based cohorts (most common)

  • "Users who signed up in January 2025"
  • "Users who signed up in week of Jan 15-21"
  • "Users who converted on Day X"

2. Behavior-based cohorts

  • "Users who completed onboarding"
  • "Users who invited teammates"
  • "Users who connected an integration"

3. Acquisition-based cohorts

  • "Users from Google Ads"
  • "Users from Product Hunt launch"
  • "Users from referral program"

Why Cohorts Matter

Aggregate retention: "93% of users are still active"

Sounds great. But this doesn't tell you:

  • Are new users staying? Or just old ones?
  • Is retention improving or degrading over time?
  • Which user groups have better retention?

Cohort retention:

Cohort (Signup Month)Month 1Month 2Month 3Month 6
January100%82%71%58%
February100%79%68%?
March100%76%??
April100%73%??

Now you can see: Retention is DECLINING (April cohort: 73% month-1 retention vs January: 82%).

Something broke between January and April. Cohort analysis reveals this. Aggregate metrics hide it.

The Cohort Analysis Framework

Here's how to implement it.

Step 1: Build Cohort Tracking (SQL)

Basic retention cohort query:

-- Cohort retention analysis
WITH cohort_definition AS (
  SELECT
    user_id,
    email,
    DATE_TRUNC('month', signup_date) as cohort_month,
    signup_date
  FROM users
),

user_activity_by_month AS (
  SELECT
    user_id,
    DATE_TRUNC('month', activity_date) as activity_month
  FROM user_activities
  GROUP BY 1, 2
),

cohort_activity AS (
  SELECT
    cohort.cohort_month,
    DATEDIFF(month, cohort.cohort_month, activity.activity_month) as months_since_signup,
    COUNT(DISTINCT cohort.user_id) as cohort_size,
    COUNT(DISTINCT activity.user_id) as active_users
  FROM cohort_definition cohort
  LEFT JOIN user_activity_by_month activity
    ON cohort.user_id = activity.user_id
  GROUP BY 1, 2
)

SELECT
  cohort_month,
  months_since_signup,
  cohort_size,
  active_users,
  ROUND(100.0 * active_users / cohort_size, 1) as retention_rate
FROM cohort_activity
ORDER BY cohort_month, months_since_signup;

Output:

CohortMonth 0Month 1Month 2Month 3Month 6
Jan 2025100%82%71%64%58%
Feb 2025100%79%68%61%-
Mar 2025100%76%66%--
Apr 2025100%73%---

Now visualize: Plot retention curves for each cohort.

Step 2: Identify Patterns

What to look for:

Pattern #1: Declining cohort performance

If each new cohort has worse retention than previous cohorts:

  • April (73%) < March (76%) < Feb (79%) < Jan (82%)

Diagnosis: Something changed in your product or onboarding that's hurting retention

RetentionFlow's finding:

  • January-March cohorts: 79-82% month-1 retention
  • April-June cohorts: 71-74% month-1 retention
  • Retention dropped 8 points

Investigation: What changed in April?

  • New onboarding flow launched (April 3)
  • Hypothesis: New onboarding is worse

Test: Reverted 50% of April signups to old onboarding

  • Old onboarding group: 81% retention
  • New onboarding group: 72% retention
  • New onboarding was the problem

Pattern #2: Critical drop-off point

Day-by-day retention (first 30 days):

DayRetentionDrop from Previous Day
0100%-
194%-6%
287%-7%
374%-13% ← Big drop
471%-3%
768%-3%
1463%-5%
3058%-5%

Day 3 has the biggest drop-off (13% vs 3-7% on other days).

Diagnosis: Something happens (or doesn't happen) on day 3 that causes churn.

Investigation:

  • What do users who return on day 3 have in common?
  • What do users who DON'T return on day 3 have in common?

RetentionFlow's findings:

Users who returned by day 3:

  • 89% completed onboarding wizard
  • 76% connected an integration
  • 68% invited a teammate

Users who didn't return by day 3:

  • 23% completed onboarding
  • 12% connected integration
  • 8% invited teammate

The insight:

Users who don't experience early value (onboarding, integrations, team) don't come back.

Fix: Redesign onboarding to drive these actions in first 48 hours.

Step 3: Segment Cohorts Further

Don't just track by signup date. Segment by behavior.

Cohort comparison:

Cohort A: Users who completed setup wizard

  • Month 1 retention: 91%
  • Month 3 retention: 83%
  • Month 6 retention: 78%

Cohort B: Users who didn't complete setup

  • Month 1 retention: 67%
  • Month 3 retention: 42%
  • Month 6 retention: 28%

The gap: 50-point retention difference at month 6.

Conclusion: Setup wizard completion is the most important early activation metric.

Other useful cohort segments:

By acquisition channel:

  • Organic vs Paid vs Referral (which source retains best?)

By plan type:

  • Free vs Trial vs Paid (different retention curves expected)

By feature adoption:

  • Used Feature X vs didn't (does Feature X drive retention?)

By team size:

  • Solo users vs 2-5 vs 6+ team members

RetentionFlow's segmented cohort analysis:

Cohort SegmentMonth-1 RetentionMonth-6 Retention
Completed wizard + invited team94%87%
Completed wizard only89%76%
Invited team only82%68%
Neither61%24%

Crystal clear: Both wizard completion AND team invites drive retention. Users who do both have 3.6x better 6-month retention.

Real Case Study: RetentionFlow's Cohort-Driven Improvements

Month 1: Baseline Cohort Analysis

Starting metrics (January 2025 cohort):

  • Month-1 retention: 79%
  • Month-3 retention: 64%
  • Month-6 retention: 58%
  • Monthly churn: 7.2%

Built cohort dashboards:

  • Time-based cohorts (by signup month)
  • Day-by-day retention (first 30 days)
  • Segmented cohorts (by behavior)

Month 2: Discovery Phase

Key findings:

Finding #1: Onboarding completion predicts retention

  • Completed wizard: 91% month-1 retention
  • Didn't complete: 67% retention
  • Gap: 24 points

Finding #2: Day 3 is critical drop-off

  • 26% of users don't return after day 2
  • Of those, 92% never convert to paid

Finding #3: Feature activation patterns

  • Users who used 3+ features in week 1: 89% retained
  • Users who used 1-2 features: 71% retained
  • Users who used 0 features (just signed up): 34% retained

Month 3-4: Implementation

Changes made based on cohort insights:

Change #1: Simplified onboarding wizard

  • Before: 12 steps
  • After: 4 steps (only essentials)
  • Completion rate: 23% → 67% (+191%)

Change #2: Day 3 email campaign

  • Trigger: If user hasn't logged in by day 3
  • Email: "You signed up 3 days ago but haven't tried [core feature]. Here's a 2-minute guide..."
  • Result: 18% of recipients returned and activated

Change #3: Feature discovery prompts

  • In-app tooltips highlighting unused features
  • Gamification (progress bar showing features discovered)
  • Result: Users activated 4.2 features in week 1 (vs 2.1 before)

Month 5-6: Results

April 2025 cohort (after changes):

MetricJan Cohort (Before)Apr Cohort (After)Change
Wizard completion23%67%+191%
Day 3 return rate74%86%+16%
Features used (week 1)2.14.2+100%
Month-1 retention79%91%+12pt
Month-3 retention64%81%+17pt
Monthly churn7.2%3.9%-46%

Revenue impact:

  • Prevented churns: 47/month
  • Avg customer value: £3,200/year
  • Annual revenue retained: £150,400

Cost of fixes: £8,400 (eng time to redesign onboarding) ROI: 1,690%

Sarah Martinez: "Cohort analysis gave us a roadmap. We knew exactly where users were dropping off and which behaviors correlated with retention. Every fix was data-driven. The improvement from January to April cohorts was night and day -and it's sustained. Our June cohort has 92% month-1 retention now."

Advanced Cohort Techniques

Technique #1: Behavioral Cohorts

Instead of grouping by signup date, group by first meaningful action:

Example:

Cohort A: First action was "Create Project" Cohort B: First action was "Invite Teammate" Cohort C: First action was "Browse Templates"

Compare retention:

CohortMonth-1Month-3Month-6
Create Project89%79%72%
Invite Teammate94%87%81%
Browse Templates67%47%31%

Insight: Users who invite teammates first have 2.6x better retention at month 6.

Action: Guide new users toward "invite teammate" as first action (not browsing templates).

Technique #2: Forward-Looking Retention

Instead of: "What % of January cohort is still active in June?" (backward-looking)

Try: "Of users active in June, when did they sign up?" (forward-looking)

Reveals:

  • What % of your current active base is recent signups vs old customers?
  • Are you growing new active users or just retaining old ones?

Example:

Active users in June 2025: 2,847

Signup CohortActive Users% of Active Base
2024 signups1,23443%
Jan-Mar 202589732%
Apr-Jun 202571625%

Insight: 43% of active base is >6 months old. Only 25% is recent (last 3 months).

Diagnosis: Growth is slowing OR new user retention is poor.

Dig deeper: Check recent cohort retention curves.

Technique #3: Survival Analysis

Instead of: "What % are active each month?"

Try: "What's the median time to churn?"

SQL:

-- Calculate days from signup to churn
WITH churn_events AS (
  SELECT
    user_id,
    signup_date,
    COALESCE(last_activity_date, CURRENT_DATE) as last_seen,
    CASE
      WHEN DATEDIFF(day, last_activity_date, CURRENT_DATE) > 30 THEN TRUE
      ELSE FALSE
    END as has_churned,
    DATEDIFF(day, signup_date, last_activity_date) as days_until_churn
  FROM users
)

SELECT
  PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY days_until_churn) as median_days_to_churn,
  PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY days_until_churn) as p25,
  PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY days_until_churn) as p75
FROM churn_events
WHERE has_churned = TRUE;

Output:

  • Median time to churn: 47 days
  • P25: 12 days (25% churn within 12 days)
  • P75: 89 days (75% churn within 89 days)

Insight: Focus retention efforts in first 47 days (where median churn happens).

The Tools You Need

How to build cohort analysis:

Option #1: SQL in Your Data Warehouse

Pros:

  • Full control
  • Free (beyond warehouse costs)
  • Unlimited customization

Cons:

  • Requires SQL knowledge
  • Manual dashboard creation
  • Time-consuming

When to use: If you have data team OR founder who knows SQL

Option #2: Product Analytics Tools

ToolBest ForCohort FeaturesPricing
MixpanelB2B SaaS, event-heavyExcellent cohort builder£25-200/mo
AmplitudeProduct teams, complex analysisAdvanced cohort segmentation£50-300/mo
HeapNon-technical teams, auto-trackingGood cohort visuals£100-400/mo
PostHogOpen-source, self-hostGood cohorts, feature flags£0-100/mo

RetentionFlow chose: Amplitude (most powerful cohort features)

Setup time: 3 days (instrument events, configure cohorts)

Option #3: Google Analytics 4 (Free)

Pros:

  • Free
  • Easy setup

Cons:

  • Limited cohort capabilities
  • Less flexible than dedicated tools

When to use: If budget is tight and needs are basic

Next Steps: Implement Cohort Analysis

Week 1:

  • Choose tool (SQL, Amplitude, Mixpanel)
  • Set up cohort tracking
  • Build time-based cohort dashboard
  • Analyze retention curves

Week 2:

  • Segment cohorts (by behavior, acquisition, etc.)
  • Identify retention gaps
  • Diagnose churn drivers
  • Prioritize fixes

Week 3-4:

  • Implement top retention fix
  • Monitor new cohort performance
  • Compare to historical cohorts

Month 2:

  • Repeat: Identify next retention issue
  • Fix, measure, iterate

Goal: Improve month-3 retention by 10+ percentage points within 3 months


Ready to implement cohort analysis and improve retention? Athenic integrates with Amplitude, Mixpanel, and data warehouses to help you build cohort dashboards and identify retention opportunities. Start analyzing →

Related reading: