Короткий ответ
На масштабе компании с десятками одновременных тестов и множеством проверяемых метрик в каждом стоит применять централизованную поправку на множественные сравнения (например, Benjamini-Hochberg) на уровне всего портфеля значимых находок за период, а не оставлять каждую команду контролировать свой альфа независимо — единого стандарта здесь нет, выбор зависит от того, что организация готова считать "семьёй" гипотез для контроля.
Как это работает подробнее
если каждая из множества команд независимо тестирует на уровне альфа=0.05, ожидаемое число ложных "успешных" экспериментов в масштабе компании растёт линейно с числом тестов — при 200 тестах в квартал без реального эффекта в среднем около 10 из них покажут случайную значимость. Поправка на FDR на уровне компании (а не отдельной команды) контролирует долю таких ложных находок среди всех объявленных "успешными" экспериментов.
Sanity check: сравнить число экспериментов, признанных "успешными" до и после поправки — заметное сокращение числа значимых результатов после применения FDR-поправки — ожидаемый и полезный сигнал о масштабе риска случайных находок в портфеле тестов.
Пример кода
from statsmodels.stats.multitest import multipletests
# Результаты 10 экспериментов за квартал, p-value по основной метрике каждого
p_values = [0.001, 0.04, 0.045, 0.2, 0.5, 0.03, 0.12, 0.008, 0.6, 0.049]
reject, p_adj, _, _ = multipletests(p_values, alpha=0.05, method='fdr_bh')
print(list(zip(p_values, reject)))Что использовать на практике
- Сложность в том, что единица анализа для поправки ("семья гипотез") неочевидна — это все тесты компании за квартал, все тесты одной команды, или все метрики внутри одного теста? Разумный подход — применять поправку как минимум внутри набора вторичных метрик одного теста, и дополнительно отслеживать на уровне компании статистику "ожидаемая доля ложных успехов", чтобы калибровать общий уровень доверия к потоку результатов, даже если формальную поправку на все тесты сразу применить сложно организационно.
Подводные камни
- Игнорировать проблему вовсе, считая, что раз каждый тест в отдельности использует альфа=0.05, то всё под контролем
- Применять излишне консервативную поправку (Бонферрони по всем тестам компании) и резко терять мощность для реально важных находок
- Не документировать, какие метрики считались первичными, а какие вторичными до начала теста, что делает любую последующую поправку произвольной.