TapCub is live — analytics, insights and live chat, free on one platform
Help center

How do I build a retention report?

Use the Retention model to see what share of each cohort comes back: choose start and return events, period, mode and alignment, and read cohort rows and the weighted average.

Product analytics3 min readLast updated Nov 6, 2026TapCub team

Still have a question?

Could not find it? A person reads every message, usually within a few hours on business days.

Chat with us

Short answer

Open All-platform analytics › Behavior › Behavior analysis and choose the Retention model. Pick a start event and a return event (leave both empty for "any activity"), the period (day, week or month) and how many periods to show, then run it. Each row is a cohort of people who started in that period, with the share who came back in each later period. Empty cells are periods that have not finished yet, not zeros.

For a ready-made view on apps and mini programs, use App analytics › Users › Retention. The model described here works across web, app and mini program events and lets you choose the events.

Set up a retention report

  1. Start event (optional): what puts someone into a cohort, for example signed_up. Empty means any activity.
  2. Return event (optional): what counts as coming back, for example report_viewed. Empty means any activity.
  3. Period: day, week or month. Up to 30 days, or 12 weeks or months; the default is 14 days.
  4. Mode:
    • On period N: returned exactly in period N (classic retention).
    • On or after period N: returned in period N or any later one (unbounded retention; the curve never rises again).
    • Periods returned: a distribution of how many periods each person came back in.
  5. Alignment: by default each person's periods start from their own first moment (rolling: a week is 7 days, a month 30 days). Switch to calendar weeks or months if you report by calendar.
  6. First time only: by default only people whose first start event ever falls in the cohort are included (looking back 730 days), so returning users are not counted as new.
  7. Cumulative value (optional): pick a numeric property, such as revenue, to see the average accumulated value per person by period.

Filters and segments apply as in the other models. There is no breakdown or comparison period; to compare two groups, run the report with a segment filter for each.

Read the table

  • Rows are cohorts: start date, cohort size, then a count and rate for each period.
  • Period 0 is the start itself; rates begin at period 1.
  • The line under the table is the size-weighted average rate across cohorts.
  • Empty cells are periods not yet complete.
  • In Periods returned mode the table becomes "how many periods → how many people."
  • With a cumulative property, cells also show the average accumulated value.

Example: with Start = signed_up, Return = report_viewed, weekly periods, you see what share of each week's sign-ups viewed a report again in week 1, week 2 and so on, which is a better product signal than "logged in again."

Choose the right events

  • Any activity → any activity answers "do people come back at all?"
  • Sign-up → core action answers "do new users keep getting value?" This is usually the most useful retention report.
  • Feature first use → feature use answers "does a feature stick?"
  • Purchase → purchase answers "do buyers buy again?" Add revenue as the cumulative value to see revenue per cohort member.

FAQ

Why does my week-1 rate differ from the App retention page? The App page counts starts and screen views on the selected platform; the model counts the events you chose, across platforms, with your alignment and first-time rules.

Why are recent cohorts shorter? Their later periods have not finished. They fill in over time.

Should I use rolling or calendar alignment? Rolling is fairer per person; calendar is easier to match with weekly or monthly reporting.

See also: Retention curve, Read the lifecycle report.

Related

Did this answer your question?

We use your answers to fix and expand this page.

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics