Subscription cohort analysis groups subscribers by their signup period and tracks how many stay active over time, revealing exactly when a group starts churning. The payoff is direct: you find the billing period or product moment where subscribers drop off, then fix that moment instead of guessing at your whole retention strategy. What follows is the full build, from raw data to a working cohort table and the actions each pattern should trigger.
TL;DR:
- Use at least 30 to 50 subscribers as the minimum cohort size to ensure reliability before drawing conclusions from retention data.
- Combine acquisition and behavioral cohorts to identify trends and understand causes of churn, especially when analyzing specific patterns like onboarding drops.
- Track revenue retention alongside logo retention, as revenue can decline through downgrades even if account counts remain stable.
- Set monthly or weekly cohort periods based on product volume, with weekly providing more resolution but requiring larger sample sizes.
- Consolidate data on a single platform to maintain consistency and reduce the risk of key drift, enabling more accurate and actionable cohort analysis.
Table of Contents
- What Is Subscription Cohort Analysis and Why It Matters
- Which Cohort Type Answers Your Question
- What Data You Need Before You Start
- How to Build a Cohort Table Step by Step
- Reading Retention Curves: Flattening vs Decaying Patterns
- Choosing Your Tools: Excel, SQL, or a Platform
- A Practitioner's Checklist for Cohort Analysis
- How Aria Simplifies Cohort-Ready Data Collection
- Practitioner's Take: Where Cohort Analysis Gets Misused
- Sources
What Is Subscription Cohort Analysis and Why It Matters
A cohort is a group of subscribers who share a start period, usually the month they first signed up. Cohort analysis tracks how many of them stay active in each period afterward, which is why it beats a single churn percentage for subscription businesses.
Aggregate churn hides too much. A flat 5% monthly churn rate can mean every cohort behaves the same, or it can mean new cohorts are collapsing while old, loyal ones prop up the average. Only a cohort table separates those two stories. Companies that treat cohort data, LTV, and retention as core metrics tend to catch revenue problems months before they show up in the top-line MRR number.
Run cohort analysis whenever you:
- Launch a new onboarding flow and want to know if it actually improved retention
- Change pricing or introduce a new plan tier
- Compare acquisition channels or marketing campaigns against each other
- Notice MRR growth slowing and need to know if it's a churn problem or an acquisition problem
Which Cohort Type Answers Your Question
Different cohort types answer different questions, and picking the wrong one wastes an analysis cycle.
- Acquisition cohorts group by signup month. Best for asking: "Are newer subscribers retaining better or worse than older ones?"
- Behavioral cohorts group by an in-product action, like completing setup or using a core feature. Amplitude's research on feature adoption and retention shows subscribers who complete key actions early retain at notably higher rates than those who don't.
- Revenue cohorts group by plan tier or starting MRR. Best for spotting expansion or contraction that a logo-count view would miss entirely.
- Technographic cohorts group by integration or platform used. Useful for B2B subscriptions where the tool stack predicts stickiness.
- Time-based cohorts (weekly instead of monthly) fit high-volume, fast-moving products where monthly buckets are too coarse.
The strongest diagnostic move is combining two types: start with acquisition cohorts to spot a trend, then layer behavioral cohorts to explain why a specific cohort is leaking. For granularity, weekly cohorts give more resolution but need larger subscriber volume per bucket. Under a small subscriber count per cohort, monthly buckets keep your percentages from swinging wildly on small-sample noise.
What Data You Need Before You Start
You need five fields at minimum, and skipping any one of them will force you to redo the export later.
- Customer ID — a stable identifier that doesn't change if a subscriber upgrades or switches billing.
- Subscription start date — the raw signal you'll use to assign cohort month.
- Period timestamp — the billing period or calendar month you're measuring activity in.
- Active status flag — whether that customer was subscribed and paying in that period.
- Monthly recurring revenue (MRR) — needed for revenue retention, not just logo counts.
From those fields, compute logo retention (percent of accounts still active), revenue retention (percent of MRR retained), churn rate, ARPU, and expansion or contraction revenue separately. Tracking only logo retention is a common blind spot: accounts can look stable while revenue quietly contracts underneath through downgrades, and you won't see it without a revenue-cohort view running alongside the logo view.
Use subscription start date as your one consistent cohort key across every table you build. Switching definitions between analyses is the fastest way to produce numbers nobody trusts. Treat the signup month as Month 0, not Month 1, so every cohort table starts counting from zero.
Pro Tip: Before trusting any cohort percentage, check the denominator. Wait until a cohort clears at least 30 to 50 subscribers before drawing conclusions from it.
How to Build a Cohort Table Step by Step
Building your first cohort table takes less time than most analysts expect, and you can do it in a spreadsheet before touching SQL.
- Export and clean the data. Pull customer ID, subscription start date, period timestamp, active flag, and MRR for the past 12 to 18 months. That window is enough to see multiple cohorts mature, which is why the recommended starting range is 12 to 18 months rather than a single quarter.
- Assign each customer a cohort month based on subscription start date, formatted as YYYY-MM.
- Count active customers per cohort per period, then divide by the cohort's original size to get a retention percentage for each period.
- Build a matrix: cohort month down the rows, period number (Month 0, Month 1, Month 2...) across the columns, retention percentage in each cell.
A minimal SQL pattern for step 3 looks like this: group subscriptions by DATE_TRUNC('month', start_date) as cohort_month, join to a periods table, count distinct active customer IDs per cohort per period, then divide by the count in Month 0.
In Excel, a pivot table with cohort month as rows, period number as columns, and a COUNTIFS formula on the active flag gets you 90% of the way there, then a simple division row converts raw counts to percentages.
For visualization, plot each cohort as its own line on a retention curve chart, with period number on the x-axis and percent retained on the y-axis. A heatmap version of the same matrix, colored from red at 0% to green at 100%, makes it much faster to spot which cohort or which period is the outlier at a glance.
Reading Retention Curves: Flattening vs Decaying Patterns
A steep drop in Month 1, then a leveling curve after that, usually points to onboarding. Subscribers who don't find value fast enough leave early, and the ones who stick past that window tend to stay. A flattening tail after the initial drop is actually a good sign. It means you've found a stable core, and the fix is front-loaded: better first-run experience, not a rebuilt product.
A curve that keeps decaying with no flattening point signals something structural. It could be pricing that doesn't match value delivered over time, or a feature gap competitors have closed. This pattern needs a different response than an onboarding tweak.
Map specific signals to specific actions:
- Day-14 drop in a basic plan → trigger an automated re-engagement email or in-app tutorial at that exact point, before the subscriber disengages further.
- Revenue contraction with stable logo count → run upsell or plan-optimization campaigns targeting the accounts downgrading, since the account is staying but paying less.
- Steady decay across every cohort, old and new → treat it as a pricing or product-market fit problem, not an onboarding one.
Prioritize fixes by multiplying expected impact (how many subscribers sit in the affected segment) by feasibility (how fast you can ship the fix). Validate every intervention with an experiment. Action matters more than the chart itself: a single cohort gap suggests a hypothesis, not a proven cause, so test the fix on a holdout group before rolling it out everywhere.
Pro Tip: If a fix works, you should see the next cohort's Month 1 retention beat the previous cohort's Month 1 retention. If it doesn't move within one full cohort cycle, the fix didn't address the real cause.
Choosing Your Tools: Excel, SQL, or a Platform
Excel works fine under a few thousand subscribers, one product line, and monthly refresh cycles. A pivot table with COUNTIFS and a manual export routine covers most early-stage subscription businesses without extra tooling.
SQL becomes worth the setup once you're refreshing cohorts weekly or across multiple products, since a saved query pattern eliminates the manual re-export every cycle.
Dedicated product analytics platforms make sense when you need cohorts tied directly to experimentation and messaging. Platforms that only chart retention without a path to act on it create a bottleneck, so pick one that lets you push a cohort segment straight into a campaign or an A/B test.
- Set a recurring refresh, weekly or monthly depending on subscriber volume
- Embed the cohort heatmap or retention curve directly in your main dashboard, not a separate report nobody opens
- Set an alert threshold, like a 10-point drop in Month 1 retention versus the prior cohort, so problems surface without a manual review
A Practitioner's Checklist for Cohort Analysis
Run through this before trusting a cohort report: confirm the cohort definition hasn't changed mid-analysis, check that every cohort clears your minimum size threshold, annotate the chart with every pricing or product change you made, and always compare logo retention alongside revenue retention. One without the other misses half the story.
The recurring mistakes are predictable. Analysts redefine "active" halfway through a quarter and then compare incompatible numbers. They draw conclusions from a cohort of eight people. They forget that a December signup cohort behaves differently than a June one simply because of seasonality, not product quality.
How Aria Simplifies Cohort-Ready Data Collection
Cohort analysis is only as good as the data feeding it, and most subscription businesses spread that data across a billing tool, an email platform, a community app, and a separate analytics dashboard. Every integration between them is another place for cohort keys to drift out of sync.

