Короткий ответ
При малой выборке или редких событиях можно использовать последовательный анализ (sequential testing) с контролем ошибки первого рода при промежуточных проверках, байесовский подход с явным априорным распределением, точные тесты вместо нормальных аппроксимаций, либо расширить единицу наблюдения или горизонт сбора данных — ни один подход не даёт гарантий, сопоставимых с тестом на большой выборке, и выбор требует явного обсуждения компромиссов.
Как это работает подробнее
классические тесты с фиксированным размером выборки и нормальной аппроксимацией плохо работают при малом числе наблюдений или низкой базовой частоте события — доверительные интервалы становятся очень широкими, а мощность обнаружить реальный эффект низкой. Последовательный анализ позволяет легитимно проверять данные по мере поступления, явно контролируя накопленную ошибку первого рода через специальные границы остановки (например, O'Brien-Fleming), в отличие от наивного peeking. Байесовский подход напрямую работает с распределением вероятного эффекта и позволяет включать информацию из предыдущих похожих экспериментов через априорное распределение, что особенно полезно при малых данных.
Sanity check: сравнить байесовский интервал с классическим доверительным интервалом Вильсона для той же пропорции — при разумном, не слишком "сильном" априорном распределении они должны быть в целом сопоставимы по порядку величины, иначе стоит перепроверить выбор prior.
Пример кода
# Байесовская оценка конверсии при малом числе наблюдений (Beta-Binomial)
from scipy.stats import beta
prior_alpha, prior_beta = 2, 20 # предыдущий опыт: базовая конверсия около 9%
successes, trials = 4, 60 # редкое событие, мало данных в новом тесте
post_alpha = prior_alpha + successes
post_beta = prior_beta + trials - successes
ci = beta.ppf([0.025, 0.975], post_alpha, post_beta)
print(ci)Что использовать на практике
- Для очень редких событий (например, серьёзные инциденты, крупные B2B-сделки) часто разумнее расширить период наблюдения или укрупнить единицу анализа (с пользователя на когорту/регион), чем пытаться добиться статистической значимости на недостаточном числе событий. Также полезно заранее смириться с тем, что решение, возможно, придётся принимать при высокой остаточной неопределённости, опираясь не только на статистику, но и на качественные сигналы и экспертную оценку риска.
Подводные камни
- Применять стандартный t-test или z-test к выборке из нескольких десятков наблюдений и интерпретировать результат с той же уверенностью, что и при тысячах наблюдений
- Использовать байесовский подход с произвольно выбранным "удобным" априорным распределением без обоснования и без проверки чувствительности выводов к этому выбору
- Откладывать принятие любого решения бесконечно в ожидании "достаточной" статистической значимости, которая при редком событии может не быть достигнута никогда в разумные сроки.