Ловушки A/B-тестов на собеседовании
Почему спрашивают про ловушки
Запустить A/B-тест несложно. Сложно — не допустить ошибок, которые делают результаты бессмысленными. На собеседовании вопросы про ловушки проверяют практический опыт: кандидат, который сталкивался с реальными экспериментами, знает эти проблемы из первых рук.
Интервьюеры ценят, когда кандидат не просто перечисляет ловушки, а объясняет механизм каждой проблемы и способ её решения. Это отличает теоретика от практика.
Peeking problem
Суть: вы проверяете результаты теста до набора запланированной выборки и принимаете решение раньше срока. «P-value уже 0.03, давайте остановим!» — классическая ошибка.
Почему это опасно: при многократной проверке вероятность хотя бы раз увидеть «значимый» результат растёт экспоненциально. При alpha = 0.05 и ежедневной проверке за 14 дней реальная ошибка первого рода может достигать 25-30%.
Решение: фиксировать размер выборки заранее и не смотреть на результаты до его набора. Альтернатива — sequential testing (методы Wald, mSPRT), которые позволяют проверять результаты на каждом шаге с контролем alpha. Также существуют always-valid p-values.
Peeking — самая распространённая ловушка в индустрии. По данным исследований, до 57% компаний останавливают тесты раньше запланированного срока. На собеседовании умение объяснить эту проблему — сильный сигнал.
Множественные сравнения
Суть: вы тестируете несколько метрик или несколько вариантов одновременно. Чем больше сравнений, тем выше вероятность ложноположительного результата.
Масштаб проблемы: при 20 метриках и alpha = 0.05 вероятность хотя бы одного ложноположительного результата — 64%. Это не баг, а математика.
Решения:
- Поправка Бонферрони — делите alpha на количество сравнений. Просто, но консервативно — теряете мощность
- Метод Холма-Бонферрони — менее консервативная версия, ранжирует p-values
- FDR (Benjamini-Hochberg) — контролирует долю ложных открытий среди всех значимых, а не вероятность хотя бы одной ошибки
- Выделение primary metric — одна главная метрика без поправки, остальные — exploratory
Novelty и primacy effect
Novelty effect: пользователи активнее взаимодействуют с новым интерфейсом просто потому, что он новый. Через неделю эффект исчезает. Primacy effect — обратная ситуация: привыкшие к старому интерфейсу пользователи сначала показывают худшие метрики, но через две недели адаптируются.
Как обнаружить: смотрите на метрики по когортам внутри теста. Если эффект убывает — novelty, растёт — primacy. Решение — запускать тест минимум на 2-3 недели и анализировать первую и вторую половину отдельно.
Парадокс Симпсона
Суть: агрегированные данные показывают один тренд, а данные по подгруппам — противоположный. Вариант B лучше в целом, но хуже в каждом сегменте по отдельности.
Пример: тестовая группа показывает выше конверсию (+2%). Но при разбивке по платформам: на iOS тест хуже (-1%), на Android тоже хуже (-0.5%). Причина — в тестовую группу попало больше iOS-пользователей, у которых конверсия в целом выше.
Решение: всегда проверять balance check — распределение ключевых характеристик между группами. Использовать стратификацию при рандомизации. Анализировать результаты по ключевым сегментам.
Network effects и survivorship bias
Network effects: пользователи из разных групп влияют друг на друга. Если вы улучшаете ленту для группы A, их контент может попасть к пользователям из группы B. Возникает в маркетплейсах, мессенджерах, рефералках. Решение — кластерная рандомизация (по городам, компаниям, группам друзей).
Survivorship bias: вы анализируете только пользователей, которые «дожили» до конца теста. Если тестовый вариант отпугивает 20% пользователей, оставшиеся 80% будут более лояльными — метрики выглядят лучше, хотя общий эффект отрицательный. Решение — intent-to-treat анализ: считать метрику для всех, кто попал в группу.
На собеседовании идеально назвать 3-4 ловушки и подробно разобрать одну из них. Перечисление без объяснения механизма не впечатляет — покажите, что вы понимаете почему это проблема и как её решать.
FAQ
Какие ловушки спрашивают чаще всего?
Peeking и множественные сравнения — это топ-2. Их спрашивают на каждом втором собеседовании по A/B-тестированию. Novelty effect и Simpson's paradox — на senior-позициях. Network effects — в компаниях с двусторонними платформами (маркетплейсы, соцсети).
Как защититься от peeking на практике?
Лучший способ — автоматизация. Настройте систему так, чтобы результаты становились доступны только после набора запланированной выборки. Если это невозможно — используйте sequential testing (например, always-valid confidence intervals), который позволяет безопасно проверять результаты на каждом шаге.
Что отвечать, если не знаешь ловушку, которую назвал интервьюер?
Честно скажите, что не сталкивались с этой проблемой, и попросите объяснить. Затем попробуйте порассуждать: какой механизм у проблемы, какие последствия, как можно было бы её решить. Умение рассуждать о незнакомой проблеме ценится выше, чем заученный ответ.