Оконные функции, когорты и воронки на SQL, p-value и мощность, дизайн A/B-тестов и их ловушки, retention, LTV и дерево метрик, pandas и кейсы вроде «метрика упала на 15%» — всё, о чём спрашивают продуктовых и дата-аналитиков.
- Какие эффекты искажают результаты A/B-тестов — новизна, сетевые эффекты, сезонность? Middle
Эффект новизны — пользователи активно пробуют новое, и эффект угасает; эффект привыкания (primacy) — наоборот, сначала сопротивление. Сетевые эффекты и интерференция — группы…
- Как рассчитать размер выборки и длительность A/B-теста? Middle
Размер выборки зависит от базового значения и дисперсии метрики, MDE (минимального эффекта, который важно заметить), α и мощности. Для долей приближённо: n на группу ≈ 16p(1 − p)…
- Как спроектировать A/B-тест от гипотезы до решения? Junior
До запуска: гипотеза (что меняем и почему это должно сработать), главная метрика и ограничители (guardrails), единица рандомизации (пользователь, сессия, город), размер выборки и…
- Чем ARPU отличается от ARPPU и как раскладывать выручку на множители? Junior
ARPU — выручка на всех активных пользователей, ARPPU — на платящих. Связь: ARPU = доля платящих × ARPPU. Выручку раскладывают на множители: пользователи × конверсия в оплату ×…
- Что такое теорема Байеса и ошибка пренебрежения базовой частотой? Middle
Теорема Байеса пересчитывает вероятность гипотезы после наблюдения: P(H|D) = P(D|H)P(H) / P(D). Классическая ловушка — забыть базовую частоту P(H): при редком событии даже очень…
- Чем отличаются среднее, медиана и мода и когда что использовать? Junior
Среднее — сумма, делённая на количество; чувствительно к выбросам. Медиана — значение посередине упорядоченного ряда; устойчива к выбросам. Мода — самое частое значение; для…
- Что такое центральная предельная теорема и доверительный интервал? Middle
ЦПТ: среднее большой выборки распределено примерно нормально со стандартным отклонением σ/√n (стандартная ошибка), даже если сами данные не нормальны. На этом построены интервалы…
- В тесте выросла конверсия, но упала выручка. Выкатывать ли изменение? Middle
Сначала проверить корректность теста (SRM, длительность, значимость обеих метрик). Затем разложить выручку: конверсия выросла, а средний чек или число покупок упали — например…
- Чем корреляция отличается от причинно-следственной связи? Junior
Корреляция — совместное изменение величин; причинность — изменение одной вызывает изменение другой. Корреляция возникает и без причинности: общая причина (конфаундер), обратная…
- Как спроектировать дашборд, которым будут пользоваться? Junior
Начинать с вопросов и решений, которые дашборд должен поддерживать, и с аудитории: руководителю — несколько ключевых метрик с динамикой и сравнением с планом, команде …
- Как посчитать DAU, WAU, MAU и скользящий MAU на SQL? Junior
DAU — число уникальных пользователей за день: COUNT(DISTINCT user_id) GROUP BY day. MAU календарный — то же по месяцам. Скользящий MAU на каждый день — уникальные за последние 30…
- Что такое DAU, MAU и stickiness и как ими пользоваться? Junior
DAU / WAU / MAU — число уникальных активных пользователей за день, неделю, месяц. Stickiness = DAU / MAU — насколько регулярно возвращаются. MAU легко раздуть привлечением…
- Как удалить дубликаты и оставить последнюю версию записи? Junior
Найти: GROUP BY ключ HAVING COUNT() > 1. Оставить последнюю версию: пронумеровать строки внутри ключа ROW_NUMBER() OVER (PARTITION BY ключ ORDER BY updated_at DESC) и взять rn = 1…
- Какие вероятностные распределения нужно знать аналитику? Middle
Бернулли и биномиальное — успех/неуспех и число успехов из n попыток (конверсия). Пуассона — число редких событий за интервал (заказы в минуту, ошибки в час). Нормальное — суммы…
- Фичу выкатили на всех без A/B-теста. Как оценить её эффект? Middle
Сравнение «до и после» в лоб ненадёжно — мешают сезонность, тренд и параллельные изменения. Варианты: контрольная группа, если фича доступна не всем (платформа, регион, версия…
- Как анализировать воронку и искать, где теряются пользователи? Junior
Воронка — последовательность шагов к цели (просмотр → корзина → оформление → оплата) с конверсией между шагами. Анализ: найти шаг с наибольшим падением относительно нормы или…
- Как посчитать воронку конверсии на SQL? Middle
Для каждого пользователя определить, дошёл ли он до каждого шага в правильном порядке (время шага не раньше предыдущего) и в пределах окна (например, 7 дней от первого шага)…
- Как найти самую длинную серию дней подряд, когда пользователь был активен? Middle
Классический приём «gaps and islands»: пронумеровать даты активности пользователя ROW_NUMBER и вычесть номер из даты — у дней одной непрерывной серии разность одинакова. Затем…
- Почему после JOIN суммы в отчёте оказались больше, чем должны быть? Junior
Связь один-ко-многим размножает строки: заказ с тремя позициями после JOIN с позициями превращается в три строки, и SUM(order.amount) учитывает сумму заказа трижды. Решение …
- Что такое LTV, CAC и юнит-экономика? Middle
CAC — стоимость привлечения одного клиента (затраты на маркетинг и продажи / число новых клиентов). LTV — валовая прибыль от клиента за всё время. Юнит-экономика сходится, если…
- Как посчитать медиану и перцентили в SQL и почему среднее часто вводит в заблуждение? Junior
В PostgreSQL: PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY x) — медиана с интерполяцией между значениями, PERCENTILE_DISC — ближайшее реальное значение. В ClickHouse — quantile, в…
- Ключевая метрика вчера упала на 15%. Как будете разбираться? Middle
Порядок: проверить данные (не сломался ли трекинг, загрузка, расчёт) → оценить, реально ли это (сезонность, день недели, праздник, сравнение с той же датой прошлой недели) →…
- Что такое North Star Metric и дерево метрик? Middle
North Star Metric — одна метрика, отражающая ценность, которую пользователи получают от продукта, и ведущая к выручке в долгую (число оформленных заказов, время прослушивания…
- Как работать с пропущенными значениями в данных? Junior
Сначала понять, почему значение пропущено: технический сбой, «не применимо» (нет второго адреса), пользователь не захотел указывать. Пропуск часто несёт информацию. Варианты…
- Что такое проблема множественных сравнений? Middle
При α = 0,05 каждый тест даёт 5% ложных срабатываний. Проверив 20 метрик или сегментов, вы с вероятностью около 64% найдёте хотя бы одну «значимую» случайно. Лечение: одна главная…
- Как обнаруживать и обрабатывать выбросы в данных? Junior
Сначала понять природу выброса: ошибка данных (тестовый заказ, бот, сбой трекинга, неверные единицы) — исправить или исключить; реальное редкое значение (оптовый клиент) — часть…
- Что такое p-value и как работает проверка статистических гипотез? Junior
Формулируют нулевую гипотезу (эффекта нет) и альтернативу. p-value — вероятность получить такие или ещё более сильные различия, если нулевая гипотеза верна. Если p-value меньше…
- Как работают groupby и merge в pandas и какие у них ловушки? Junior
groupby — разбить, применить агрегат, собрать (split-apply-combine): df.groupby("city")["amount"].agg(["sum", "mean"]). merge — соединение таблиц по ключам, как SQL JOIN…
- Почему apply и циклы в pandas медленные и как писать быстрее? Middle
Векторные операции над столбцами (df["a"] df["b"], np.where, .str, .dt) выполняются в C над массивами. apply по строкам и циклы iterrows вызывают Python-функцию на каждую строку …
- Почему нельзя останавливать A/B-тест, как только результат стал значимым? Middle
p-value колеблется по ходу теста, и если проверять каждый день и остановиться на первом p < 0,05, доля ложных срабатываний вырастает с 5% до 20–30%. Это те же множественные…
- Как оценить эффект изменения, если A/B-тест провести нельзя? Middle
Разность разностей (difference-in-differences) — сравнить изменение метрики в затронутой группе с изменением в похожей незатронутой за тот же период; допущение — параллельные…
- Как анализировать метрики-отношения (средний чек, CTR) и метрики с длинным хвостом в A/B-тесте? Senior
Если единица рандомизации — пользователь, а метрика считается по заказам или кликам (средний чек = выручка / число заказов, CTR = клики / показы), наблюдения внутри пользователя…
- Как посчитать когортный retention на SQL? Middle
Определить когорту каждого пользователя (обычно неделя или месяц первого действия), для каждого события посчитать номер периода от начала когорты, затем посчитать уникальных…
- Какие бывают виды retention и как их интерпретировать? Junior
N-day (classic) retention — доля пользователей когорты, активных ровно в день N (или неделю N). Rolling (unbounded) — доля активных в день N или позже — всегда выше классического…
- Как разбить поток событий на сессии на SQL? Middle
Сессия — серия событий пользователя без пауз дольше порога (обычно 30 минут). LAG даёт время предыдущего события; где пауза больше порога — флаг начала новой сессии; нарастающая…
- Что такое SRM (sample ratio mismatch) и почему это повод не доверять результатам теста? Middle
SRM — наблюдаемое соотношение групп статистически отличается от запланированного (50/50 стало 50,8/49,2 на миллионе пользователей). Это признак сломанной рандомизации или…
- Как выбрать топ-N записей в каждой группе, например три самых дорогих заказа каждого клиента? Junior
Пронумеровать строки внутри группы оконной функцией и отфильтровать номер во внешнем запросе: ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY amount DESC) и WHERE rn <= 3…
- Что такое ошибки первого и второго рода и мощность теста? Middle
Ошибка I рода (α) — найти эффект, которого нет (ложная тревога). Ошибка II рода (β) — не найти существующий эффект (пропуск). Мощность = 1 − β — вероятность обнаружить эффект…
- Что такое CUPED и как ускорить A/B-тесты без увеличения трафика? Senior
CUPED использует данные пользователя до эксперимента (например, его выручку за прошлый месяц): из метрики вычитают часть, объяснимую этой ковариатой: Y' = Y − θ(X − X̄). Эффект не…
- Что такое оконные функции в SQL и чем они отличаются от GROUP BY? Junior
GROUP BY схлопывает группу в одну строку; оконная функция считает по группе строк (окну), сохраняя все строки. Окно задаёт OVER (PARTITION BY … ORDER BY … ROWS …). Основные…