Retention cohorts: compare the same observation age

At a glance

A cohort follows a population defined at entry. Interpreting returns requires an entry rule, return event, time window and actually observable follow-up.

Empty intelligence archive with dossiers and maps Illustration · fictional scene
In this article

Fictional example: an unavailable cell is not zero

Cohorts A and B each start with 100 people. Each example cell counts a return in its individual day-7 or day-30 period. A has reached both periods; B has reached day 7 but not day 30. Percentages keep the original 100 people in the denominator.

Fictional case cellReturns / original populationRate
A at day 730 / 10030 %
A at day 3020 / 10020 %
B at day 740 / 10040 %
B at day 30Unobservable—

Make cells comparable

  • Define a return and each period’s boundaries, including time zone. A calendar day is not necessarily a rolling 24-hour window.
  • GA4 Standard, Rolling and Cumulative modes count different returns: the individual period, presence in the current and every preceding period, or cumulative return. Do not mix their cells.
  • Mark unreached horizons as unobservable. Compare equal ages and compatible populations; acquisition changes can explain differences.

Describe change without assigning a cause

B’s 40% versus A’s 30% at day 7 is a 10 percentage point difference, not proof of a product effect. Check counts, uncertainty and follow-up conditions. Observed retention is neither certain lifetime-value prediction nor causal evidence.

Primary references

Compare cohorts at the same age

Recent cohorts have had less time to return than older ones. Define entry event, unit, intervals and return event. Mark incomplete periods and separate point retention, return within a window and cumulative activity; these definitions are not interchangeable.

  • Align cohorts by elapsed time since entry.
  • Define each interval’s denominator population.
  • Mark windows not yet mature.

Why should an empty cell not become zero?

It can represent a future or incomplete period rather than absent activity. Preserve that state to avoid reporting a retention drop not yet measured.

Primary reference: Google SRE — Data processing pipelines. Related method: read the practical guide.

Give cohorts the same observation time

Fictional example: these inputs describe no customer or observed result.

An older cohort has had months to return, while a recent one is compared in the same column before reaching that age.

  • Define entry and return events, then compare cohorts at the same age with matching exclusions. Mark cells with incomplete observation periods.
  • Delay comparisons of immature periods. An apparent decline may reflect different observation time rather than weaker retention.

Primary reference: Google Analytics — Cohort exploration. Related method: read the practical guide.