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

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

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

Вопросы 1620 из 20

16Аналитик считает `retention` так: берёт всех `active users` на неделе 1 и смотрит, сколько из них были активны на неделе 2. В чём риск такого подхода и что корректнее для когортного анализа?
AРиска нет: это и есть стандартный `retention` для любого продукта
BПроблема только в том, что `denominator` нужно умножить на 2
CТак смешиваются пользователи разного «возраста», поэтому лучше зафиксировать когорту по первой дате/событию и считать `cohort retention` по возрасту.
DНужно считать по `events`, а не по `unique users`, тогда смешения не будет
Ответ: `Retention` для сравнения групп обычно считают относительно фиксированной когорты, иначе база постоянно меняется.

Подход «активные на неделе 1 → активные на неделе 2» смешивает новых и старых пользователей. Из-за этого показатель больше похож на общую повторную активность, а не на `cohort retention`. Для корректного анализа нужно определить когорту (например, по `signup` или первой активности) и считать `W1 retention`, `W2 retention` и далее для этой же базы.

17Вы сравниваете `D30 retention` для когорты сентября и когорты ноября. Для ноябрьской когорты прошло только 15 дней с момента дня 0. В чём проблема и как корректнее поступить?
AПроблемы нет: `retention` одинаково считается для любого возраста `cohort`
BНужно заменить `denominator` на число `active users` в ноябре, тогда сравнение будет честным
CНоябрьская когорта ещё не «созрела» для `D30 retention`, поэтому нужно ждать 30 дней или сравнивать когорты одинакового возраста с учётом `right censoring`.
DНужно удалить сентябрьскую `cohort`, потому что старые когорты всегда хуже
Ответ: Для `D30 retention` когорты должны быть достаточно «старыми», иначе сравнение искажает `right censoring`.

Если с дня 0 прошло меньше 30 дней, часть пользователей физически не могла попасть в день 30. Тогда `D30 retention` будет занижена не из-за поведения, а из-за неполного окна наблюдения. Корректнее дождаться полного горизонта или сравнивать когорты одинакового возраста, учитывая `right censoring`.

18В воронке покупки: шаг 1 = `view_product`, шаг 2 = `add_to_cart`, шаг 3 = `purchase`. Часть пользователей покупает через `buy_now` и не делает `add_to_cart`. Что правильнее сделать, чтобы воронка отражала реальный путь и `step conversion` была интерпретируема?
AСчитать таких пользователей «потерянными» на шаге 2 и не менять `funnel`
BУдалить пользователей с `buy_now` из данных, чтобы не портить `step conversion`
CЗаменить `denominator` на размер шага 3, чтобы `step conversion` точно выросла
DПостроить отдельную воронку для `buy_now` или переопределить шаг 2 как `start_checkout`, включив оба пути
Ответ: Определение шагов воронки должно соответствовать реальным путям пользователя, иначе `step conversion` вводит в заблуждение.

Текущая воронка измеряет путь через корзину, поэтому пользователи `buy_now` не обязаны проходить шаг 2. В результате воронка будет недооценивать часть покупок и смещать интерпретацию «узкого места». Правильнее явно учесть альтернативный путь: отдельной воронкой или шагом `start_checkout`, который покрывает оба сценария.

19Вы считаете `unique users`, `funnel` и `retention` по `device_id`, но один человек может пользоваться двумя устройствами. Какое искажение наиболее вероятно?
A`Unique users` будут завышены, один человек может попасть в разные когорты, и `step conversion`/`retention` исказятся.
BНикакого: `device_id` всегда соответствует одному пользователю
CЭто приведёт только к `date shift`, но не повлияет на `denominator`
DНужно перейти на `events` без дедупликации, тогда проблема исчезнет.
Ответ: Неверный идентификатор пользователя искажает `unique users`, `cohort` и расчёты `retention`.

Если один человек использует два `device_id`, то он будет посчитан как два разных пользователя. Это раздувает `denominator`, меняет размеры когорты и влияет на `step conversion` и `retention`. Для аналитики обычно используют `user_id` или объединяют устройства в одного пользователя по правилам.

20В отчёте по воронке (`funnel`) общая `step conversion` выросла, но в разрезе по каждому каналу трафика она снизилась. Какое объяснение наиболее вероятно и что стоит проверить?
AТакого не бывает: значит `funnel` посчитан случайными числами
BНужно заменить `denominator` на шаг 3, тогда разрезы совпадут с общим результатом
CНужно игнорировать разрезы и доверять только общей `step conversion`
DИзменился микс каналов (`Simpson's paradox`): проверьте доли сегментов в шаге 1 и пересчитайте с фиксированным миксом или анализируйте по сегментам
Ответ: Противоречие между общим результатом и сегментами часто объясняется смещением состава и эффектом `Simpson's paradox`.

Общий показатель — это смесь сегментов, и он может расти, если увеличилась доля канала с более высокой базовой конверсией. При этом внутри каждого канала метрика может падать. Проверьте распределение пользователей по каналам в шаге 1 (`denominator`) и сравнивайте сегменты на одинаковых весах или отдельно.

1234

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

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

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

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

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