Размер выборки A/B-теста на собеседовании
Зачем считать размер выборки
Запускать A/B-тест без расчёта выборки — всё равно что ехать без навигатора: можно добраться, но скорее всего не туда. Если выборка слишком маленькая, тест не поймает реальный эффект. Если слишком большая — компания тратит трафик и время впустую.
На собеседовании вопрос про размер выборки проверяет, понимает ли кандидат статистическую основу экспериментов. Это не просто формула из учебника — это навык, который отличает аналитика от человека, который просто нажимает кнопку «запустить тест».
Интервьюер ожидает, что кандидат не просто назовёт формулу, а объяснит, почему каждый параметр влияет на размер выборки и как принимать решения в реальных условиях.
Формула и ключевые параметры
Размер выборки на одну группу для теста средних определяется четырьмя параметрами:
MDE (Minimum Detectable Effect) — минимальный эффект, который вы хотите обнаружить. Чем меньше MDE, тем больше выборка. На собеседовании часто спрашивают: «Кто определяет MDE?» Правильный ответ — продукт-менеджер совместно с аналитиком, исходя из бизнес-значимости эффекта.
Alpha (уровень значимости) — вероятность ложноположительного результата, обычно 0.05. Уменьшение alpha увеличивает размер выборки. Подробнее об этом — в разделе ошибки первого и второго рода.
Beta / Power (мощность теста) — вероятность обнаружить реальный эффект, обычно 0.8 или 0.9. Power = 1 - beta. Увеличение мощности требует большей выборки.
Дисперсия метрики — чем выше разброс значений, тем больше данных нужно, чтобы отличить сигнал от шума. Для конверсий дисперсия определяется базовой конверсией: p(1-p).
Что влияет на размер выборки
- Базовая конверсия — при конверсии 50% дисперсия максимальна, выборка самая большая. При 1% или 99% — значительно меньше
- Тип метрики — для средних (revenue per user) нужно больше данных, чем для конверсий, из-за высокой дисперсии
- Количество вариантов — A/B/C-тест требует больше трафика, чем простой A/B. При множественных сравнениях нужна коррекция alpha
- Одностороннний vs двусторонний тест — односторонний требует меньшей выборки, но применим только когда вы заранее уверены в направлении эффекта
Типичные вопросы на собеседовании
«Как уменьшить размер выборки?» — увеличить MDE (согласовать с бизнесом), выбрать более чувствительную метрику, использовать CUPED/стратификацию для снижения дисперсии, перейти на одностороннний тест.
«Трафика мало — что делать?» — увеличить MDE до разумного порога, увеличить длительность теста, выбрать proxy-метрику с меньшей дисперсией, рассмотреть байесовский подход.
«Посчитали выборку 100K на группу, а у нас 10K DAU. Сколько дней?» — минимум 10 дней на группу, но нужно учесть эффект дня недели (кратно 7). Итого — 14 дней. Это показывает, что кандидат мыслит практически.
Частые ошибки кандидатов
- Не упоминают MDE — говорят «нужно посчитать выборку», но не спрашивают, какой эффект бизнес хочет поймать
- Путают alpha и beta — alpha = ложноположительный результат, beta = ложноотрицательный. Подробности — в разделе ошибки первого и второго рода
- Забывают про дисперсию — формулу помнят, но не объясняют, откуда берётся sigma
- Не учитывают практику — считают абстрактное число, не переводя в дни с учётом трафика и сезонности
На собеседовании сильный ответ — это не формула наизусть, а рассуждение: «Мне нужно знать базовую конверсию, желаемый MDE, допустимые alpha и beta — тогда я посчитаю выборку и переведу в дни с учётом дневного трафика».
FAQ
Какой MDE считается нормальным?
Зависит от метрики и бизнеса. Для конверсии в покупку 1-2% — это относительное изменение на 5-10%. Для CTR кнопки — может быть 0.5 п.п. Общее правило: MDE должен быть бизнес-значимым — нет смысла ловить эффект, который не повлияет на решение.
Нужно ли пересчитывать выборку, если тест уже идёт?
Нет. Пересчёт выборки во время теста — это разновидность peeking, которая раздувает ошибку первого рода. Размер выборки фиксируется до запуска теста. Если нужна гибкость — используйте sequential testing.
Зачем нужен калькулятор, если есть формула?
Формулу полезно знать для собеседования и понимания зависимостей. На практике используют калькуляторы (Evan Miller, Optimizely) или библиотеки (statsmodels в Python), потому что они учитывают нюансы: точные формулы для пропорций, поправки на кластеризацию, множественные сравнения.