Power analysis простыми словами

Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.

Короткое объяснение

Statistical power — вероятность обнаружить реальный эффект, если он существует.

Power = 1 − β, где β — вероятность ошибки II рода (false negative).

Стандарт — 80% power. Значит есть 20% шанс упустить реальный эффект.

Главные параметры

Power analysis связывает 4 параметра:

  1. α (alpha) — вероятность false positive. Стандарт 5%.
  2. β (beta) — вероятность false negative. Стандарт 20% (power 80%).
  3. MDE — minimum detectable effect. Размер эффекта, который хотим увидеть.
  4. N — размер выборки.

Задав 3, получаешь 4-й.

Применение

Перед A/B-тестом: определить N

Известно: α=5%, power=80%, MDE=2%. Посчитать — сколько юзеров нужно.

Уже запущен тест: посмотреть, можно ли обнаружить эффект

Известно: α=5%, N=10K, observed effect. Посчитать power для данного эффекта.

После теста: проверить, не пропустили ли эффект

Non-significant результат. Post-hoc power — можно ли было обнаружить MDE?

Формула для пропорций

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

Где:

  • z_α/2 = 1.96 для 5% alpha (two-sided)
  • z_β = 0.84 для 80% power
  • p₁ — базовый conversion
  • p₂ — ожидаемый (p₁ + MDE)

Пример: A/B кнопки

Базовый CR = 5%. Хотим обнаружить +1pp (MDE = 1pp). α=5%, power=80%.

n ≈ (1.96 + 0.84)² × (0.05×0.95 + 0.06×0.94) / (0.01)²
  ≈ 7.84 × (0.0475 + 0.0564) / 0.0001
  ≈ 7.84 × 0.1039 / 0.0001
  ≈ 8 150 на группу

Нужно ~8 150 юзеров в control и ~8 150 в test. Всего 16 300.

В Python

from statsmodels.stats.power import NormalIndPower

power_analysis = NormalIndPower()

n = power_analysis.solve_power(
    effect_size=0.05,   # Cohen's h for proportions
    alpha=0.05,
    power=0.80,
    ratio=1.0
)
print(f"N per group: {n:.0f}")

Trade-offs

Больше N

  • Больше power (можно обнаружить меньший эффект)
  • Больше стоимость / время
  • Узкий CI

Больше α

  • Больше false positives
  • Меньше N нужно (при том же power)
  • Обычно α фиксирован 5%

Больше MDE

  • Меньше N нужно
  • Но пропустим реально существующий, но smaller effect

Больше β (меньше power)

  • Меньше N
  • Больше false negatives

Частые случаи

«Я запустил тест, p=0.10, что это значит?»

Non-significant. Может быть:

  • Реально нет эффекта
  • Эффект есть, но N мало (low power)

Post-hoc power analysis покажет, можно ли было его обнаружить.

«Бизнес хочет обнаружить +0.5% CR»

Power analysis с MDE=0.5% → обычно N огромный (десятки-сотни тысяч). Обсуждение trade-off.

«Тест неделю, p=0.04, можно выключать?»

Если планировали 2 недели — нет (peeking problem). Power рассчитан на full period.

Novelty effect

Early-test эффект может угаснуть. Power analysis не учитывает — нужен sufficient period (2+ недели обычно).

A priori vs post-hoc

A priori (до теста)

Planning: сколько N нужно для детектирования эффекта.

Стандартная практика.

Post-hoc (после теста)

Анализ: какой power был для наблюдаемого effect?

Спорно: если результат не значим, post-hoc power часто низкий — это тавтология.

Правильнее: precision analysis (ширина CI).

На собесе

«Что такое power?» Вероятность обнаружить реальный эффект.

«Почему 80%?» Конвенция. Баланс между false negative и стоимостью.

«Как посчитать размер выборки?» Power analysis: α, power, MDE → N.

«MDE 1% или 5% — что лучше?» 1% → нужно больше N. 5% — меньше, но пропустим smaller effect.

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

FAQ

Что такое β?

Вероятность пропустить реальный эффект. Power = 1 − β.

Можно ли увеличить power без N?

Уменьшить σ (variance) через CUPED. Или увеличить MDE (но тогда пропустим smaller effect).

80% power обязательно?

Стандарт. Для critical decisions — 90%+.

Post-hoc power полезен?

Больше confuses, чем помогает. Precision analysis часто лучше.


Тренируйте статистику — откройте тренажёр с 1500+ вопросами для собесов.