Sign in

Blog · How-to guides

Amplitude cohort analysis: compare retention fairly

Check Amplitude retention reports against a prepared membership and activity export. Match event definitions, retention methods, time settings, and observation windows before comparing cohorts.

The short answerAmplitude cohort analysis compares groups using defined starting events, returning events, and time intervals. To validate a retention report, preserve the membership definition, match Return On or Return On or After, and exclude incomplete intervals from comparisons. Reconcile exported customer counts at the same age before interpreting a difference as a change in business performance.

Amplitude cohort analysis is useful when the groups, return event, and customer age are comparable. Before acting on a retention chart, check which users could have reached each interval and which kind of return the report counts. The same activity rows can support different valid percentages.

Write down the report's definitions

Keep the chart definition with the exported results: starting event, return event, entry date range, user filters, identifier, retention method, timezone, and reporting cutoff. Decide whether the business unit is a person or a customer account. Several users from one company do not automatically represent several retained customers.

Amplitude's retention calculation documentation distinguishes Return On, which measures a specific interval, from Return On or After, which includes later returns. It also explains that incomplete cells are excluded from overall retention totals. Therefore, the denominator for an overall later-age point can differ from the starting population.

For a business review, name the measure precisely: “users completing the workflow on calendar day seven after first activation” is clearer than “retained users.” The wider app cohort analysis explains how activation and repeat use answer separate questions.

Match time and preserve membership

Amplitude supports rolling time windows and strict calendar dates; calendar dates use the project's timezone. Its time documentation explains why these methods can produce different results. For the example below, use strict calendar days in the US company's reporting timezone and a first activation that occurs once per user.

Do not substitute a changing behavioral segment for the historical membership list. Amplitude's cohort definition guide describes both fixed date ranges and dynamic ranges that update membership. Record the rule and preserve the exported identifiers used for the comparison. The separate behavioral cohort analysis guide covers setting those groups before the outcome window.

Rebuild a small retention check in Excel

A US software company reviews first activations through October 23, 2026. Its activity file is complete through that day's end. A return means completing the core workflow, rather than merely opening the application.

The table contains the full membership list and every qualifying return in this example:

User First activation Qualifying return Day-seven date Day seven complete? Return On day seven
A October 1, 2026 October 8, 2026 October 8, 2026 Yes 1
B October 1, 2026 October 9, 2026 October 8, 2026 Yes 0
C October 1, 2026 None October 8, 2026 Yes 0
D October 10, 2026 October 17, 2026 October 17, 2026 Yes 1
E October 10, 2026 October 20, 2026 October 17, 2026 Yes 0
F October 22, 2026 None October 29, 2026 No —

For the spreadsheet check, put user ID in A, first activation as a date without a time in B, and the cutoff date in L1. In C2, calculate the day-seven date. In D2, flag whether that whole calendar day is complete:

=B2+7
=--(C2<=$L$1)

With normalized return dates or timestamps in Activity!B2:B1000 and user IDs in Activity!A2:A1000, calculate the return flag in E2:

=IF(D2=0,"",--(COUNTIFS(Activity!$A$2:$A$1000,A2,Activity!$B$2:$B$1000,">="&C2,Activity!$B$2:$B$1000,"<"&C2+1)>0))

Normalize timestamps to the same reporting timezone before using these formulas. The start-of-day boundary is inclusive and the next day's boundary is exclusive. Microsoft's COUNTIFS guidance covers matching multiple criteria; testing for a positive count prevents duplicate events from increasing the flag.

Reconcile each cohort and the overall point

Group the membership rows by first activation date:

Entry date Original users Mature day-seven users Day-seven returning users Return On retention
October 1, 2026 3 3 1 33.3%
October 10, 2026 2 2 1 50.0%
October 22, 2026 1 0 — —
Total at day seven 6 5 2 40.0%

Percentages are rounded to one decimal place. There are six original users, but only five completed day seven. The overall point is 2 / 5 = 40.0%, not 2 / 6 = 33.3%. In the customer-level spreadsheet, its formula is:

=IF(SUM(D2:D7)=0,"",SUM(E2:E7)/SUM(D2:D7))

This proof works because every user has one first activation and belongs to one entry-date group. Reports that allow repeated starting events need a separate deduplication check; summing entry-date rows may count a user more than once. The retention-table reading guide explains the difference between an age column and a calendar-date comparison.

Change the method and see what moves

Keep every row unchanged and ask who returned on day seven or later, through the cutoff. A, B, D, and E now qualify: 4 / 5 = 80.0%. B and E changed status because their returns were later than day seven. No user behavior changed when the percentage changed.

That later-return measure also gives older users a longer opportunity to return before a common reporting cutoff. For an equal-window business comparison, specify the same maximum follow-up age or compare the specific Return On interval. Do not label the observed difference a product improvement. A visual presentation in Tableau cohort analysis needs the same underlying definitions.

Where it goes wrong

  • People counted as accounts. Match the business question to the exported identifier.
  • Moving membership. Today's behavioral group can differ from the group measured historically.
  • Incomplete days counted as failures. Exclude unobservable outcomes from the mature comparison.
  • Return On mixed with later return. Different definitions can explain an apparent performance gap.
  • Time settings changed. A calendar-day check cannot verify elapsed-time retention without adjustment.

Covirage is not affiliated with Amplitude or Microsoft.

Check your prepared cohort export in Covirage

Upload your membership file and prepared return-event summary; Covirage maps the columns, and its tools compute and check comparable retention counts. The external AI model explains the result with every figure traced to its rows. Create a free Covirage account and bring a sample of your own export.

See self-service analytics for the supporting business workflow.

Questions people ask

What is the difference between an Amplitude cohort and a retention entry cohort?

A behavioral cohort is a group defined by conditions, such as past actions or properties. A retention entry cohort groups users by when they trigger the starting event. A behavioral group can be used as a segment, so preserve both definitions when reviewing results.

Why does Amplitude retention differ from my spreadsheet?

Check the starting and returning events, unique identifier, time basis, timezone, and retention method. Also check incomplete intervals. A spreadsheet based on calendar dates will not reproduce a report based on elapsed time unless you align those settings.

Does Return On or After mean returned by that day?

No. It counts users who return on the specified day or later within the available observation. Return On counts users in that specific interval. A later return can qualify for the former while failing the latter.

Can a behavioral cohort's membership change?

Yes. A rule using a moving date range can include different users as time passes. For a fixed historical comparison, preserve the membership export and its definition date rather than substituting today's group into an older retention report.