1. Вернуться на экран — не всегда вернуться к пользе
Продолжим пример приложения для планирования. Пользователь может открыть его из уведомления и сразу закрыть. А может зайти, создать собственную задачу и выполнить её. Оба действия говорят об активности, но описывают разный результат.
В нашем учебном расчёте старт — регистрация нового пользователя. Возврат — подтверждённое выполнение собственной, не демонстрационной задачи. Задача должна быть создана после регистрации, а выполнение — попасть в выбранный период.
Это рабочее определение, а не универсальная формула полезности. Для сервиса доставки можно изучать следующий полученный заказ, для редактора — работу с документом. Выбор зависит от причины, по которой человек пользуется продуктом.
Удержание после регистрации и удержание после первой покупки отвечают на разные вопросы. Во втором случае мы уже отобрали тех, кто дошёл до покупки. Поэтому эти показатели нельзя напрямую сравнивать как две оценки одного и того же.
2. У слова retention несколько значений
Перед сравнением графиков прочитайте правило расчёта. Одинаковая подпись «D7» не гарантирует одинаковый смысл.
| Правило | Кого считаем | На что обратить внимание |
|---|---|---|
| В конкретный день | Выполнивших действие в день 7 | Возврат только в день 8 сюда не входит |
| В заданном интервале | Выполнивших действие хотя бы раз в дни 7–13 | Человек учитывается один раз за интервал |
| В день 7 или позже | Выполнивших действие начиная с дня 7 до границы доступного наблюдения | Для честного сравнения нужен сопоставимый горизонт: у старой группы больше времени на поздний возврат |
Дни тоже определяются по-разному: календарными датами или отрезками по 24 часа после старта. Регистрация поздно вечером и действие следующим утром попадут в разные календарные дни, хотя между ними прошло мало времени.
Для дальнейшего примера выберем точное правило: хотя бы одно подходящее выполнение в интервале от 168 часов после регистрации включительно до 336 часов, не включая правую границу. Это вторая неделя жизни пользователя. Все временные отметки приводим к UTC.
3. Сравнивайте людей на одинаковом этапе
Когорта — группа с общим стартом или признаком. Например, пользователи, зарегистрировавшиеся в одну неделю. Её нужно наблюдать вперёд от регистрации, а не сравнивать просто число активных людей в двух календарных месяцах.
Для нашего показателя у каждого участника должны полностью пройти 336 часов, а данные — успеть поступить. Тех, у кого окно ещё не завершилось, не записываем как «не вернулся». Для итогового сравнения берём полностью наблюдаемые когорты.
Пример: пользователь зарегистрировался 1 октября в 10:35 UTC. Его окно возврата — с 8 октября 10:35 до 15 октября 10:35. До окончания этого интервала окончательный результат неизвестен, даже если человек пока не выполнил задачу.
Нельзя считать в числителе вернувшихся из свежей группы, а знаменатель собирать только из зрелой. Оба числа относятся к одному и тому же набору пользователей.
4. Общая доля упала, хотя внутри групп стало немного лучше
Возьмём две условные когорты с завершённым наблюдением. Источник привлечения фиксируем при регистрации; категории в примере взаимоисключающие. В каждой ячейке с числами сначала указаны вернувшиеся, затем все пользователи сегмента.
| Источник | Когорта А | Доля А | Когорта Б | Доля Б |
|---|---|---|---|---|
| Поиск и рекомендации | 451 / 1127 | 40,02% | 226 / 563 | 40,14% |
| Платная реклама | 97 / 487 | 19,92% | 309 / 1543 | 20,03% |
| Всего | 548 / 1614 | 33,95% | 535 / 2106 | 25,40% |
Общий показатель снизился с 33,95% до 25,40%. Но внутри обоих источников доли немного выросли. В когорте Б стало гораздо больше пользователей из платной рекламы — сегмента с более низкой возвращаемостью.
Это эффект изменения состава аудитории. Общая доля — взвешенное среднее: сегменты с большим числом пользователей сильнее влияют на результат. Простое среднее двух процентов даст другой показатель.
Чтобы отдельно посмотреть изменение поведения, можно пересчитать когорту Б с долями сегментов когорты А. Получится примерно 34,07%. Это диагностический расчёт при фиксированном составе, а не фактическое удержание Б и не оценка причинного эффекта продукта.
Небольшой рост внутри сегментов тоже не доказывает улучшения: он может быть случайным. Но пример показывает, почему общего падения недостаточно для вывода «продукт стал хуже».
5. Учитывайте естественный ритм продукта
Ежедневный планировщик и сервис покупки билетов нужны с разной частотой. Низкий возврат на следующий день не обязательно означает проблему, если задача возникает раз в месяц.
Выбирайте период по пользовательскому сценарию и проверяйте реальные интервалы между полезными действиями. При этом интервалы видны только у тех, кто уже возвращался: по ним нельзя описать всех новых пользователей.
Учитывайте праздники, рабочие дни и сезонность. Пользователи, пришедшие перед длинными выходными, могут вести себя иначе. Сопоставимость периодов важнее внешне похожих линий на графике.
6. Что проверить до продуктовых выводов
| Вопрос | Почему он важен |
|---|---|
| Событие возврата собирается по-прежнему? | Переименование или пропуск событий может выглядеть как отток |
| Сохранился способ идентификации? | Смена ID или потеря связи устройств разрывает историю |
| У всех закончился период? | Свежие пользователи ещё могут вернуться |
| Кого включили в стартовую группу? | Регистрации, покупатели и активированные — разные аудитории |
| Изменились источники или сценарии? | Состав способен сдвинуть общую долю |
| Достаточно ли данных в сегментах? | Несколько человек могут сильно изменить процент небольшой группы |
Затем проверьте отдельные истории: действие на левой границе входит, на правой — нет; несколько выполнений дают одного вернувшегося; демонстрационные задачи исключены. Сверьте события с состоянием продукта, если есть подозрение на сбой измерения.
Отсутствие действия в окне означает только отсутствие зарегистрированного подходящего действия в этом окне. Это не пожизненная потеря пользователя.
7. Реактивацию не смешивайте с удержанием новичков
Человек может вернуться после длительного перерыва. Это важный результат, но он не становится новой регистрацией. Если переопределять начало истории при каждом возвращении, показатель новичков потеряет смысл.
Для реактивации отдельно задайте длительность неактивности и действие возвращения. Затем проверьте, продолжил ли человек пользоваться продуктом после него. Одного открытия по письму недостаточно для вывода о восстановленной привычке.
Как перейти от цифры к решению
В нашем примере корректный вывод: «Общее удержание второй когорты ниже, но её состав сильно изменился. Внутри выделенных источников заметного падения нет. Сначала исследуем качество привлечения и различия сценариев, а не объявляем продукт ухудшившимся».
Если снижение сохраняется в сопоставимых группах, ищите, где пропадает польза: ошибки, сложность действий, качество результата, ожидание. Проверяйте гипотезы изменениями с заранее выбранными метриками. Сам график retention не устанавливает причину.
Перейти к подробному кейсу retentionСледующая статья
Перейдём от удержания к оценке отдельных возможностей продукта.
Функцией пользуются чаще. Значит, она полезна?