A/B-тестирование: как быстро проверить сплитер?

Прежде, чем начать A/B-тестирование, мы обычно формируем гипотезу и определяем сколько тестовых групп у нас будет. В классических экспериментах групп обычно две: группа A и группа B.

Дальше мы используем либо внешний инструмент (например, Google Optimize) либо просим программиста разделить входящий поток пользователей на эти группы. Программисты используют программную функцию, которая, грубо говоря, подбрасывает монетку и по результату подбрасывания присоединяет пользователя к той или иной группе. 

С виду все хорошо, однако подбрасывание монетки это случайный процесс и в нем шансы встретить ситуацию, когда в каждой группе будет ровно по 50% пользователей, возможно, но маловероятно.

И вот вы запустили A/B-тест и пользователи начали маршрутизироваться в разные группы. 

Допустим, в день у вас приходит ~20 000 пользователей в каждую группу. 

При таком наборе пользователей и их равномерном распределении по группам, за 3 дня картинка должна была бы быть близкой к следующей:

  • группа A: 60 000 пользователей
  • группа B: 60 000 пользователей
НО, за 3 дня наша картинка оказалась следующей:

  • группа A: 59 510 пользователей
  • группа B: 60 490 пользователей
Отклонение от идеального сплита = 490 / 120 000 = 0.41%. Мы не видим разницу невооруженным взглядом. Но, все же, 0.41% это много или мало?

Я стараюсь всегда проверять сплитер. Это залог того, что потом я смогу воспользоваться статистическим калькулятором "из коробки". 

Ведь, если окажется, что на нужном мне объеме размеры выборок уже статистически значимо отличаются, то сравнивать результаты уже бесполезно: группы не эквиваленты, есть баес по набору групп. 

Итак, при идеальном сплите (из примера выше), конфигурация каждой группы была бы 60 000 из 120 000. У нас же конфигурация получилась 60 490 из 120 000.

Так вот, давайте сравним эти две конфигурации на предмет статистически значимой разницы:

  • группа 0: 60 000 пользователей
  • группа B: 60 490 пользователей

Как мы видим, на таком объеме выборки (120 000 пользователей), разница в группах даже всего в 490 пользователей является статистически значимой, и мы должны остановить эксперимент и исправить сплитер

P.S. Если у вас нестандартный сплит (скажем, 95% / 5%), то можно было бы воспользоваться R-пакетом pwr, чтобы проверить соответствие вашего сплита на соответствие вашей нестандартной конфигурации.

P.P.S. Какое-то время назад я написал короткий пост на тему несимметричных сплитов.

Comments

Popular posts from this blog

IV/WOE - хороший способ понять какой информацией вы обладаете

A/B-тестирование: смотреть на конверсию vs смотреть на продажи

Продуктовая аналитика: влияние продуктовых фич на ретеншн