Power analysis простыми словами
Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.
Короткое объяснение
Statistical power — вероятность обнаружить реальный эффект, если он существует.
Power = 1 − β, где β — вероятность ошибки II рода (false negative).
Стандарт — 80% power. Значит есть 20% шанс упустить реальный эффект.
Главные параметры
Power analysis связывает 4 параметра:
- α (alpha) — вероятность false positive. Стандарт 5%.
- β (beta) — вероятность false negative. Стандарт 20% (power 80%).
- MDE — minimum detectable effect. Размер эффекта, который хотим увидеть.
- 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.
Связанные темы
- Размер выборки для A/B
- P-value простыми словами
- Null hypothesis простыми словами
- A/B-тестирование гайд
FAQ
Что такое β?
Вероятность пропустить реальный эффект. Power = 1 − β.
Можно ли увеличить power без N?
Уменьшить σ (variance) через CUPED. Или увеличить MDE (но тогда пропустим smaller effect).
80% power обязательно?
Стандарт. Для critical decisions — 90%+.
Post-hoc power полезен?
Больше confuses, чем помогает. Precision analysis часто лучше.
Тренируйте статистику — откройте тренажёр с 1500+ вопросами для собесов.