Cohort analysis
Grouping people by when they joined, then comparing how each group behaves over time instead of blending everyone into one number.
See it
What it is
A cohort is a group of people who share a starting moment, almost always the week or month they signed up. That is an acquisition cohort, and its membership is fixed forever by a date that already happened, which is exactly what makes the comparison fair. (Tools also use the word for behavioral audiences that recompute as people qualify and drop out; those are a different animal, covered under segment.) Instead of one blended number, you line the groups up as rows and put 'weeks since signup' across the columns, so each cell is the share of that group still doing something in that week. Older cohorts have more columns filled in, which is why the table comes out as a triangle.
Reach for it whenever an aggregate metric refuses to answer 'is the product getting better'. Growth in signups happily hides worsening retention, because new arrivals keep topping up the active count. Read the table down a column, not across a row: does the March cohort look better at week 4 than the February cohort did at week 4? That comparison is the entire point, and it is how you check whether a shipped change did anything.
Gotcha: tiny cohorts swing wildly and mean nothing, so print the cohort size next to every row and grey out cells built on a handful of people. Also treat behavioral groupings ('users who invited a teammate retain 3x better') with suspicion: those users were already the committed ones, so the feature gets credit for a decision the person had made before they touched it.
Ask AI for it
Build a cohort retention table. Rows are weekly signup cohorts for the last 12 weeks, newest at the top, each labeled with its date and cohort size. Columns are week 0 through week 11 since signup. Each cell is the percentage of that cohort that fired [qualifying activity event] during that week. Shade cells with a single-hue sequential scale, keep the triangle shape by leaving future weeks blank rather than zero, mute any cell whose cohort has fewer than 30 users, and add a bottom row with the weighted average per column.