Классические АБ-тесты с поправкой на множественное тестирование:
Реализуются на любые метрики
Определяется необходимое число юзеров в группы
Для конверсии используется z-test для пропорций, для ARPU - тест Стьюдента в случае нормальности выборок (или хотя бы нормальности средних). Универсальный метод проверки - бутстрапированные доверительные интервалы для разницы средних. Также в случае нарушения нормальности распределений для ARPU можно воспользоваться тестом Манна-Уитни-Уилкоксона.
Если доверительный интервал для разницы включает в себя 0, то статистических различий нет.
Вывод делаем 1 раз (нельзя подглядывать)
Если вариантов больше двух, то используем поправку множественного тестирования
Классический байесовский алгоритм:
Реализуется на конверсию (на данный момент) и на ARPU (в будущем)
Собираем выборку из пользователей (примерно в 1.5 - 2 раза меньше, чем для обычного теста)
Распределяем пользователей поровну в каждую группу
Вероятность конверсии каждого варианта априорно задается бета-распределением с параметрами (1,1)
После окончания эксперимента пересчитываем распределения вероятности конверсий и считаем вероятность превосходства
Вывод делаем 1 раз (нельзя подглядывать)
Если вероятность превосходства выше заданного порога (тут клиент вправе его выбрать сам, либо воспользоваться нашими подсказками), то определяем победителя
Байесовский тест с остановкой:
Реализуется на конверсию (на данный момент) и на ARPU (в будущем)
Не определяем число юзеров заранее
Распределяем пользователей поровну в каждую группу
Используем байесовскую статистику пересчета вероятностей (как в алгоритме 2)
Можем остановить в любой момент при достижении определенных пороговых значений выбранных критериев
Примеры критерия: вероятность превосходства в каком-то варианте достигла 95%, ожидаемые потери выбора контрольного варианта 0,5%, достоверные интервалы для разницы перестали включать в себя нулевое значение
Вопреки рекомендациям многих сервисов, подглядывать (прерывать тест раньше заданного времени) нужно аккуратно, чтобы не словить FP (false positive) - обнаружить эффект там, где его нет (например, найти победителя в А/А тесте). Для этого нужно ориентироваться на число юзеров, накопленное в ходе эксперимента и сравнивать его с необходимым количеством пользователей для обнаружения минимального эффекта из классических тестов.
Алгоритм Томпсона для многоруких бандитов:
Не определяем число юзеров заранее
Реализуются только на конверсию (для ARPU результаты могут быть нестабильны -> будем часто ошибаться при выборе победителя)
Распределяем юзеров в ходе эксперимента пропорционально вероятностям превосходства, которые определяются аналогично алгоритмам 2 и 3.
Останавливаем эксперимент аналогично алгоритму 3
Как сопоставляются алгоритмы между собой (по убыванию показателя)
Надежность выводов (мы четко знаем, в каком % случаев мы совершаем ошибки): 1 > 2 > 3 > 4
Интерпретируемость выводов: 4/3/2 > 1 (байесовская статистика позволяет получать более интерпретируемые результаты)
Гибкость тестов: 3 > 4 > 2 > 1
Сложность реализации: 4 > 3 > 2 > 1
Скорость реализации (самый быстрый): 1 > 2 > 3 > 4