Measure Retention
Why users stay? Or go...
Introduction
Retention is a Formula which shows how different Cohorts of users (defined by Starting Events on a Date) retain over time. This type of analysis is typically used to understand the difference between users who retain and those that don't and how to adapt user journeys in order to make products more sticky.
The main controls are:
- Specify the Time Unit for Cohort and Retention, default is
Day
- Select the
Starting Event(s)
andReturning Event(s)
There are a few advanced parameters which can be used to fine-tune the analysis:
- Select
Attribution
-Linear
orFirst
. Linear means that a User will be assigned to all Cohorts when theStarting Event(s)
occurs (inclusive), whereasFirst
means that a User will be assigned only to the Cohort for the day when the firstStarting Event(s)
occurred. - Select
Breakdown
- applied for each date of the Retention. - Select
Groupby
-Starting
orGlobal
.Groupby
is only applicable when there is aBreakdown
specified. For example, if there was aBreakdown
per Country, whenGroupby = Starting
, Kubit will group users only for theStarting Event(s)
and ignore theReturning Event(s)
' Country code. WhenGroupby = Global
, bothStarting
andReturning Event(s)
have to have the same Country code. - Retention type
Normal
: if user returns on day X of the retention period they are counted as retainedRolling
: for a user to be counted as retained on day X they have to also have come back on every day of the retention period from 1 to XUnbounded
: users retained on day X are also counted as retained on every day of the retention period from 1 to X
- Switch between
Retention
andChurn
+ Days
: defines the time window between theStarting
andReturning Event(s)
Retention types
There are multiple ways to measure retention, so in this section we'll cover the ones supported by Kubit. There is, however, something common concepts between all retention types - the Retention chart displays each cohort as a row identified by Cohort Date, followed by how many unique users exist on that initial date, then how many of them came back/churned on the following dates.
Normal Retention
In a nutshell - for each starting cohort, for each remaining date of the time period, count all users who are part of the starting cohort and have at least one returning event on that date.
It is useful when users are expected to return regularly over relatively short time periods.
Rolling Retention
Rolling retention is called Rolling, because we not only require a user to have been a part of the starting cohort and have a returning event on a particular date X in order to count them on that date, but we also want them to have a returning event on each date between the starting cohort date and X. We expect the user to have been continuously returning, hence - Rolling.
Useful when high stickiness is expected.
Unbounded Retention
In some businesses users return less regularly, e.g. once a month to pay a bill or fill in supplies. When that's the case Unbounded Retention can help get a more accurate number of retained users, because users will be counted not only on their return date, but also on all dates prior to it.
Measure Churn
Churn is essentially the inverse metric of Retention. If Retention tells us how many users are returning, Churn measures how many users are not coming back. Switching from Retention to Churn is done by a switch and does not require re-execution of existing analyses.
Retention Calculation Windows
In retention there are typically 2 ways to think of a day:
- A Calendar Day that starts at 00:00 and ends at 23:59.
- A 24h Window between the
Starting
andReturning Event(s)
that is individual for each user.
Let's assume the following sequence of events for a user:
- Start event - 2022-07-01 10:00:00
- Return event - 2022-07-01 11:00:00
- Return event - 2022-07-02 09:00:00
- Return event - 2022-07-02 12:00:00
Strict Calendar Date
Strict calendar date window computes the difference between start and return events based on calendar dates. Let's go through the example above.
Start Event | Return Event | Retained At Day |
---|---|---|
2022-07-01 10:00:00 | 2022-07-01 11:00:00 | Day 0 |
2022-07-01 10:00:00 | 2022-07-02 09:00:00 | Day 1 |
2022-07-01 10:00:00 | 2022-07-03 12:00:00 | Day 2 |
Strict calendar date windows are not equal because in this case the start date makes the window shorter compared to Day 1, 2 etc. In the example above Day 0 starts at 2022-07-01 11:00:00 and ends at 2022-07-01 23:59:59 while Day 2 and 3 have exactly 24 hours length starting from 00:00:00 and ending at 23:59:59 o'clock.
24 Hour Windows
24 hour windows defines each day as equal interval as exactly 24 hours after each start event timestamps. Let's go through the example above again but this time using 24 hour windows calculation window.
Start Event | Return Event | Retained At Day |
---|---|---|
2022-07-01 10:00:00 | 2022-07-01 11:00:00 | Day 0 |
2022-07-01 10:00:00 | 2022-07-02 09:00:00 | Day 0 |
2022-07-01 10:00:00 | 2022-07-03 12:00:00 | Day 2 |
The example above shows that each day is computed with exactly 24 hours after the start event. Day 0 starts at
2022-07-01 10:00:00 and ends at 2022-07-02 09:59:59. That's why the returned event at 2022-07-02 09:00:00 is computed as Day 0 but not Day 1 as it will be with Strict Calendar Date window.
Overall in Retention
Whenever a Breakdown is specified in Retention you can use the Overall
toggle to display the cumulative count for all breakdown groups as a separate group. The Overall
group is displayed among the other Breakdown groups. Note: Overall
toggle is switched off by default when Breakdown is selected.
Check out the screenshots below to get a better sense of how Retention results with Overall enabled looks:
Updated about 1 year ago