Cohort Analysis for SaaS Founders

Cohort analysis is the single most important analytical technique for SaaS founders. It separates the question "are we growing?" from the question "is our product getting better?" — two questions that look identical in aggregate revenue charts but tell completely different stories at the cohort level.

A product that is growing revenue while retention is deteriorating is on a treadmill: you are acquiring faster than you are churning, but the underlying product is getting worse for customers. Cohort analysis is how you detect this before it costs you the business.

This guide covers how to build retention cohorts from scratch, how to read retention curves correctly, how to use cohorts to identify your best customer segments, and how to act on what the data tells you.

📊 What a Cohort Is and Why It Matters

A cohort is a group of users or accounts who share a common starting event within the same time window — typically the month or week they signed up. Cohort analysis tracks what percentage of each group remains active (or paying) over successive time periods.

The core insight: aggregate metrics hide cohort-level trends. If you have 1,000 users in month 6 and 1,000 users in month 12, aggregate retention looks flat. But cohort analysis might show that early cohorts retained at 70% while recent cohorts are retaining at 40% — meaning your product has gotten significantly worse for new users, even as total user count held steady.

MetricWhat Aggregate ShowsWhat Cohort Analysis Reveals
Monthly Active UsersTotal activity trendWhether activity per cohort is growing or declining
RevenueTotal MRR growthWhether new cohorts monetize as well as older ones
Churn RateBlended churn across all customersWhether churn is improving or worsening by signup month
Feature AdoptionOverall feature usage %Whether specific cohorts use features differently

🔧 Building Your First Retention Cohort

The simplest cohort analysis groups users by signup month and tracks the percentage still active at 1, 2, 3, 6, and 12 months. "Active" means logged in, completed a core action, or generated a transaction — whatever your activation event is.

Minimum data you need:

SQL to build a basic monthly retention cohort:

WITH cohorts AS (
  SELECT
    user_id,
    DATE_TRUNC('month', created_at) AS cohort_month
  FROM users
),
activity AS (
  SELECT
    user_id,
    DATE_TRUNC('month', event_at) AS activity_month
  FROM events
  WHERE event_type = 'session_start'
)
SELECT
  c.cohort_month,
  DATEDIFF('month', c.cohort_month, a.activity_month) AS months_since_signup,
  COUNT(DISTINCT a.user_id) * 100.0 / COUNT(DISTINCT c.user_id) AS retention_pct
FROM cohorts c
LEFT JOIN activity a ON c.user_id = a.user_id
GROUP BY 1, 2
ORDER BY 1, 2;

This produces a retention matrix: rows are cohort months, columns are months since signup, values are retention percentages. Month 0 is always 100% (everyone was active when they signed up). Month 1 shows how many came back.

📉 Reading Retention Curves

A retention curve plots the retention percentage over time for a single cohort. The shape of the curve tells you more than any individual number.

Curve ShapeWhat It MeansWhat to Do
Drops steeply then flattensStrong core users exist; onboarding loses casual usersImprove onboarding; the retained users are your ICP
Continuous slow declineProduct delivers value but does not create habitAdd recurring use cases; build notification loops
Sharp cliff at month 3-6Contract-length churn; customers evaluating at renewalProve ROI before the evaluation window
Improves over time (rising)Late-activating value; product gets better with useAccelerate time-to-value; surface value earlier
Flattens near zeroProduct has no sticky use case for most usersProduct-market fit problem; revisit core value prop

Benchmark retention curves by product type:

🎯 Using Cohorts to Identify Your Best Customers

Not all cohorts are equal. Segment your cohorts by acquisition channel, plan tier, company size, or onboarding path and compare their retention curves. The segment with the flattest retention curve — the one that churns least — is your best customer profile.

Common segmentation cuts that surface ICP signals:

💰 Revenue Cohorts: LTV and Payback Period

Retention cohorts track usage. Revenue cohorts track money. Build a revenue cohort by replacing the retention percentage with cumulative MRR contributed per original cohort member.

Revenue cohorts answer three critical questions:

Cohort MonthMonth 1 RevenueMonth 6 RevenueMonth 12 RevenueSignal
Jan cohort$10,000$14,000$18,000Strong expansion — customers grow with the product
Jun cohort$10,000$8,000$5,000Contraction — churning faster than expanding

⚙️ Acting on Cohort Data

Cohort analysis is only valuable if it drives decisions. The most common actionable findings and what to do with them:

Month 1 retention is low (<40% for B2B): Onboarding problem. Map the steps between signup and your activation event and remove friction at every step. Run manual onboarding calls for your next 20 signups and observe what breaks.

Month 3 cliff: Users are churning at the natural evaluation point. This means they got value initially but did not build a workflow habit. Add recurring use cases, email triggers tied to usage gaps, and make sure ROI is visible before day 60.

Recent cohorts retaining worse than old cohorts: Something changed — in the product, the acquisition channel, or the market. Compare what changed between your best-performing cohort month and your worst-performing. Common culprits: a new paid channel bringing lower-intent users, a product change that broke a key workflow, or pricing changes that attracted a different buyer.

One acquisition channel retains dramatically better: Shift budget and effort to that channel immediately. A channel that produces customers with 2x retention is worth 2x the CAC.

What to Do Next

If you have not built a cohort table yet: run the SQL query above against your user and event data this week. If you do not have structured event data: instrument at minimum a signup event and a "core action" event, then come back to this in 30 days with real data. If you already have cohort data: segment it by acquisition channel and activation status. Those two cuts will surface your most actionable insights within an hour.