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.
| Metric | What Aggregate Shows | What Cohort Analysis Reveals |
|---|---|---|
| Monthly Active Users | Total activity trend | Whether activity per cohort is growing or declining |
| Revenue | Total MRR growth | Whether new cohorts monetize as well as older ones |
| Churn Rate | Blended churn across all customers | Whether churn is improving or worsening by signup month |
| Feature Adoption | Overall 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:
- → A user ID or account ID
- → A signup timestamp (or account creation date)
- → An activity timestamp for each session or core event
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 Shape | What It Means | What to Do |
|---|---|---|
| Drops steeply then flattens | Strong core users exist; onboarding loses casual users | Improve onboarding; the retained users are your ICP |
| Continuous slow decline | Product delivers value but does not create habit | Add recurring use cases; build notification loops |
| Sharp cliff at month 3-6 | Contract-length churn; customers evaluating at renewal | Prove ROI before the evaluation window |
| Improves over time (rising) | Late-activating value; product gets better with use | Accelerate time-to-value; surface value earlier |
| Flattens near zero | Product has no sticky use case for most users | Product-market fit problem; revisit core value prop |
Benchmark retention curves by product type:
- → B2B SaaS, core workflow tool: Month 6 retention of 60–80% is strong
- → B2B SaaS, analytics or reporting tool: Month 6 of 40–60% is acceptable
- → PLG product with freemium: Month 3 of 20–30% for free users is typical
- → Consumer SaaS: Day 30 retention of 20–40% is considered good
🎯 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:
- → Acquisition channel (organic search vs. paid vs. referral vs. product-led)
- → Signup plan (free trial vs. monthly vs. annual)
- → Company size at signup (if you collect this)
- → Activation status (activated in first 7 days vs. not)
- → Feature used in first session (which first action predicts retention?)
💰 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:
- → LTV by cohort — is the lifetime value of recent cohorts higher or lower than older ones? Falling LTV indicates pricing or retention deterioration.
- → CAC payback period — how many months until cumulative revenue from a cohort covers the cost to acquire them? Target: under 12 months for SMB SaaS, under 18 months for mid-market.
- → Expansion revenue signal — do cohorts show revenue growth over time (expansion) or only decline (contraction)? Expansion MRR from existing cohorts is the strongest sign of product-market fit.
| Cohort Month | Month 1 Revenue | Month 6 Revenue | Month 12 Revenue | Signal |
|---|---|---|---|---|
| Jan cohort | $10,000 | $14,000 | $18,000 | Strong expansion — customers grow with the product |
| Jun cohort | $10,000 | $8,000 | $5,000 | Contraction — 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.