Воронки и когортные рассуждения: вопросы для собеседования (часть 2)

Логика построения воронок: какие шаги включить, как обрабатывать повторные визиты, почему конверсия между шагами может быть больше 100%. На собеседовании дают ошибочную воронку и просят найти проблему. Когортные рассуждения проверяют, умеет ли кандидат корректно сравнивать группы пользователей во времени.

Булева логика и фильтрыКачество данных и инвариантыJOIN и кардинальностьПостановка задачиДоли и процентыSanity-check и оценкаСегментация и конфаундингТеория множеств и дедупликацияВзвешенные средние и смешение

Вопросы 610 из 20

6В одной воронке вы считали `step conversion` от шага 1 до шага 3. Вы поменяли шаг 1: было `unique users` с событием `open_signup_screen`, стало `unique users` с событием `app_open`. Поведение на шагах 2–3 не изменилось. Что скорее всего произойдёт с `step conversion` шага 1→3?
A`step conversion` вырастет, потому что шаг 1 стал шире
B`step conversion` снизится, потому что `denominator` стал больше при почти том же `numerator`
C`step conversion` не изменится, потому что шаг 1 не влияет на расчёт
D`step conversion` станет равной 100%, потому что все пользователи открывают приложение
Ответ: При фиксированном `numerator` расширение шага 1 увеличивает `denominator` и снижает `step conversion`.

Когда шаг 1 становится шире, в базу попадают пользователи, которые не собирались идти дальше по сценарию. При этом `numerator` (дошли до шага 3) часто меняется мало, а `denominator` заметно растёт. Поэтому `step conversion` падает из-за смены определения, а не из-за реального ухудшения.

7Вы считаете классический `D7 retention` для когорты `signup` 1 марта. Что должно быть `denominator` в этом расчёте?
AКоличество `active users` 8 марта во всём продукте
BКоличество `unique users`, которые были активны хотя бы раз за неделю
CРазмер исходной когорты: `unique users` со `signup` 1 марта.
DКоличество `events` активности 8 марта
Ответ: В классическом `retention` `denominator` равен размеру исходной когорты.

Классический `D7 retention` отвечает на вопрос, какая доля пользователей из дня 0 вернулась на день 7. Поэтому `denominator` — это число `unique users` в когорте `signup` 1 марта. Если менять `denominator` на аудиторию другого дня, вы перестаёте измерять `cohort retention`.

8Вы строите воронку регистрации: пользователь может открыть экран регистрации, отправить форму и подтвердить email. Что логичнее выбрать как шаг 1, если вы хотите измерять `step conversion` регистрации на уровне `unique users`?
AШаг 1: `unique users` с событием `open_signup_screen`
BШаг 1: события `open_signup_screen` без дедупликации по пользователю
CШаг 1: все `unique users` приложения за день, даже если они не начинали регистрацию
DШаг 1: `unique users` с событием `email_confirm`
Ответ: Шаг 1 в воронке задаёт базу (`denominator`) для всех последующих `step conversion`.

Шаг 1 определяет, кого вы считаете вошедшим в процесс, и от него зависит итоговая конверсия. Если взять слишком широкую базу, `step conversion` станет ниже без изменения поведения. Если взять шаг, который уже является результатом (например, подтверждение), вы теряете смысл анализа пути.

9Вы считаете `activation rate`: пользователь считается активированным, если сделал `first_action` в течение 24 часов после `signup`. Какая корректная база (`denominator`) для этой метрики?
AВсе `unique users`, активные в продукте за период, независимо от `signup`
BВсе `sessions` за период, потому что активация происходит в сессиях
C`cohort` из `unique users`, у которых был `signup` в выбранном периоде
DТолько `unique users`, у которых уже был `first_action`
Ответ: `Activation rate` считается относительно когорты пользователей, начавших путь на `signup`.

Если определение метрики привязано к `signup`, то `denominator` должен состоять из пользователей, у которых `signup` произошёл в выбранном периоде. Тогда `denominator` — размер когорты новых пользователей, а `numerator` — те, кто сделал `first_action` в окне 24 часа. Если брать всю аудиторию, метрика смешает старых и новых пользователей и получится нерелевантная конверсия.

10Вы строите когорту для анализа `retention` покупателей, где день 0 — первая покупка. Как корректно определить дату попадания пользователя в когорту?
AДата первого `purchase` для каждого пользователя (с дедупликацией по пользователю)
BДата последнего `purchase` пользователя в периоде
CДата любого `purchase`, поэтому один пользователь может попасть в несколько `cohort`
DДата `signup`, потому что она всегда раньше покупки
Ответ: Когорта по первой покупке задаётся датой первого `purchase` на пользователя с дедупликацией.

Если день 0 — это первая покупка, то каждому пользователю нужна одна уникальная точка входа в когорту. Поэтому берут минимальную дату `purchase` по пользователю и считают размер когорты как `unique users`. Если пользователь попадает в несколько когорт, `retention` и сравнения между когортами становятся смещёнными.

1234

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

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

Тренировать в Telegram

Другие темы: Логика

Булева логика и фильтрыКачество данных и инвариантыJOIN и кардинальностьПостановка задачиДоли и процентыSanity-check и оценкаСегментация и конфаундингТеория множеств и дедупликацияВзвешенные средние и смешение