t-test, bootstrap и z-test для delivery pricing A/B
В A/B тесте динамической доставки метрики прибыли и маржи могут иметь heavy tails. Когда использовать t-test, bootstrap или z-test?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Для долей подходит z-test, для средних с нормальной аппроксимацией - t-test, для heavy-tailed profit и сложных агрегатов часто надежнее bootstrap по user-level метрике.
Полный разбор
Выбор теста зависит от метрики и единицы анализа. Для конверсии или доли заказов уместен z-test для разности пропорций при достаточных counts. Для средних метрик с умеренной дисперсией и user-level агрегацией подходит t-test или Welch t-test.
Profit, margin и order value часто heavy-tailed: несколько крупных заказов сильно влияют на среднее. Здесь bootstrap по пользователям, winsorization, robust metrics или CUPED могут дать более понятную неопределенность. Важно семплировать на уровне randomization unit, а не на уровне событий, если split был user-level.
Статистический метод не заменяет дизайн: fixed alpha, power/MDE, pre-defined primary metric, guardrails и проверка sample ratio mismatch должны быть заданы до чтения результата.
Теория
A/B тест оценивает распределение выбранной статистики. Heavy tails и неправильная единица агрегации легко делают p-value слишком оптимистичным.