A/B-тесты · ПланированиеРазмер выборки для A/B-теста
Калькулятор размера выборки: сколько посетителей нужно на группу, чтобы тест заметил эффект. Для конверсии и среднего чека, неравные группы, до пяти вариантов, CUPED, таблица чувствительности, формула и код Python и R.
Цифры остаются в браузере и никуда не отправляются
p₁ = 0,0200, p₂ = 0,0230, k = 1, z = 1,960 и 0,842 → n = 36 693
z₁₋α/s — критическое значение для α и стороны проверки, z₁₋β — для мощности, k — во сколько раз группа B больше A. Результат округляется вверх по каждой группе: недобор хотя бы одного посетителя опускает мощность ниже заданной.
Нужны четыре числа: базовая конверсия контроля, эффект, который хотите поймать, уровень значимости α и мощность. Калькулятор считает по формуле R power.prop.test и округляет вверх по каждой группе. Пример: конверсия 2 %, ожидаемый рост +15 %, α = 0,05 и мощность 80 % — нужно 36 693 посетителя на группу, всего 73 386. При односторонней проверке хватит 28 903 на группу.
Мощность — вероятность, что тест заметит эффект, если он действительно есть. При мощности 80 % каждый пятый настоящий эффект останется незамеченным: тест покажет «не значимо», хотя улучшение было. Чем выше мощность, тем больше выборка: для конверсии 2 % и роста +15 % мощность 80 % требует 36 693 посетителя на группу, а 90 % — уже 49 121. Обычно выбирают 80 %.
Тот, ради которого изменение стоит внедрять, а не тот, на который надеетесь. Эффект выбирают до запуска: если рост меньше, чем окупает разработку, ловить его незачем. Задать можно относительным, например +15 % к конверсии 2 %, или абсолютным — +0,3 процентного пункта, это одно и то же. Таблица чувствительности рядом показывает выборку для эффектов от +5 до +30 %.
Выборка растёт обратно квадрату эффекта: вдвое меньший эффект требует примерно вчетверо больше посетителей. Маленькую разницу труднее отличить от случайных колебаний, и шум приходится гасить объёмом. При конверсии 2 % рост +15 % требует 36 693 посетителя на группу, +10 % — 80 682, а +5 % — уже 315 206. Поэтому небольшие сайты тестируют смелые изменения, а не оттенок кнопки.
Выберите деление 20 / 80: калькулятор посчитает каждую группу отдельно, с коэффициентом k — во сколько раз группа B больше A. Для конверсии 2 % и роста +15 % нужно 23 300 посетителей в меньшей группе и 93 197 в большей — всего 116 497 против 73 386 при делении поровну. Неравное деление снижает риск, если новая версия окажется хуже, но удлиняет тест.
CUPED — поправка метрики на поведение того же пользователя до теста, например на его средний чек за прошлый месяц. Она убирает часть шума, и выборка уменьшается в 1 − ρ² раз, где ρ — корреляция метрики до теста и во время него. При ρ = 0,5 нужно на четверть меньше посетителей: для чека 3 000 ₽ с отклонением 1 500 ₽ и эффектом +90 ₽ — 3 271 вместо 4 361 на группу.