Some platforms consolidate membership billing, course access, community engagement, and CRM records into one system, so subscription start dates, active status, and revenue figures live in a single source instead of multiple disconnected exports. That matters directly for cohort work: your cohort key, active flag, and MRR figures stay consistent because they're generated by the same platform rather than reconciled across tools after the fact. Dashboards in such platforms can surface retention by billing period and by plan tier, giving you a starting view before you ever open a spreadsheet.
For creators and subscription businesses currently stitching together a membership tool, a CRM, and a course platform, consolidating onto one system removes the export-and-reconcile step that slows most cohort work down. Visit Aria to see how the platform handles billing, engagement, and export data for subscription businesses running their own retention analysis.

Practitioner's Take: Where Cohort Analysis Gets Misused
Most teams treat cohort analysis as a reporting exercise. Build the table, admire the heatmap, move on. That's backwards. The table is worth nothing until it changes what your onboarding email says or when your upsell campaign fires.
The overlooked failure mode isn't a bad chart. It's mistaking correlation in a single cohort for causation. A cohort that churned hard after a pricing change might have churned for a dozen reasons, seasonality, a competitor launch, a support outage, that have nothing to do with the price. Treat every cohort signal as a hypothesis worth testing on the next cohort, not a verdict to act on immediately.
The other blind spot is logo retention worship. Plenty of subscription businesses look healthy on account counts while MRR quietly erodes through downgrades nobody flagged. If you only build one cohort table, build the revenue one first. It tells you where the money is actually going, which is the number that eventually shows up on the income statement whether you tracked it or not.
— Anastasia
Sources
- The Complete Guide to Cohort Analysis | Amplitude
- Subscription Analytics: Cohort Analysis, LTV, and Retention Metrics | Lago
