What is cohort analysis?
Cohort analysis is the practice of splitting users into groups that share a common starting point, usually the week or month they signed up or a first action they took, and then tracking each group's behavior over time separately, so you can compare how different generations of users retain, convert, or spend instead of blurring everyone into one misleading average.
Acquisition cohorts vs behavioral cohorts
Almost every cohort you build is one of two shapes, and it helps to keep them straight because they answer different questions.
Both key off the same raw material: named events with a stable distinct_id. Send that well once and either cohort is a question you can just ask.
What does a cohort analysis actually look like?
Say you ship a new onboarding flow and want to know if it helped. The wrong move is to check your overall retention rate, because it mixes users from before and after the change and drifts with your signup volume. The right move is a cohort grid.
Split every signup by the week they joined. For each week, measure the share of that group still active at week 1, week 2, week 3, and week 4. Now you have one retention curve per week, stacked as rows.
Read down the week-4 column. If the cohorts from after the new onboarding sit at 40 percent while the earlier weeks sat at 25 percent, the change worked, and it is visible immediately. A single blended retention number would have averaged the good weeks and the bad weeks together and shown you nothing. That is the whole point of cohorting: it separates generations of users so a real improvement cannot hide inside an average.
How does cohort analysis relate to retention?
Retention is the metric; cohort analysis is how you make it trustworthy. On its own, a retention rate is a single number that quietly mixes your oldest, most committed users with people who signed up yesterday, two groups that behave nothing alike.
As your user mix shifts (a big launch, a change in traffic source, a pricing change), that blended number drifts for reasons that have nothing to do with whether the product got better. Worse, a genuine improvement to new-user retention can be completely masked because old users still dominate the average.
Cohorting by signup period fixes this. Each generation gets its own retention curve, so you can watch newer cohorts pull away from older ones (or fail to). In practice you almost never look at raw retention without cohorts, because the cohort view is the only one that tells you whether a change actually moved the needle.
How smolanalytics does cohort analysis
smolanalytics gives you cohorts, retention, funnels, and paths (plus web analytics) from one snippet or one endpoint. What makes it different is not the report list, every tool has cohorts, but four choices about how you get the answer:
- 1Ask in plain English. Instead of dragging fields into a cohort builder, you type "did users from after the new onboarding retain better?" or "which first action predicts sticking around?" into a dashboard bar, or into your own Cursor / Claude Code over MCP (47 tools, 13 prompts), using your own AI model so the AI part is free.
- 2A verdict, not just a grid. Beyond the cohort table, it tells you what to fix, on the dashboard and in a morning brief. The point of a cohort is a decision, so it surfaces the decision, not another grid to squint at.
- 3Computed, never guessed. Every cohort comes from the same deterministic reports the dashboard renders, not from an LLM writing numbers. A CI agreement test fails the build if the AI answer ever differs from the dashboard, so the cohort you read is the real one.
- 4One binary. It is a single MIT-licensed Go binary, stdlib only, roughly 7 bytes per event, no Kafka, ClickHouse, or Postgres to run. Self-host it free forever, or use the hosted cloud.
It deliberately does not do session replay, feature flags, experiments, heatmaps, or surveys. It is for teams who want a straight, owned, cheap answer on what to fix. See every feature, how it compares vs Amplitude, or the retention definition.