Размер выборки 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), потому что они учитывают нюансы: точные формулы для пропорций, поправки на кластеризацию, множественные сравнения.

Смотрите также