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

Множественные сравнения: почему 20 метрик дают случайную «победу»

Как multiple testing и множественные сравнения искажают выводы в аналитике: family-wise error, false discovery rate, pre-registration и практические правила для A/B-тестов.

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

Если проверить достаточно метрик, какая-то почти обязательно даст p<0,05 даже при отсутствии эффекта. Добавь платформы, каналы и страны — и случайная находка будет выглядеть как точный инсайт. Multiple testing не запрещает исследование, но требует разделить подтверждающие и исследовательские проверки. Центральный вопрос материала: Что происходит с вероятностью случайной находки, когда мы смотрим много метрик и сегментов?

Ситуация из отчёта

Если проверить достаточно метрик, какая-то почти обязательно даст p<0,05 даже при отсутствии эффекта. Добавь платформы, каналы и страны — и случайная находка будет выглядеть как точный инсайт. Multiple testing не запрещает исследование, но требует разделить подтверждающие и исследовательские проверки.

Множественные сравнения — вопрос доверия к процессу, а не только статистики. Договоритесь, что исследовательская находка может быть полезной, но не получает статус факта без повторной проверки. Такой режим сохраняет скорость discovery и защищает продукт от rollout по шуму.

чем больше попыток, тем осторожнее вывод

Что происходит с вероятностью случайной находки, когда мы смотрим много метрик и сегментов?

Статистическая модель

Family-wise error rate — вероятность хотя бы одной ложной находки в семействе проверок. False discovery rate контролирует ожидаемую долю ложных находок среди объявленных. Bonferroni строгий и снижает power, Holm обычно мягче, Benjamini–Hochberg подходит для контроля FDR. Метод выбирается по цене ошибок и роли анализа.

До запуска определи семейство: какие метрики и сравнения отвечают на одно решение. Назначь primary metric, guardrails и exploratory set. Для подтверждающих выводов используй корректировку или иерархию тестов. Сохраняй полный список проверок, включая неинтересные результаты. Не исправляй p-value только для красивого отчёта после поиска находки.

Семейная ошибка без корректировки
P(at least one false positive) = 1 − (1 − α)^m

При независимых проверках и m тестах; реальные зависимости могут менять точную оценку.

Разбор чисел

В A/B-тесте команда посмотрела 5 метрик, 4 платформы и 6 стран. Один сегмент показал рост retention с p=0,04. После учёта количества попыток доказательство стало слабым, а эффект не повторился. Это не значит, что сегмент нельзя изучать: его нужно обозначить как гипотезу и провести отдельную проверку.

Собери таблицу всех тестов и обозначь роль каждого. Сначала вынеси primary result, затем guardrails, затем exploratory. Для exploratory применяй FDR или честную маркировку. После значимой находки повтори тест на новой выборке или используй holdout. Коррекция не спасает плохой дизайн и не заменяет репликацию.

Рост риска ложной находки

Условный пример при alpha 0,05: больше проверок — выше шанс случайного сигнала.

Риск хотя бы одной находки, %

Что проверить в данных

До интерпретации проверь единицу наблюдения, период и правило включения. Затем пересчитай результат на небольшой выборке, где ответ известен заранее, и сравни с разумной альтернативой: другим горизонтом, зрелой когортой или user-level агрегацией.

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

Роль результата в эксперименте
ТипПравилоСтатус
Primaryзафиксирована заранеерешение
Guardrailзащищает от вредаограничение rollout
Secondaryдополняет картинуподдержка гипотезы
Exploratoryнайдено в поискенужна репликация
  • Зафиксируй baseline до просмотра результата.
  • Проверь пропуски, дубли и зрелость периода.
  • Покажи размер выборки и диапазон неопределённости.

Границы вывода

Не называй каждую комбинацию сегмент × метрика отдельным «инсайтом». Не прячь число проверок в ноутбуке. Не снижая alpha после результата, не превращай post-hoc правило в pre-registered. И не применяй Bonferroni ко всем метрикам продукта, если они относятся к разным решениям: сначала определи семейства.

Безопасный вывод: «Primary metric не показала устойчивого эффекта. В exploratory-анализе найден сигнал Android retention, но после корректировки он не пересекает порог подтверждения. Выносим его в отдельную гипотезу; rollout по этому наблюдению не запускаем».

Факт → ограничение → действие

Сначала сообщи, что видно в данных. Затем назови, что мешает сделать более сильный вывод. В конце предложи один проверяемый следующий шаг.

Самостоятельный расчёт

Возьми последний отчёт и посчитай, сколько сравнений фактически было сделано. Объедини их по бизнес-решениям и выбери primary. Затем перепиши выводы, отделив confirmatory от exploratory. Это упражнение часто обнаруживает, что «главный инсайт» был выбран из длинного списка случайных попыток.

  • Сохрани период и параметры расчёта.
  • Назови хотя бы один крайний случай.
  • Сформулируй вывод отдельно от гипотезы о причине.

Как сообщить результат

Безопасный вывод: «Primary metric не показала устойчивого эффекта. В exploratory-анализе найден сигнал Android retention, но после корректировки он не пересекает порог подтверждения. Выносим его в отдельную гипотезу; rollout по этому наблюдению не запускаем».

Множественные сравнения — вопрос доверия к процессу, а не только статистики. Договоритесь, что исследовательская находка может быть полезной, но не получает статус факта без повторной проверки. Такой режим сохраняет скорость discovery и защищает продукт от rollout по шуму.

Продолжить чтение
Вся библиотека