Все материалы
Продуктовая аналитикагайдсредний

Статистическая мощность: почему тест не находит эффект, который есть

Что такое мощность A/B-теста, как она связана с размером выборки и MDE, как посчитать нужное число участников и почему «незначимо» на слабом тесте ничего не доказывает.

КПКейсПрактика1 августа 2026 г.12 мин

Мощность — это вероятность заметить эффект, если он действительно есть. Величина скучная на вид и решающая на практике: тест с низкой мощностью выдаёт «разницы не обнаружено» независимо от того, работает изменение или нет, и команда закрывает рабочие гипотезы, ничего о них не узнав. Разберём, как её считать до запуска и как проверить задним числом, чего вообще стоил результат.

Коротко

Мощность связывает четыре величины: размер эффекта, объём выборки, порог значимости и вероятность его увидеть. Зафиксируйте три — четвёртая определится сама.

  • Стандартный ориентир — 80%: в одном случае из пяти реальный эффект останется незамеченным.
  • Мощность считают до запуска, исходя из минимального эффекта, который вам интересен.
  • Чем меньше эффект, который нужно поймать, тем быстрее растёт требуемая выборка — квадратично.
  • «Незначимо» на слабом тесте не закрывает гипотезу: тест физически не мог её проверить.
  • Считать мощность по уже полученному эффекту бессмысленно — это переписывание результата другими словами.

Две ошибки, между которыми выбирают

В эксперименте возможны два промаха. Первый — объявить эффект там, где его нет; его вероятность и есть порог значимости, обычно 5%. Второй — не заметить эффект, который есть; его вероятность обозначают β, а мощность равна 1 − β.

Эти ошибки обмениваются друг на друга. Ужесточая порог значимости, вы реже поднимаете ложную тревогу и одновременно чаще пропускаете настоящие изменения. Единственный способ уменьшить обе — собрать больше данных.

Практический смысл в том, чтобы выбирать соотношение осознанно. Для необратимой миграции дороже ложная тревога. Для дешёвой продуктовой гипотезы дороже пропуск: вы навсегда закроете направление, которое работало.

Что может пойти не так
СитуацияЭффект естьЭффекта нет
Тест сказал «есть»верное решениеложная тревога (α, обычно 5%)
Тест сказал «нет»пропуск (β)верное решение

Считаем выборку до запуска

Расчёт начинается не с формулы, а с вопроса: какой минимальный эффект нам вообще интересен. Это MDE — minimum detectable effect. Он берётся из экономики, а не из статистики: прирост, начиная с которого изменение окупает разработку и поддержку.

Дальше всё определено. Для конверсии около 21% и желания поймать прирост в 6 процентных пунктов при пороге 5% и мощности 80% нужно примерно 792 участника в каждой группе. Для мощности 90% — уже около 1060.

Ключевая зависимость — квадратичная: чтобы поймать вдвое меньший эффект, нужно вчетверо больше данных. Именно поэтому «поймать прирост в полпроцента» на небольшом трафике обычно недостижимо, и честнее сказать это до старта, чем месяц собирать данные ради заведомо пустого ответа.

Оценка размера группы для двух долей
n ≈ (z(α/2) + z(β))² · (p₁(1−p₁) + p₂(1−p₂)) / (p₂ − p₁)²

z(α/2) = 1,96 при пороге 5%; z(β) = 0,84 для мощности 80% и 1,28 для 90%.

Что было бы, если бы мы посчитали заранее

Вернёмся к тесту из финальной главы курса: по 500 участников в группе, конверсия 21% против 27%. Результат вышел значимым, p = 0,026, и на первый взгляд всё в порядке.

Но если посчитать мощность этого дизайна, получится около 61%. То есть при таком объёме групп эксперимент замечал бы шестипунктовый прирост лишь в трёх случаях из пяти — а в двух показывал бы «разницы не обнаружено» при том же самом работающем чеклисте.

Вывод не в том, что результату нельзя верить: он получен и подтверждён интервалом. Вывод в том, что дизайн был рискованным — и если бы чеклист не сработал так заметно, команда с высокой вероятностью закрыла бы верную гипотезу. При 792 участниках в группе шанс увидеть тот же эффект был бы 80%.

Мощность против размера групп для прироста в 6 п.п.

Расчёт для базовой конверсии 21% и порога значимости 5%. Пунктирный ориентир практики — 80%.

Мощность, %

Если трафика физически не хватает

Расчёт часто выдаёт число, которого у продукта просто нет: 800 участников в группе при сотне регистраций в неделю означают четыре месяца ожидания. Это нормальная ситуация, и у неё есть несколько честных выходов — кроме одного, самого популярного и худшего.

