Retention D7 и незрелые когорты
Команда сравнивает удержание пользователей после регистрации. Отчёт построен 10 января в 00:00 UTC; данные полны до конца 9 января включительно.
Условие
Day 0 — календарная дата регистрации в UTC. D7 retention — доля пользователей, совершивших хотя бы одно целевое действие ровно через 7 календарных дней после Day 0. Посчитай D7 для зрелых когорт и общий D7 по всем их пользователям. Когорту 3 января пока оценивать нельзя: её Day 7 — 10 января, который ещё не завершился.
Данные
| cohort | registered | active_d7 |
|---|---|---|
| 2026-01-01 | 200 | 60 |
| 2026-01-02 | 180 | 45 |
| 2026-01-03 | 220 | — |
Все данные учебные. Код можно выполнить в своей среде; поле ниже предназначено для черновика, без запуска кода.
Если нужен следующий шаг
Подсказка 1
Подсказка 2
Проверь себя
Показать решение и объяснение
cohorts = [(200, 60), (180, 45)]
registered = sum(size for size, active in cohorts)
retained = sum(active for size, active in cohorts)
print(round(100 * retained / registered, 2)) # 27.63Среднее от 30% и 25% даст 27,5%, но это среднее двух когорт с одинаковым весом, а не доля удержанных пользователей. Добавление 220 незрелых пользователей в знаменатель искусственно снизит метрику до 17,5%. Зафиксированное определение D7 также нельзя незаметно заменить на возвращение «в любой день после седьмого».
Проверка решения
- Часовой пояс и определение Day 0 указаны.
- Пользователь с несколькими действиями в D7 считается один раз.
- Незрелая когорта не ухудшает текущий показатель.
Вопрос на продолжение
Как изменится показатель при rolling retention? Какие изменения в привлечении могут объяснить снижение общего retention без ухудшения продукта?