Привет, Хабр! В этой статье мы затронем один из аспектов множественного тестирования, а именно определение оптимальных размеров групп в случае общей контрольной группы. Докажем теоретически, что предлагаемый способ является оптимальным и сравним его с другими популярными подходами.
Меня зовут Саша, я работаю Head of DA/DS в X5 Tech. Мы с Колей продолжаем писать серию статей по А/Б тестированию, это наша пятая статья. Первые четыре можно посмотреть тут:
Предположим, что мы проводим множество независимых А/Б тестов, тогда типичный способ разделения пользователей на группы выглядит следующим образом:
|
A1 |
B1 |
|
A2 |
B2 |
|
A3 |
B3 |
|
A4 |
B4 |
При этом после окончания экспериментов мы будем сравнивать с
соответственно. Пользователи контрольных групп не подвержены влияниям экспериментов, их поведение не должно отличаться друг от друга, поэтому их можно объединить в общую контрольную группу:
|
A |
B1 |
B2 |
B3 |
B4 |
Таким образом, ставится вопрос об оптимальном разбиении трафика на группы при наличии одной контрольной группы и нескольких экспериментальных. Формализуем задачу:
Пусть у нас есть N пользователей, 1 контрольная группа, k экспериментальных групп. Положим, размер контрольной группы равен n, а размеры экспериментальных групп равны и равны m. Решается задача о нахождении оптимальных значений n и m:
|
A |
B1 |
… |
… |
Bk |
Соответствующие размеры групп:
|
n |
m |
… |
… |
m |
Чтобы решить данную задачу, нам нужно определиться с терминами, а именно: что означает «оптимальное» разбиение? Так как мы говорим про А/Б тестирование, то наилучшим разбиением будем считать то, которое обеспечивает наименьшую дисперсию статистики. Одной из наиболее часто встречающихся статистик является t-статистика:
Предполагается, что оценки дисперсий групп не являются случайными величинами и равны, что может быть адекватным предположением при больших размерах групп.
Поэтому задача сводится к нахождению такого разбиения, которое бы минимизировало следующий функционал:
Также есть условие регулярности, заключающееся в том, что распределяются все пользователи:
Решим данную задачу оптимизации:

Таким образом, если в эксперименте одна экспериментальная группа , то получаем ожидаемый результат – разбить всех пользователей на две равные группы.
Если же экспериментальных групп больше, чем одна, то в каждую экспериментальную группу нужно выделить
пользователей, а в контрольную
пользователей. Ниже приведена таблица с размерами групп в процентном соотношении для разного количества экспериментов:
|
k |
n, % |
m, % |
|
1 |
50 |
50 |
|
2 |
41.4 |
29.3 |
|
3 |
36.6 |
21.1 |
|
4 |
33.3 |
16.7 |
|
5 |
30.9 |
13.8 |
|
10 |
24.0 |
7.6 |
|
20 |
18.3 |
4.1 |
|
50 |
12.4 |
1.8 |
|
100 |
9.1 |
0.9 |
В заключении сравним данное разбиение с иными разбиениями, которые могут прийти в голову без аналитических выкладок.
-
Оптимальное разбиение:
|
A |
B1 |
B2 |
… |
… |
Bk |
-
Равномерное разбиение:
|
A |
B1 |
B2 |
… |
… |
Bk |
-
Контрольная группа занимает 50% выборки:
|
A |
B1 |
B2 |
… |
… |
Bk |
В таблице представлены значения функционала . Чем меньше, тем лучше. В последнем столбце произведён расчёт, во сколько раз меньший эффект возможно обнаружить при оптимальном разбиении относительно типичного разбиения:
|
k |
Оптимальное разбиение |
Равномерное разбиение |
50/50 |
MDE_uniform / MDE_optimal |
|
1 |
4.0 |
4 |
4 |
1 |
|
2 |
5.8 |
6 |
6 |
1.01 |
|
3 |
7.5 |
8 |
8 |
1.04 |
|
4 |
9.0 |
10 |
10 |
1.05 |
|
5 |
10.5 |
12 |
12 |
1.07 |
|
10 |
17.3 |
22 |
22 |
1.13 |
|
20 |
29.9 |
42 |
42 |
1.18 |
|
50 |
65.1 |
102 |
102 |
1.25 |
|
100 |
121.0 |
202 |
202 |
1.29 |
Так, если у вас k=10 экспериментальных групп, то при оптимальном разбиении вы бы смогли обнаружить эффект в 1.13 раз меньший, чем при ином типичном разбиении.
Как это неудивительно, при равномерном разбиении и при разбиении 50 на 50 получаются одинаковые результаты.
Итого, когда в эксперименте присутствует всего одна экспериментальная группа, результаты согласуются и между собой, и со здравым смыслом. Происходит разделение на две равные части. При увеличении количества экспериментальных групп оптимальное разбиение помогает достичь большей чувствительности тестов по сравнению с другими способами разбиения.
ссылка на оригинал статьи https://habr.com/ru/articles/763656/
Добавить комментарий