Худший — всё равно запустить на неделю и прочитать результат как настоящий. Тест ничего не измерит, но создаст ощущение проверенного решения, и команда будет ссылаться на него ещё полгода.

Рабочие варианты выглядят иначе. Можно поднять MDE: согласиться, что маленькие приросты вы ловить не будете, и проверять только крупные изменения — тогда и выборка нужна меньше. Можно сменить метрику на более раннюю и частую: клик по кнопке случается в разы чаще покупки, и на нём чувствительность выше. Можно объединить несколько слабых сигналов в одну составную метрику. Наконец, можно вообще не ставить эксперимент: при малом трафике десять пользовательских интервью дают больше, чем формально проведённый, но бессильный тест.

Отдельно стоит вариант «ждать дольше». Он работает, но линейно по времени и квадратично по точности: чтобы вдвое сузить обнаружимый эффект, ждать придётся вчетверо дольше — и за это время продукт, аудитория и сезон успеют измениться, что добавит собственных искажений.

Чем платить, когда данных мало
ВариантЧто получаемЧем платим
Поднять MDEрешение за разумный срокмелкие улучшения останутся невидимыми
Более ранняя метрикавыше частота событиясвязь с деньгами становится косвенной
Ждать дольшета же чувствительностьсезонность и изменения продукта
Отказаться от тестабыстрое качественное пониманиенет количественной оценки эффекта

Мощность нужна не только в A/B-тестах

Та же логика работает в обычной аналитике, где никакого эксперимента нет. Сравнивая конверсию двух каналов, retention двух когорт или показатели до и после релиза, вы делаете статистическое сравнение — просто без рандомизации.

Практический эффект тот же: на маленьком сегменте разница в несколько пунктов не отличима от шума, и радоваться ей нельзя. В нашем учебном примере из курса когорты были по четыре человека — там один вернувшийся пользователь двигает retention на 25 пунктов, и никакой вывод о динамике по таким числам не строится.

Поэтому у любого разреза стоит спрашивать размер. Простое правило: рядом с процентом всегда показывать числитель и знаменатель. «33% против 66%» звучит как двукратная разница, а «1 из 3 против 2 из 3» сразу показывает, что обсуждать нечего.

И помните про обратную сторону на больших данных: там статистически различимо почти всё, включая разницу, которая не стоит ни рубля. Мощность защищает от ложного спокойствия, порог полезности — от ложной тревоги; нужны оба.

Почему нельзя считать мощность после теста

Соблазнительная идея: получить незначимый результат, подставить наблюдаемый эффект в формулу и сообщить «мощность была всего 12%, поэтому мы ничего не увидели». Такой расчёт называют наблюдаемой мощностью, и он не несёт новой информации.

Причина в том, что наблюдаемая мощность — просто другая запись того же p-value: большое p всегда даст низкую наблюдаемую мощность, маленькое — высокую. Вы не получаете второго независимого аргумента, а повторяете первый.

Полезный вопрос после эксперимента формулируется иначе: какие значения эффекта мы теперь можем исключить. На него отвечает доверительный интервал. Если он идёт от −1 до +9 пунктов, вы не исключили почти ничего; если от −0,3 до +0,4 — исключили всё практически значимое.

Как поднять мощность, не удваивая трафик

Увеличить выборку — не единственный путь, и не всегда доступный. Есть несколько приёмов, которые дают больше чувствительности на тех же данных.

Первое — снизить разброс метрики. Конверсия менее шумная, чем выручка на пользователя; промежуточный шаг воронки менее шумный, чем итоговая покупка. Часто разумно проверять гипотезу на более близкой к изменению метрике, а деньги держать как guardrail.

Второе — убрать из выборки тех, кого изменение не касается физически. Если чеклист видят только новые пользователи, включать в расчёт всю аудиторию значит разбавлять эффект шумом от тех, на кого он не действует.

Третье — учесть предэкспериментальное поведение. Методы вроде CUPED используют данные пользователя до теста, чтобы убрать часть естественного разброса; на метриках с историей это заметно сужает интервалы без единого дополнительного пользователя.

И четвёртое, самое простое: не дробить тест на десяток вариантов. Каждая дополнительная ветка забирает трафик и снижает мощность сравнения, ради которого всё затевалось.

  • Метрика ближе к изменению и с меньшим разбросом.
  • Аудитория без тех, на кого изменение не действует.
  • Учёт поведения до эксперимента (CUPED и аналоги).
  • Меньше веток — больше данных на каждое сравнение.
Продолжить чтение
Вся библиотека