Эксперименты и причинность
Эксперимент — это золотой стандарт причинного утверждения. Мы случайно делим пользователей на группы, чтобы те отличались только воздействием, показываем разные варианты и смотрим на метрику. Пока рандомизация честная, конфаундеры (смешивающие переменные) выравниваются в среднем, и разница между группами — и есть причинный эффект, а не корреляция. Вся сложность в том, что «честная рандомизация» на практике ломается десятком способов, и большая часть вопросов на собеседовании — именно про эти способы.
Сначала — дизайн: что вы рандомизируете, какую метрику фиксируете заранее, хватает ли мощности, и как SRM или интерференция незаметно обнуляют результат. Затем — проверка гипотез: что p-value значит, а что нет, чем грозит подглядывание и множественные сравнения. Дальше — причинность без A/B: когда рандомизировать нельзя, на помощь приходят DiD, IV, RDD и matching. И в основании всего лежит вероятность, которую на собеседованиях проверяют напрямую задачами.
Карта темы
- Дизайн экспериментов — единица рандомизации, гипотеза и OEC/guardrail-метрики, мощность/MDE/размер выборки, длительность и недельная сезонность, SRM и A/A как проверки валидности, интерференция и эффекты новизны.
- Проверка гипотез — нулевая и альтернативная, p-value, ошибки I/II рода, доверительные интервалы, одно- vs двусторонний тест, множественные сравнения (Bonferroni vs Benjamini-Hochberg), выбор критерия, статистическая vs практическая значимость.
- Причинный вывод — почему корреляция ≠ причинность, конфаундеры, потенциальные исходы, DiD, instrumental variables, regression discontinuity, propensity-score matching, CUPED и парадокс Симпсона.
- Вероятностные задачи — условная вероятность и Bayes, математическое ожидание, классические головоломки (дни рождения, Monty Hall, монеты/кости), комбинаторика и распределения.
Частые ошибки и ловушки
| Ошибка | Последствие | |
|---|---|---|
| Считать мощность по числу пользователей, когда рандомизировали кластеры | Завышенная значимость: эффективный n — это число кластеров | |
| Останавливать тест, как только p упал ниже 0.05 (подглядывание) | Раздутая ошибка I рода — «победа» оказывается шумом | |
| Читать p-value как «вероятность, что гипотеза верна» | Неверный вывод; p-value — это `P(данные \ | H₀)` |
| Игнорировать SRM 50.8/49.2 как «мелкое отклонение» | Битое распределение → весь результат недостоверен | |
| Объявлять «различий нет» по недомощному тесту | Отсутствие доказательств ≠ доказательство отсутствия | |
| Подтверждать причинность корреляцией без рандомизации | Selection и конфаундеры выдают эффект, которого нет |
Значение для собеседований
Эту тему спрашивают, чтобы отделить того, кто умеет запускать и читать эксперименты, от того, кто заучил слова «A/B тест» и «p-value». Сильный кандидат сразу называет единицу рандомизации, замечает SRM, отличает практическую значимость от статистической и понимает, что делать, когда рандомизировать нельзя.
Что обычно проверяют:
- Три свойства достоверного A/B: рандомизация, изоляция, одна метрика, зафиксированная заранее.
- Что именно означает p-value и почему «p > 0.05» — это не «различий нет».
- Как множественные сравнения раздувают ложные срабатывания и как их контролировать.
- Как измерить эффект без A/B: DiD с проверкой parallel trends, IV, RDD, synthetic control.
Типичный неверный ответ: «пользователи X удерживаются в 3 раза лучше, значит, надо катить X всем». На деле это selection: пользователи X уже были вовлечённее, и при раскатке на всех эффект может исчезнуть — причинность даёт только рандомизированный запуск.