Доля новых юзеров, вернувшихся в продукт через 7 дней после регистрации.
$$\text{Retention}_{D7} = \frac{|,{u : \text{registered} = d \text{ AND активен на } d+7},|}{|,{u : \text{registered} = d},|}$$
Что это
Из всех зарегистрировавшихся в день X — сколько вернулись (совершили core action) на 7-й день после регистрации.
Виды retention
| Что значит | |
|---|---|
| Classic D7 | Вернулся РОВНО на 7-й день |
| Bracket D2-D7 | Вернулся хотя бы раз с 2-го по 7-й день |
| Rolling 7-day | Вернулся хотя бы раз в окне [регистрация, +7 дней] |
Bracket и rolling реалистичнее для не-ежедневных продуктов (банкинг, недвижимость). Classic строже, подходит соцсетям и мессенджерам.
Бенчмарки (D7 bracket)
Когорта vs rolling
Действия при низком retention
-- Когортный D7 bracket retention
with cohort as (
select id as user_id, registered_at::date as cohort_day
from users
),
active as (
select distinct user_id, event_at::date as active_day
from events
)
select c.cohort_day,
count(distinct c.user_id) as cohort_size,
count(distinct case
when a.active_day between c.cohort_day + 1 and c.cohort_day + 7
then c.user_id
end) * 1.0 / count(distinct c.user_id) as d7_retention
from cohort c
left join active a on a.user_id = c.user_id
where c.cohort_day >= current_date - 60
group by 1
order by 1;