Привет, Хабр! Меня зовут Евгений Узянов, я продуктовый аналитик в команде геймификации Купера (ex СберМаркет). Каждый месяц мы проводим десятки экспериментов на миллионах клиентов, чтобы улучшить опыт пользователей и экономику сервиса. Мы выдвигаем много гипотез, одновременно проводим большое количество тестов с разнообразной спецификой — поэтому нам важно глубоко понимать процесс проверки гипотез и уметь разобрать эксперимент до атомов.
В этой статье поговорим про статистические критерии:
узнаем, что это такое
разберем, в чем их «физический смысл»
посмотрим, для чего они используются, и что с ними делать
изучим часто встречающиеся на практике кейсы
Эта статья будет полезна для тех, кто начинает изучать AB-тестирование или хочет структурировать имеющиеся знания.
Когда я только начинал изучать методы количественного тестирования, я искал информацию в большом количестве источников: университетские лекции, онлайн-курсы, литература разной степени глубины и, конечно же, ютуб. В значительном количестве случаев при знакомстве с очередной статистикой информация преподносилась в следующем формате:
Держи страшную формулу
Вот какие-то графики с хвостами
Ну а дальше все понятно
Иди работай
Вместо такого подхода мы разберем по винтикам несколько статистических критериев и попытаемся понять, что лежит за математическими формулами. В процессе вы увидите, что за громоздкими и страшными математическими конструкциями лежат простые и понятные идеи.
Терминология
Сначала зафиксируем несколько важных понятий и разберем их на простых примерах.
Функция плотности распределения случайной величины в точке Х: для простоты будем считать, что это вероятность принятия случайной величиной значения Х.
Если же не привязываться к конкретной точке, то плотность распределения — это математическое правило, описывающее для каждого допустимого значения случайной величины вероятность того, что именно это значение будет принято.
Пример c кубиком
Допустим, мы рассматриваем идеальный игральный кубик: вероятность выпадения каждого из значений фиксирована и равна ⅙. Следовательно, если примем за Х значение кубика при произвольном броске, то наша функция плотности распределения величины Х будет выглядеть так:
То есть вероятность принятия значений от 1 до 6 равна 1/6, а вероятность выпадения чисел меньше 1 или больше 6 равна нулю.
Пример со школьниками
Предположим, мы изучаем выборку из миллиона случайных школьников с точки зрения распределения роста: практика покажет, что есть некоторый “средний рост”, равный 165 см, который наиболее распространен в рассматриваемой выборке. Также выяснится, что вероятность того, что у произвольного ученика окажется любой другой рост, падает по мере отдаления выбранного роста от среднего. То есть школьников ростом 160 и 170 см будет меньше, чем 165-сантиметровых. А дети ростом 130 см или 2 метра будут встречаться еще реже.
Функция плотности такого распределения называется функцией Гаусса, или просто гауссианом. Формула, описывающая рассматриваемый выше пример, как правило, не оставляет желания изучить ее поглубже:
Но все не так плохо, ведь множитель
— это всего лишь постоянная величина, отображающая максимальную высоту графика (когда степень экспоненты равна нулю). А степень экспоненты
только измеряет отклонение рассматриваемого значения х (в данном случае роста случайного школьника) от среднего роста по генеральной совокупности (165 см для миллиона школьников), выраженное в единицах стандартного отклонения множества вариантов роста школьников. Про последний коэффициент можем сказать следующее:
он минимален и равен нулю, когда рассматриваемый рост равен среднему
чем сильнее рост отклоняется от среднего, тем больше коэффициент b, и тем меньше значение плотности для такой точки
от μ зависит смещение графика относительно нуля
от σ зависит «ширина» распределения
Таким образом, гауссиан представляет собой колоколообразную функцию, которая управляется средним значением и стандартным отклонением совокупности элементов.
Функция распределения случайной величины: математическое правило, описывающее вероятность попадания случайной величины в интервал значений. Это определение связано с функцией плотности следующим образом: функция распределения — это интеграл от функции плотности ( то есть суммой плотности вероятности в каждой точке рассматриваемого интервала).
Пример с кубиком
Вернемся к примеру с игральным кубиком. Для такого случая функция распределения может выглядеть, например, как вероятность выпадения числа не больше определенного значения p (допустим, не больше четверки). Тогда формула распределения будет следующей:
Например, вероятность того, что выпадет значение меньше или равное 3:
Это соответствует тому, что из 6 возможных исходов только 3 удовлетворяют условию x <= 3.
Пример со школьниками
Для описанного случая со школьниками функция распределения может иметь смысл, например, вероятности получения случайного роста, не большего х. С точки зрения формулы это выглядит так:
Если мы хотим узнать вероятность, с которой произвольный выбранный школьник имеет рост не больше, чем 145 см, необходимо подставить в формулу выше следующие значения:
В результате получим вероятность около 2.3%.
Статистическая гипотеза: если мы возьмем какую-нибудь случайную величину и выдвинем некоторое утверждение насчет его распределения, то оно и будет статистической гипотезой.
Пример с кубиком
Возьмем случайную величину «значение, выпавшее на игральном кубике» и выдвинем следующую гипотезу:
кубик неисправен, и вероятность выпадения каждого из чисел не равна 1/6
Пример со школьниками
Возьмем две произвольные школы из города N, ученики которых распределяются по росту, как в предыдущих примерах. Выберем из них по одному десятому классу соответственно. И выдвинем статистическую гипотезу:
средний рост учащихся из двух выбранных классов одинаков
Статистический критерий (он же статистика и статистический тест): математическое правило, в соответствии с которым принимается или отвергается та или иная статистическая гипотеза с заданным уровнем значимости.
Для этого определения мы рассмотрим более подробные примеры ниже:
Критерий Стьюдента
Допустим, вы аналитик, к которому пришел менеджер продукта с новой фичей. Согласно гипотезе продакта, такое изменение гипотетически должно увеличить суммарную выручку с каждого клиента (ARPU).
Теперь представим, что после построения дизайна и проведения эксперимента, проверяющего гипотезу, у вас есть набор данных о выручке с каждого клиента из тестовой и контрольной групп. Но как сравнить эти данные?
Самое очевидное решение: сравнить средние значения суммарной выручки в каждой из групп. Но как в таком случае понять, насколько мала или велика полученная разница? Допустим, отличие составляет 17,5 рублей, как в таблице ниже — как интерпретировать такое значение?
Метрика | Контрольная группа | Тестовая группа | Абсолютная разница |
ARPU | 3048.1 рублей | 3065.6 рублей | 17.5 рублей |
Насколько полученная разность выборочных средних значительна, будем оценивать исходя из стандартного отклонения разности выборочных средних — оно представляет собой меру разброса возможных значений разности средних выручек с клиента между тестовой и контрольной группой. Полученную оценку «значительности» назовем переменной t.
Еще раз и помедленнее
В проведенном выше эксперименте мы случайным образом выбрали из множества пользователей тестовую и контрольную группы, для которых посчитали разность выборочных средних значений. Если проведем такую операцию достаточно большое количество раз, получим распределение разности выборочных средних — то есть распределение случайной величины «разность ARPU между тестовой и контрольной группой».
У этого распределения есть стандарное отклонение — его и будем использовать как меру, описывающую уровень разброса возможных значений разности выборочных средних.
В реальности бывает затруднительно определить истинное стандартное отклонение разности выборочных средних. Вместо него в знаменателе будем использовать оценку данного параметра — ее называют стандартной ошибкой разности выборочных средних. После математических преобразований получим формулу:
Поздравляем, мы только что изобрели критерий Стьюдента! Он используется в ситуациях, когда:
рассматриваются случайные нормально распределенные независимые величины,
стандартное отклонение генеральных совокупностей неизвестны,
сравниваемые выборки независимы, имеют одинаковое стандартное отклонение, а в каждой из них не менее 30 наблюдений.
В моем опыте это наиболее часто используемый критерий, который после некоторых преобразований данных применим в огромном количестве случаев.
Критерий Манна-Уитни
Допустим, мы столкнулись со следующей ситуацией: служба поддержки использовала новый скрипт для общения с клиентами. После этого собирали обратную связь от пользователей о качестве сервиса — от 1 до 10 баллов. Результаты получились следующими:
Старый скрипт | Новый скрипт | ||
id пользователя | Оценка | id пользователя | Оценка |
cc61bb00 | 3 | e2192d0f | 1 |
cffcc1c0-7 | 4 | 52aac80b | 2 |
d5e2722a | 5 | fdfdebaa | 2 |
973bf010 | 5 | aec0dd98 | 3 |
488ebe02 | 6 | 75133ce6 | 3 |
15f659e0 | 7 | 6d0b7521 | 4 |
35ad5100 | 8 | e1726c46 | 9 |
0f215aef | 8 | 9d3916d2 | 9 |
9ef620b7 | 8 | 58c72449 | 9 |
1661987e | 8 | 7af79d13 | 9 |
201a9ce0 | 9 | ||
37adf0a8 | 10 |
Как в такой ситуации выявить лучший скрипт?
Заметно, что данные не распределены нормально, а количество наблюдений слишком мало для применения критерия Стьюдента. В таком случае применимы непараметрические критерии. В качестве примера рассмотрим критерий Манна — Уитни. Он используется, когда:
есть две независимые выборки (большее количество рассматривается критерием Краскера — Уоллиса),
выборки ранжированы, а элементы упорядочены относительно друг друга,
в каждой выборке не меньше трех наблюдений.
Расчет состоит из нескольких шагов.
Пронумеруем все значения в порядке возрастания.
Старый скрипт
Новый скрипт
id
Оценка
Ранг
id
Оценка
Ранг
cc61bb00
3
5
e2192d0f
1
1
cffcc1c0-7
4
7.5
52aac80b
2
2.5
d5e2722a
5
9.5
fdfdebaa
2
2.5
973bf010
5
9.5
aec0dd98
3
5
488ebe02
6
11
75133ce6
3
5
15f659e0
7
12
6d0b7521
4
7.5
35ad5100
8
14.5
e1726c46
9
19
0f215aef
8
14.5
9d3916d2
9
19
9ef620b7
8
14.5
58c72449
9
19
1661987e
8
14.5
7af79d13
9
19
201a9ce0
9
19
37adf0a8
10
22
Когда встречаются несколько одинаковых значений, они нумеруются произвольно. Затем с каждым сопоставляется среднее значение среди таких рангов. Например, оценки, равные 3, имеют ранги 4 (клиент cc61bb00), 5 (клиент 52aac80b) и 6 (клиент fdfdebaa). Взяв среднее арифметическое по рангам одинаковых оценок, всем «тройкам» сопоставляется ранг «5».
Для каждой группы произведем расчет суммы рангов.
Основываясь на предположении, что гипотеза о равенстве медиан верна и элементы обеих выборок равномерно распределены между собой, для обеих групп посчитаем ожидаемую сумму рангов. Формулы ниже по сути представляют собой сумму арифметической прогрессии.
Добавим к ожидаемым рангам дополнительный коэффициент, равный общему числу пар элементов, которые можно образовать из элементов первой и второй выборок. При неравных размерах выборок (как в нашем случае) он помогает учитывает вклад большей выборки в общую сумму рангов и позволяет нам корректно оценить ожидаемую сумму рангов элементов меньшей выборки.
И, наконец, посчитаем критерий Манна-Уитни в переменной U.
Как видим, суть параметра U и рассматриваемого статтеста заключается в поиске минимального размера отклонения фактической суммы рангов от ожидаемой (т. е. Той, которая существовала бы при равномерном распределении рангов в группах).
Критерий Пирсона
Теперь рассмотрим пример с анализом категориальных данных — таких, у которых все возможные значения составляют фиксированный набор категорий, а не чисел, измеряющих величину на непрерывной шкале. Например, человек может описывать свой пол как мужской или женский, а деталь может быть синей или зеленой.
Допустим, коллеги из маркетинга принесли вам данные ниже и попросили оперативно выяснить, есть ли связь между выдачей промокода на первый заказ в сервисе и оформлением второго заказа — то есть тем, возвращается ли клиент.
Сделали первый заказ с промокодом | Сделали первый заказ без промокода | |
Не вернулись в повторный заказ | 60 | 300 |
Вернулись в повторный заказ | 10 | 390 |
Для этого упрощенного случая хорошо применим критерий Пирсона (еще его называют критерием независимости хи-квадрат). Говоря простыми словами, эта статистика основывается на сравнении разницы между ожидаемыми и фактическими значениями в каждой ячейке таблицы. Наблюдаемые значения — те, которые мы просто получили на практике. Ожидаемые — те, которые мы ожидали бы увидеть, если бы переменные «факт выдачи промокода на первый заказ» и «факт возвращения в повторный заказ» были действительно независимыми.
Формула для критерия Пирсона выглядит так:
Как видим, мы всего лишь считаем и суммируем отклонение наблюдаемого значения в ячейке относительно ожидаемого значения в единицах ожидаемого значения, суммируя результаты такой операции по всей таблице.
Подробнее про расчеты
Для расчета ожидаемого значения в ячейке в строке i, столбце j используем формулу ниже:
Например, для ячейки с индексами i=1 и j=1 (клиенты, которые сделали первый заказ с промокодом, но не вернулись в повторный заказ) ожидаемое значение будет выглядеть так:
Таким образом, исходная таблица с ожидаемыми значениями будет выглядеть следующим образом:
Сделали первый заказ с промокодом | Сделали первый заказ без промокода | |
Не вернулись в повторный заказ | 33.16 | 362.84 |
Вернулись в повторный заказ | 36.84 | 363.16 |
Используя наблюдаемые и вычисленные ожидаемые значения, а также приведенную выше формулу критерия Пирсона, получим:
Критерий Пирсона применяется в ситуациях, когда:
есть две выборки с независимыми наблюдениями,
в каждой из выборок не менее 30 наблюдений,
данные дискретны.
Что делать с полученным критерием?
Допустим, мы начали понимать, что лежит в механизмах некоторых критериев, а также научились считать их для ряда случаев. Конечно же, возникает вопрос: что дает посчитанное значение критерия? И как с его помощью оценивать уровень значимости принятия / отвержения гипотезы?
Для поиска ответа вернемся к примеру с критерием Стьюдента: предположим, t-значение равно нулю. Это означает, что средние выборочные значения метрик в тестовой и контрольной группах совпадают. В таком случае почти наверняка можно сказать, что отличий между группами нет. Увеличение значения критерия Стьюдента будет означать, что разность выборочных средних значений исследуемой метрики между тестом и контролем становится все больше по сравнению со стандартным отклонением разности выборочных средних. И поэтому чем больше значение t-критерия, тем меньше вероятность, что разность между группами случайна.
Таким образом, на качественном уровне значение критерия — это прокси-метрика значимости отличий между группами!
Чтобы проводить количественное соответствие между полученным значением статистики и значимостью отличий, используются специальные таблицы для соответствующего статистического критерия. В случае автоматизированного подхода используются функции специализированных библиотек, которые подбирают p-value под ваши выборки, степени свободы и посчитанное значение критерия.
Теперь я все знаю?
Для аналитика понимание принципов работы статистических критериев — один из самых базовых навыков, необходимых для выстраивания и поддержки культуры АБ-тестирования. Полезно понимать область применимости и «физический смысл», который лежит за математическими формулами — чтобы в любой ситуации знать, что предложить для грамотного количественного тестирования решений для бизнеса.
Если вам интересно влиять на бизнес с помощью данных, приходите к нам в команду — всегда найдутся направления по вкусу.
Product&data команда СберМаркета ведет соцсети с новостями и анонсами. Если хочешь узнать, что под капотом высоконагруженного e-commerce, следи за нами в Telegram и на YouTube. А также слушай подкаст «Для tech и этих» от наших it-менеджеров.