Воронки, когорты и retention: вопросы для собеседования (часть 3)

Воронки конверсии, когортный анализ, retention по дням/неделям — ключевые инструменты продуктового аналитика. На собеседовании просят построить retention-кривую, объяснить, почему retention Day 1 важнее Day 30, или найти узкое место воронки. Без этих концепций невозможно оценить здоровье продукта.

A/B-тесты в продуктовой аналитикеОсновы продуктовой аналитикиРост, активация и онбордингИнструментация и качество данныхМонетизация и юнит-экономикаNorth Star, KPI и иерархия метрикПриоритизация и RICEПостановка задачи и PRDСегментация и позиционированиеСторителлинг и alignmentИсследование пользователей и JTBD

Вопросы 1115 из 20

11Вы хотите оценить долю пользователей, которые сначала сделали поиск, а затем покупку в течение недели — независимо от количества сессий. Какую логику воронки лучше выбрать?
AСчитать на уровне событий: отношение числа покупок к числу поисков, не дедуплицируя пользователей внутри окна
BСчитать на уровне сессий: брать уникальные сессии вместо уникальных пользователей и не схлопывать сессии одного человека
CСчитать на уровне пользователей: уникальные пользователи с поиском и с покупкой за неделю, дедуплицируя на каждом шаге
DСчитать среднее число покупок на пользователя и называть это пошаговой конверсией воронки за неделю
Ответ: Если вопрос про долю людей, считайте воронку на уровне пользователей по уникальным пользователям с дедупликацией на каждом шаге.

Подсчёт по событиям отвечает на другой вопрос: сколько покупок приходится на количество поисков, и легко искажается частотой действий активных пользователей. Подсчёт по сессиям тоже меняет смысл: один и тот же человек в разных сессиях учитывается несколько раз. Воронка на уровне пользователей делает показатель вероятностным: был ли поиск и была ли покупка у конкретного человека. Это и соответствует формулировке про долю пользователей.

Подробный разбор →
12В расчёте удержания первого дня (D1 retention) по уникальным пользователям человек открыл приложение 20 раз в день 1. Как он учитывается в числителе?
A20 раз: каждое событие открытия идёт отдельным вхождением в числитель, и вес записи в метрике пропорционален частоте сессий
BПоловина от количества открытий: метрика удержания усредняет события по дню, сглаживая влияние пиковых сессий на одного пользователя
C1 раз: в удержании пользователь дедуплицируется по дню, и в числителе важен сам факт возврата, а не общее число его сессий за день
DДоля от 0 до 1: пользователю присваивают вес обратно пропорциональный размеру когорты новичков, и засчитывают как часть от единицы
Ответ: В удержании считают уникальных пользователей, а не события, поэтому в числителе нужна дедупликация по дню.

Для удержания первого дня важно, вернулся ли пользователь хотя бы один раз. Двадцать открытий приложения всё равно означают одного вернувшегося уникального пользователя. Поэтому в числителе он учитывается как 1, а не как 20. Событийный счёт здесь исказил бы метрику, делая её зависимой от частоты открытия, а не от факта возврата.

Подробный разбор →
13В оформлении заказа есть два пути: `add_to_cart` и `buy_now`, оба ведут к `purchase`. В воронке шаг 2 задан только как `add_to_cart`, и конверсия выглядит низкой. Что лучше сделать?
AОставить шаг 2 как есть: события `buy_now` относятся к другой воронке и общую конверсию занижают незначительно
BИсключить пользователей с событием `buy_now` из выборки, чтобы знаменатель отражал только классический путь корзины
CПеренести `add_to_cart` на шаг 1, а `buy_now` сделать опциональным шагом 3, чтобы оба пути попали в одну воронку
DПереопределить шаг 2 как `start_checkout`, объединив `add_to_cart` и `buy_now`, или построить две воронки по путям
Ответ: Шаги воронки должны отражать реальные пути, иначе знаменатель и потери по шагам искажаются.

Если часть пользователей покупает через `buy_now`, они не обязаны проходить `add_to_cart`. Тогда шаг 2 становится не универсальным, и конверсия выглядит хуже, чем есть на самом деле. Решение — определить шаг через общий смысл (например, `start_checkout`) или разнести пути в две отдельные воронки. Так получится честно понять, где теряются пользователи и какой путь эффективнее.

Подробный разбор →
14Вы строите когорту покупателей для удержания, где день 0 — первая покупка. Как правильно определить дату когорты для пользователя?
AДата регистрации пользователя, потому что когорта по умолчанию строится по моменту прихода
BДата последней покупки в периоде, чтобы учесть актуальное поведение пользователя
CДата первой покупки пользователя с дедупликацией, чтобы день 0 был единым для всех
DЛюбая дата покупки, поэтому один пользователь может попасть сразу в несколько когорт
Ответ: Для когорты покупки дата когорты равна первой покупке пользователя, чтобы он не попадал в когорты повторно.

Если день 0 — первая покупка, базой служит момент первой покупки для каждого пользователя; нужна дедупликация и выбор минимальной даты события. Если использовать последнюю покупку, возраст пользователя сместится и кривая удержания исказится. Если разрешить попадание в несколько когорт, сравнения между когортами станут некорректными.

Подробный разбор →
15Аналитик считает удержание так: берёт всех уникальных пользователей, активных на неделе 1, и делит число активных на неделе 2 на эту базу. Почему это может быть ошибкой, если нужна когортная логика?
AЭто всегда правильное удержание и не зависит от того, какая когорта взята в качестве базы расчёта
BОшибка только в том, что нужно считать по событиям, а не по уникальным пользователям, и тогда метрика будет точной
CБаза меняется и смешивает пользователей разного «возраста»; для когортного удержания нужна фиксированная когорта по дате старта
DНужно делить на число установок приложения, а не на активных пользователей, и тогда расчёт станет корректным
Ответ: Для когортного удержания база должна быть фиксированной когортой, иначе вы смешиваете пользователей разного возраста.

Если каждый раз брать активных за неделю, состав базы меняется и включает пользователей, пришедших в продукт в разные даты. Такой показатель ближе к общей повторной активности, а не к когортному удержанию. Для когортного анализа нужно зафиксировать дату когорты (например, первое событие `signup`) и дальше смотреть возвраты по возрасту: удержание `W1`, `W2` и так далее. Тогда сравнения между когортами будут честными.

Подробный разбор →
1234

Хотите тренировать интерактивно?

В приложении — таймер, прогресс, стрики и 1700+ вопросов по всем темам.

Тренировать продукт в Telegram

Другие темы: Продуктовая аналитика

A/B-тесты в продуктовой аналитикеОсновы продуктовой аналитикиРост, активация и онбордингИнструментация и качество данныхМонетизация и юнит-экономикаNorth Star, KPI и иерархия метрикПриоритизация и RICEПостановка задачи и PRDСегментация и позиционированиеСторителлинг и alignmentИсследование пользователей и JTBD