Cohort Analysis and Retention Curves
Go beyond vanity metrics by grouping users into cohorts and reading retention curves to understand whether your product truly keeps people coming back.
Cohort Analysis and Retention Curves is a free Indie Hacker Mobile Apps lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Indie Hacker Mobile Apps learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Beyond Total User Counts
Total downloads feel good but hide the truth. A growing total can mask the fact that everyone leaves after a week. Cohort analysis reveals what is really happening.
This lesson teaches you to read retention honestly.
What Is a Cohort?
A cohort is a group of users who share a starting event — usually the week or month they signed up. You then track how each cohort behaves over time.
This separates new-user noise from real retention.
Retention Defined
Retention is the percentage of a cohort still active after N days. Day-1, Day-7, and Day-30 retention are the classic checkpoints.
function retention(active, cohortSize) {
return (active / cohortSize) * 100;
}
console.log(retention(40, 100) + '%');The Retention Curve
Plot retention over time and you get a curve. It drops fast at first, then ideally flattens. A curve that flattens above zero means you have a core of users who stay.
A curve that hits zero means no real retention.
The Flattening Smile
The best products show a curve that flattens and sometimes ticks back up as dormant users return — the smile curve. This signals product-market fit.
Aim to flatten the curve before scaling spend.
Building a Cohort Table
A cohort table has cohorts as rows and periods as columns. Each cell is the retention for that cohort at that age.
const cohort = { signups: 100, day1: 55, day7: 30, day30: 18 };
const pct = (n) => (n / cohort.signups * 100) + '%';
console.log('D1', pct(cohort.day1), 'D7', pct(cohort.day7));Comparing Cohorts
The real power: compare cohorts over time. If newer cohorts retain better than older ones, your changes are working. If worse, something regressed.
Cohorts turn product changes into measurable cause and effect.
Segmenting Cohorts
Slice cohorts further by:
- Acquisition channel
- Platform
- Whether they hit the aha moment
This reveals which users to acquire more of and which onboarding paths to fix.
Defining Active
Retention depends on what counts as active. For a daily app it might be opening the app; for a weekly tool, completing a key action.
Choose a definition that reflects real value, not just app opens.
From Insight to Action
Cohort insights drive iteration:
- Low D1: onboarding problem
- Steep D1 to D7 drop: weak habit formation
- Curve never flattens: missing core value
Diagnose, change, then watch the next cohort.
A Retention Workflow
Put it together:
- Group users into signup cohorts
- Define a meaningful active event
- Track D1, D7, D30 retention
- Look for a flattening curve
- Compare and segment cohorts to guide changes
Retention curves tell you the truth about your product.
Quick Check
Test your cohort analysis knowledge.
Recap
You learned cohort-based retention analysis:
- Cohorts group users by signup period to reveal true retention
- Retention curves should flatten above zero
- The smile curve signals product-market fit
- Compare and segment cohorts to measure changes
- Define active by real value, then act on the diagnosis
Cohorts cut through vanity metrics to the truth.
Frequently asked questions
Is the “Cohort Analysis and Retention Curves” lesson free?
Yes — the full text of “Cohort Analysis and Retention Curves” is free to read here on the web, and the Indie Hacker Mobile Apps course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Indie Hacker Mobile Apps course, upgrade to CoddyKit PRO.
What will I learn in “Cohort Analysis and Retention Curves”?
Go beyond vanity metrics by grouping users into cohorts and reading retention curves to understand whether your product truly keeps people coming back. You practise Indie Hacker Mobile Apps with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Indie Hacker Mobile Apps?
No prior experience is required. Indie Hacker Mobile Apps on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Cohort Analysis and Retention Curves” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Indie Hacker Mobile Apps lesson?
Yes. Every Indie Hacker Mobile Apps lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Advanced Mobile Analytics Platforms
- Interpreting User Behavior Data
- Agile Development for Iteration
- Cohort Analysis and Retention Curves