Это один из самых интересных способов оценки метрик в А/Б-тестах, мы с удовольствием используем его в Retail Rocket для непрерывных параметров, таких как стоимость средней покупки, средняя стоимость товара, средний доход на посетителя сайта (Revenue per Visitor, RPV).
Бутстрэп [79] (оригинальная статья) работает за счет многократных выборок из данных, по которым затем считаются статистики. Алгоритм выглядит следующим образом [80]:
1. Необходимо задать количество выборок, которые мы сделаем из исходного датасета. Само число должно быть не меньше сотни. Больше – лучше.
2. При каждом повторении выборки (их всего будет) из исходного датасета случайно выбираются элементы с замещением, столько же, сколько было в исходном датасете (для сохранения вариации параметра [81]). В этой процедуре некоторые элементы исходного датасета будут выбраны несколько раз, некоторые – никогда.
3. Для каждой выборки вычисляется нужный нам параметр.
4. Теперь у нас есть
В А/Б-тестах мы работаем с двумя группами – контрольной и тестовой. По каждой группе нужно сделать свой бутстрэп. Считаем в каждой выборке и группе необходимую метрику. Для каждой выборки считаем разность метрик между группами. Таким образом мы получим
Вспомним наш пример с двумя резервуарами, у нас есть выборки по 1000 шаров из каждого. Напомню, что в задаче мы должны ответить на вопрос, есть ли разница в среднем диаметре шара между резервуарами. Для процедуры бутстрэпа делаем
Само слово «бутстрэп» произошло от выражения «To pull oneself over a fence by one’s bootstraps» (перебраться через ограду, потянув за ремешки на ботинках) – практически то же самое сделал барон Мюнхгаузен, когда вытянул сам себя за волосы из болота. Сейчас бутстрэпом называют такое «самовытягивание», когда мы получаем что-то бесплатное и полезное.
Плюсами бутстрэпа являются: независимость от распределения выборки, отсутствие параметров, кроме количества выборок, возможность легко подсчитать любую метрику. К минусам бутстрэпа относится очень высокая вычислительная требовательность. Создание тысяч выборок требует больших ресурсов. Третья альтернатива для А/Б-тестов – байесовская статистика.
Байесовская статистика
Впервые я познакомился с байесовским подходом для A/Б-тестов, когда прочитал статью Сергея Фельдмана на сайте нашего конкурента Richrelevance про этот тип тестов [82]. Одним из аргументов в пользу байесовских тестов для меня было сравнение двух формулировок итогов A/Б-тестов:
• мы отклоняем нулевую гипотезу, что A = Б, с
• с 85 %-ной вероятностью А лучше Б на 5 %.
Первая формулировка принадлежит традиционной фишеровской статистике, вторая – байесовской. В статье [82] Сергей обращал внимание на следующие два недостатка p-значений для работы с гипотезами: