5 интересных вопросов с собеседований по АБ тестированию
В одном из прошлых постов мы разобрали самые частые вопросы с собеседований по АБ-тестированию. Сегодня хочу обсудить более интересные кейсы, которые также любят задавать на интервью по АБ-тестам и статистике.
Ответы я скрыл. Предлагаю вам сначала обдумать свой вариант, а уже потом заглядывать в мой.
1. Что делать с выбросами в АБ-тесте и на что они влияют?
Начнем со второй части вопроса: «На что влияют выбросы?» Обычно в первую очередь думают о том, что выброс сильно сдвигает среднее значение, из-за чего мы можем получить большую дельту между вариантами и «случайно» поймать статзначимость.
Выброс действительно может сместить среднее, но главная беда в другом: он сильно раздувает дисперсию. Из-за этого нам, наоборот, становится гораздо сложнее обнаружить реальные значимые отличия. Обычно от выбросов хотят избавиться как раз для того, чтобы снизить дисперсию и поднять чувствительность теста.
Теперь первая часть: «Что делать с выбросами?» В первую очередь — разобраться в их природе. Я выделяю три вида выбросов:
Выброс-ошибка. Например, криво отработало логирование или прилетели какие-то спам-истории (то есть выбросы вызваны техническими факторами). Такие аномалии можно смело удалять.
Выброс, связанный с тестируемым изменением. Например, мы раскатили годовую подписку и увидели небольшое количество очень крупных оплат. Да, на графике это выглядит как выброс, но удалять его нельзя, ведь эти значения вызваны именно нашим тритментом.
Выбросы, не связанные с тестируемым изменением. Самый сложный случай, когда мы не понимаем, как связаны аномалия и наш эксперимент. Здесь всегда дилемма, стоит ли обрабатывать этот хвост.
Способов борьбы с выбросами много, но главное правило — закладывать схему работы с ними еще на этапе дизайна АБ-теста и применять ее к обеим выборкам одновременно, а не заниматься выборочной селекцией ради «нужного» результата.
2. Можно ли использовать z-test вместо t-test?
Классическая статистическая теория требует от нас для z-теста использовать дисперсию генеральной совокупности, в то время как t-тест отлично работает с выборочной дисперсией. При этом z-тест опирается на нормальное распределение, а t-тест — на t-распределение Стьюдента. Если руководствоваться строгими правилами, нам всегда стоит выбирать t-тест.
Но важно понимать и практику: если мы решим «нарушить закон» и бахнем z-тест, подставив туда выборочную дисперсию, то на больших данных это практически ни на что не повлияет.
Мы получим идентичный результат, так как с ростом размера выборок t-распределение очень быстро сходится к нормальному, и значения p-value будут примерно одинаковыми.
Однако это справедливо только для достаточно больших выборок. Если у вас АБ-тест на условных «10 землекопов», различия будут критичными. На малых выборках лучше использовать t-тест, чтобы избежать завышения числа ложных срабатываний (ошибки первого рода).
3. Как проверить валидность результата АБ-теста?
Перед тем как погружаться в аналитику, критически важно убедиться, что сам тест был проведен корректно. Для этого чек-лист «здоровья» эксперимента:
- Убедитесь, что тест набрал заранее запланированное число наблюдений (размер выборки).
- Проверьте, что во все дни теста велось логирование — нет пропусков, просадок и дублей в данных.
- Проверьте данные на аномалии и экстремальные значения.
- Убедитесь, что не было пересечения групп — одни и те же пользователи не попадали в несколько вариантов одновременно.
- Проверьте, что фактическое расщепление трафика соответствует запланированному и у нас нет SRM (Sample Ratio Mismatch).
Только после того, как вы убедились в «здоровье» АБ-теста, можно переходить к анализу метрик.
4. В результате АБ-теста мы получили p-value > альфа. Можно ли сказать, что разницы нет?
Нет, так утверждать нельзя. Когда мы рассчитываем размер выборки «на берегу», мы закладываем определенную вероятность обнаружить эффект конкретного размера. Именно для этого делается дизайн эксперимента: планируется мощность, размер выборки и MDE.
Если мы провели эксперимент строго по правилам и получили p-value > alpha, это не значит, что эффекта нет физически. Наш размер выборки позволяет с высокой вероятностью находить эффекты не менее определенного размера (MDE). Эффект вполне может быть, но он гораздо меньше, и чтобы его уверенно задетектировать, нам просто нужна более крупная выборка.
5. Можно ли запускать одновременно два эксперимента на одних и тех же пользователей?
На первый взгляд кажется, что если один юзер одновременно участвует в двух экспериментах, это должно исказить результаты. Но здесь важно помнить про главный нюанс: ортогональное (независимое) деление.
Если мы обеспечим случайное и корректное распределение пользователей из одного эксперимента по вариантам другого, то этот влияние одного экспа "размажется" равномерно по вариантам другого.
Метрики внутри каждого варианта обоих тестов изменятся одинаково. В итоге дельта между вариантами конкретного АБ-теста будет вызвана исключительно его тритментом.
Запускать параллельно можно, главное - следить за корректностью сплитования и отсутствием пересечений в логике самих фичей (чтобы они не ломали друг друга интерфейсно).
P.S. Если вам понравилась рубрика с вопросами-ответами, то дайте огней 🔥 и я подготовлю еще.
Post #1189
1.79K
- 🔥 53
- ❤🔥 8
- 👍 4
- ❤ 1