A/B тесты и анализ данных на PythonОткрытые материалыBootstrap в A/B-тестах: доверительный интервал

Bootstrap в A/B-тестах: доверительный интервал

Уроки курсаBootstrap в A/B-тестах: доверительный интервал

Bootstrap приближает выборочное распределение статистики повторным ресемплированием наблюдений с возвращением. Из исходной выборки размера n много раз собирают новую выборку того же размера, каждый раз считают метрику и получают распределение оценок.

Для A/B-теста обычно ресемплируют группы отдельно, вычисляют метрику A, метрику B и их разницу. Квантили распределения разниц дают percentile-интервал.

for _ in range(iterations):
    a_star = rng.choice(a, size=len(a), replace=True)
    b_star = rng.choice(b, size=len(b), replace=True)
    effects.append(metric(b_star) - metric(a_star))

Метод особенно удобен для медианы, квантиля и сложной метрики, у которой неудобна аналитическая формула стандартной ошибки.