September 14, 2023

Решение примет АB-тест

AB-тестирование - это статистический инструмент, который помогает принимать компаниям обоснованные и эффективные решения. Он может дать объективную оценку любому нововведению в реальных условиях бизнес-задачи + позволяет выявить истинные потребности пользователей. В этой статье поговорим, что такое AB-тест, как он работает и какие преимущества может принести.

Что такое AB-тестирование?

Это метод исследования, который сравнивает текущую версию продукта (версию А) с его изменённой версией (версией B). Представим, что мы обновили дизайн сайта онлайн-магазина, но как определить, понравится это пользователям или нет? Самое простое - давайте разделим их на две группы: одной покажем новый дизайн, а другую оставим без изменений. Дальше в течение некоторого времени будем измерять активность обеих групп - например, кто сколько сделал покупок. После сравним результаты и примем решение.

Это объяснение самым простым языков, на деле не всё так легко. Давайте разбираться в деталях:)

Этапы AB-теста

1). Определение метрик и формулирование гипотез.

На этом этапе необходимо определиться, какую метрику мы хотим увеличить при внедрении варианта продукта B. Это могут быть метрики ML-моделей, если обновление заключалось во введении нового алгоритма; или SMM-показатели, такие как число просмотров, лайков, конверсия и т.д. Главное - чтобы метрика была измеримой и на неё можно было влиять. Тут лучше сразу привести "антипримеры": неизмеримая метрика - уровнь счастья клиентов, а та, на которую мы не сможем повлиять - курс доллара. Поэтому, необходимо выбирать с умом, т.к. потом нам придётся подсчитывать по ней результаты:)

Далее необходимо сформулировать гипотезу, её шаблон можно записать так: вариант продукта B увеличит (уменьшит) выбранную метрику на X процентов. То есть здесь обязательно нужно озвучить на сколько планируется изменение метрики, а если их несколько (например, средний чек и среднее число покупок) - для каждой нужно сформулировать отдельное предположение.

Если переходить к статистике, эта гипотеза будет альтернативной, т.к. нулевая всегда описывает равенство, что в нашем случае - просто отсутствие изменений. Напомним, что существуют также понятия ошибок I и II рода:

  • Ошибка I рода - это ситуация, когда мы отвергаем нулевую гипотезу и принимаем решение в пользу альтернативной, но на деле это неверно. Веростность ошибки I рода обычно обозначают α‎ (альфа).
  • Ошибка II рода - это ситуация, когда мы, наоборот, ошибочно принимаем нулевую гипотезу и отвергаем альтернативную; её обозначают β‎ (бетта).

Эти понятия пригодятся нам дальше.

2). Подготовка к тестированию

На этом этапе необходимо определиться со следующими моментами:

  • достаточные размеры тестируемых групп пользователей
  • длительность теста по времени
  • оценка рисков

Предположим, мы хотим измерить эффект от работы рекомендательной системы по выборке размером 10 человек в каждой группе, при этом наш сайт ежедневно посещают тысячи пользователей. Корректно ли будет судить о всей аудитории по такой маленькой выборке? Кажется, что нет. Но наряду с этим вполне может оказаться, что AB-тест "примет решение" не в сторону обновлений, и мы потеряем прибыль на клиентах B-группы. Поэтому, лучше не делать их слишком большими... Как попасть в "золотую середину" и корректно подобрать нужный размер - подскажет статистика.

Чтобы определить минимальный необходимый объём выборки, на котором можно корректно зафиксировать желаемый эффект X из гипотезы, понадобятся:

  • значения вероятностей ошибок I и II рода, которые мы можем допустить
  • само значение X из гипотезы
  • текущий уровень конверсии в группах (т.е. какой положительный эффект в них уже присутствует, без всяких обновлений)

Имея эти данные, можно воспользоваться, например, онлайн-калькулятором для расчёта минимального размера групп.

Важно отметить, что гипотезы бывают самые разные, не обязательно указывать X именно в процентах. Также можно использовать различные метрики, а не только конверсию - тогда калькулятор понадобится уже другой.

Для выбора длительности теста можно оттолкнуться от формулы:

количество дней = (размер выборки) / (трафик)

Пример: пусть минимальный размер выборки 10000 уникальных клиентов. При этом в среднем приходит 1000 посетителей в день. Тогда длительность теста должна быть 10 дней.

Можно также учесть сезонные показатели, дни недели, время; и, конечно, бизнес-моменты - такие как длительность оформления сделок, сколько в среднем клиентам надо времени на "подумать" и т.д.

Рассчитав все эти числа, можно оценить риски (и вообще понять, сможем ли мы правильно организовать AB-тест).

3). Настройка распределения на группы

Представьте, что вы проделали все шаги выше и отобрали две группы. Но потом оказывается, что в A попали постоянные клиенты, а в B те, которые сделали давно 1-2 покупки и потом пропали. Вероятно, при таком делении мы обнаружим высокую конверсию в первой группе и, возможно, ошибочно примем решение, что результат теста незначимый, так и не узнав настоящую правду.

Чтобы этого избежать, необходимо отбирать группы однородно, т.е. так, чтобы они были +- похожи по основным характеристикам. Конечно, две идеально похожие выборки мы не сделаем, всё ограничивается как минимум имеющимися данными по пользователям (т.е. однородно подобрать их по характеру мы вряд ли сможем:)), да и проверять по всем подряд признакам тоже не имеет смысла. Поэтому при планировании AB-теста обычно составляется список критериев однородности, которые наиболее важно учесть, и далее группы формируются уже "равноправно" (в кавычках, потому что подобрать даже по конкретным показателям абсолютно одинаковых пользователей не получится - допускается некоторая погрешность).

4). Запуск, проведение теста и сбор результатов

На этом этапе просто необходимо проверять, что все нужные условия для проведения эксперимента работают корректно:

  • группа А видит вариант продукта А, а группа B видит вариант продукта B, что отсутствуют пересечения между этими группами
  • нет внезапного влияния внешних факторов (не появляются неожиданные масштабные события, которые могут повлиять на результаты эксперимента)
  • все результаты централизованно поступают в систему хранения данных
  • и другое...

По окончании теста собираем и агрегируем полученные данные.

5). Подведение итогов и принятие решения

Задача определения "победителя" опять ложится на статистику. Здесь достаточно просто применить статистический тест для сравнения двух групп (про алгоритм выбора теста для сравнения количественных признаков ранее писали тут, для категориальных можете использовать тест хи-квадрат). Или для простого анализа результатов по конверсиям можно рассчитать при помощи калькулятора.

По итогам анализа мы принимаем или отклоняем первоначальную гипотезу и формируем один из трёх возможных выводов:

  1. Вариант продукта А является более эффективным (по заданной метрике), чем вариант B.
  2. Вариант продукта B является более эффективным (по заданной метрике), чем вариант А.
  3. Варианты А и B являются идентичными, то есть между ними нет разницы с точки зрения заданной метрики.

Когда сделан вывод, сформирован отчёт о проведении AB-теста и его результатах, принимается решение о внедрении варианта B или необходимости дальнейшего исследования.

Хотелось бы отметить, что не существует хорошего или плохого результата. Цель AB-тестирования - вовремя сделать верные выводы в целях рационального использования средств бизнеса. Если в результате получилось так, что новый вариант не оправдал себя, нужно порадоваться и принять такой исход событий:) И важно помнить, что статистические методы проверки гипотез не являются абсолютно точными и могут гарантировать результат только с заданным уровнем значимости.