⚖️ Как деление 90/10 может убить репрезентативность А/В теста Предположим, мы хотим протестировать изменение в продукте с помощью А/В теста. Самый быстрый способ набрать выборку нужной мощности – сразу делить трафик 50/50 между A и B. Но иногда это слишком рискованно: если в тесте окажется баг, мы в моменте поломаем опыт половине аудитории. Поэтому для управления рисками часто делят, например, 90/10. Статистические критерии не требуют, чтобы A и B были одинакового размера. Но при делении 90/10 тесту нужно значительно больше времени, чтобы набрать ту же мощность при прочих равных, что при 50/50. Чтобы не ждать вечность, обычно приходят к гибридному варианту – Ramp Up: постепенно наращиваем долю тестовой группы, чтобы ускорить набор данных. И вот тут появляется соблазн «включить всех» и идти, например, по схеме: 90/10 → 70/30 → 50/50. Т. е. весь трафик участвует в эксперименте, просто меняются доли A и B. Звучит логично, но есть ловушка 🕸 Если посмотреть на пример из картинки выше, видно, что при таком подходе (см. вариант 1) мы теряем репрезентативность. Доли временных когорт в контроле и тесте не будут совпадать. Решение – наращивать трафик симметрично (см. вариант 2): 10/10 → 30/30 → 50/50. Т. е. отказаться от части пользователей в начале. Так мы всё ещё управляем рисками (подвергаем изменению лишь небольшую часть пользователей), но при этом сохраняем репрезентативность. #абтесты