Как посчитать размер выборки для A/B в SQL

Закрепи формулу sample size в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать sample size в Telegram

Зачем Sample Size

Если запустить A/B на 1000 пользователях при baseline CR 2% и MDE 10% (relative) — power будет 15%. Это означает: с вероятностью 85% не увидите статистически значимый эффект, даже если он есть. Sample size — критично для дизайна эксперимента.

Формула

n = (z_α + z_β)² × 2 × p × (1-p) / MDE²

Где:

  • z_α — критическое значение для alpha (1.96 для α = 0.05)
  • z_β — критическое значение для power (0.84 для power = 0.8)
  • p — baseline conversion rate
  • MDE — minimum detectable effect (absolute)

Базовый расчёт

В SQL это approximation формулы:

WITH params AS (
    SELECT
        0.05 AS alpha,
        0.80 AS power,
        0.02 AS baseline_p,  -- 2% CR baseline
        0.002 AS mde_abs       -- 0.2 п.п. абсолютный эффект (10% relative)
)
SELECT
    baseline_p,
    mde_abs,
    CEIL(
        POWER(1.96 + 0.84, 2) * 2 * baseline_p * (1 - baseline_p)
            / POWER(mde_abs, 2)
    ) AS sample_size_per_group
FROM params;

Формула даёт sample size per group. Total для A/B = 2 × этот размер.

Параметры

Параметр Стандарт Что значит
α (alpha) 0.05 False positive rate (Type I error)
1-β (power) 0.80 True positive rate (1 - Type II)
p baseline Текущий conversion rate
MDE от 1% до 50% Минимальный эффект, который хотим detect
Закрепи формулу sample size в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать sample size в Telegram

Примеры

Baseline CR MDE relative MDE absolute n per group
2% 10% 0.2 п.п. ~38 000
5% 10% 0.5 п.п. ~14 800
10% 10% 1 п.п. ~7 060
20% 10% 2 п.п. ~3 130

Чем меньше MDE — тем больше нужна выборка (квадратично!).

Частые ошибки

Ошибка 1. MDE absolute vs relative. 10% relative на baseline 2% = 0.2 п.п. абсолютно. Формула берёт absolute.

Ошибка 2. Без correction для мульти-метрик. Если измеряете 10 метрик — alpha должна быть 0.005 (Bonferroni). Это увеличивает sample size.

Ошибка 3. Сезонность. Сэмпл на одну неделю — может попасть на праздник / акцию. Нужны полные циклы.

Ошибка 4. Power 0.8 — не закон. Critical bug — power 0.99. Exploratory — 0.7.

Ошибка 5. Игнорировать ratio metrics. Для ratio metrics (revenue per user) формула другая — используйте delta method.

Связанные темы

FAQ

Какой MDE выбирать?

Бизнес-значимый эффект. Если +0.5% CR не движет revenue — нет смысла тестировать на меньший MDE.

Можно ли уменьшить sample?

Да: 1) Pre-experiment metric (CUPED reducing variance). 2) Pooled metric. 3) Sequential testing. 4) Smaller alpha if low risk.

Power < 0.8 — что делать?

Либо больше юзеров (длиннее эксперимент), либо больший MDE, либо CUPED.

Sample size для absolute vs ratio?

Absolute — простая формула. Ratio (revenue/user) — delta method + дисперсия.

Power analysis — обязательно?

Да. Без него вы рискуете: либо false positives на маленькой выборке, либо false negatives на короткое время.