4 способа рассчитать размер выборки для A/B-теста
Знали ли вы, что существует множество способов посчитать один и тот же размер выборки? Вот 4 наиболее популярных подхода, которые встречаются на практике:
1. Online-калькуляторы
Сервисы вроде калькулятора Evan Miller’а предлагают простое и быстрое решение: вбиваем вводные (Baseline и MDE) — получаем необходимый размер.
На практике такой подход реалистично использовать только для метрик долей (например, конверсий).
2. Классическая формула
Берем математическую формулу расчета размера выборки, аккуратно подставляем значения дисперсии, MDE, значений z-критерия – получаем желанный размер.
Подходит для любых видов метрик (долей, непрерывных, ratio). Но уже требует более глубокого понимания происходящего. А также для оценки той же дисперсии на исторических данных все равно придется воспользоваться Python.
3. Готовые функции в Python
Если не любите формулы – поможет библиотека с готовыми функциями на Python, вроде statsmodels. Нужно будет посчитать effect_size и указать прочие вводные, что и для онлайн калькулятора.
Также подойдет для любых видов метрик. Но метод ограничен довольно тривиальными сценариями.
4. Симуляции Монте-Карло
Самый гибкий метод – вы моделируете поведение пользователей и смотрите, сколько нужно наблюдений для получения стабильного по уровням ошибок результата.
С помощью симуляций можно отвечать на любые, даже очень методологически сложные вопросы. Расплата – временный затраты на создание симуляции.
Какой подход выбрать?
Все способы при прочих равных дают один и тот же размер выборки. Используя какой-то, как основной, можно применить другой для проверки себя.
Онлайн-калькулятор – самый простой способ, но наименее гибкий. Я использую его, если нужно что-то быстро прикинуть на встрече, или если у меня эксперименты только на конверсии.
Функции в Python – основной инструмент для непрерывных и ratio метрик для рядовых A/B. Формулу периодически применяю для самопроверки.
Симуляции Монте-Карло – если у меня сложный сценарий. Например, нужна оценка для конкретного распределения и его изменения, если эффект неоднороден по сегментам, или хочу заложить «подглядывания».
А еще всегда можно просто заложить на эксперимент 2 неделе и не париться со всем этим (шутка).
A/B-тесты
Хочешь глубже разобраться в аналитике?
Посмотри программу курса по продуктовой аналитике и экспериментам.