*The goal of this help article is to explain the changes we have made to calculating segmented retention queries. As of 5/25/2021, we've improved segmented retention calculations so that they are now intervalized averages. As such, segmented retention queries are now consistently calculated with the same method Mixpanel uses for unsegmented retention queries.
How is Retention now calculated?
When you create an unsegmented retention query (i.e. a retention query that is not segmented by a property or cohort), Mixpanel will automatically intervalize the retention calculation.
In other words, we will calculate the retention of each and every cohort based upon the selected birth interval unit (day/week/month cadence that the user performed the A action) and then summarize it into one line by taking the average of all complete buckets. You can see the retention of each individual interval by expanding the Average Retention column:
Segmented queries are now calculated with that same intervalized average method, but for each particular property value or cohort segment. You can now expand out any particular segment's name in a retention query to see the retention of each day, week, or month interval within that segment:
How is this different than before?
Prior to 5/25/2021, we calculated segmented retention in a non-intervalized manner. Instead of calculating each individual day/week/month cohort separately and averaging it, we would treat the entire time period as one single cohort to group the users who performed the events with a given property value in a single row.
Why make the change?
We wanted to add intervalized averages to segmented retention queries for three key advantages:
- To no longer include users in incomplete periods: The non-intervalized method did not give all users an equal chance to qualify for the later retention buckets. Newer, more recent users to come into the query towards the end of your date range would not have enough time pass to have the opportunity to be retained in the later date buckets. This would sandbag the last retention buckets in your query. With intervalized retention, Mixpanel only counts the completed time periods into the Average Retention calculation so that all users have the same opportunity to be retained.
- Clarity through consistency: We used to calculate segmented and unsegmented queries differently: unsegmented queries were intervalized and segmented queries used to be non-intervalized. This prior inconsistency made Retention reports more difficult to consume. It required users to context switch and it took an experienced user to understand what they are looking at once they add a breakdown property. This adds clarity by way of consistent expectations.
- More granular analysis: Users are now able to see how the individual birth interval cohorts are performing within a particular segment. This unlocks the ability to get more answers and dive deeper into particular cohorts of interest.