Skip to content

article

Measuring Retention and Cohorts

Group visitors by the day they were first seen and measure how many come back over the following days.

What retention measures

Retention answers whether people come back. StretchAnalytics groups visitors into cohorts by the day they were first seen, then measures how many of each cohort return on each of the following days. Retention is the clearest signal of whether what you built is sticky — traffic can be bought, but return visits have to be earned.

How cohorts are built

  1. StretchAnalytics finds each visitor's first-seen date based on a cohort event (default page_view). That date is the visitor's cohort.
  2. For each following day, it counts how many visitors from that cohort came back — optionally only counting a specific return event.
  3. It reports, per cohort, the cohort size and the retained count and rate for each day.

Retention is computed over visitors, using the visitor identifier attached to events.

The inputs

  • cohort_event — the event that defines "first seen." Default page_view.
  • return_event — the event that counts as "came back." Leave it empty to count any return activity.
  • days — how many days to track after the cohort date (1–30, default 7).
  • from / to — the window in which cohorts are formed (defaults to roughly the last 30 days).

What you get back

A list of cohorts, each with:

  • cohort_date — the first-seen day.
  • cohort_size — how many visitors started that day.
  • days — for each tracked day, the retained count and the rate (retained ÷ cohort size).

Step-by-step: 7-day return rate

  1. Open the Retention view.
  2. Leave cohort_event as page_view.
  3. Leave return_event empty to count any return.
  4. Set days to 7.
  5. Set the from/to window for the cohorts you care about.
  6. Run, then read each cohort's day-1, day-3, and day-7 rates.

Step-by-step: retention to a specific action

  1. Set cohort_event to page_view (first visit).
  2. Set return_event to the action that matters, such as form_submission.
  3. Set days to 14.
  4. Run. Now "retained" means "came back and submitted," a much stronger signal than any return.

Example

A content team wants to know if a new resource hub keeps people coming back. They set page_view as both the cohort and the general return signal, days = 7, over the last three weeks. The Monday cohort (size 420) retains 18% on day 1 and 6% on day 7. After they add a weekly email nudge, the next Monday cohort retains 24% on day 1 and 11% on day 7 — proof the nudge works, grounded in cohorts rather than a gut feeling.

Tips

  • A blank return_event answers "do they come back at all?"; a specific one answers "do they come back and do the thing that matters?"
  • Compare cohorts across days of the week — weekend cohorts often behave differently from weekday cohorts.
  • Retention needs a stable visitor identifier; anonymous or unidentifiable traffic can't be tracked into a cohort.
  • Keep days modest (7 or 14) for a readable table; 30 is available when you need the long tail.

Troubleshooting

Cohorts are tiny or empty. Your window may not contain enough first-seen visitors, or the cohort event may be rare. Widen the from/to window or use a more common cohort event like page_view.

Retention is 0% after day 0. Either visitors genuinely aren't returning, or the return event you chose is too strict. Try an empty return event first to establish a baseline.

Numbers seem low across the board. Some retention is normal to be single-digit by day 7. Judge changes relative to your own baseline, not an absolute target.

Was this helpful?

Help us improve this article

Use these controls to share whether this answer solved the issue. Feedback helps prioritize updates to StretchSuite Support.