Инструменты

Проверка сплита на перекос (SRM)

Разошёлся ли трафик по группам так, как планировалось. Вопрос, который стоит задать раньше всех остальных: при перекосе сравниваются не два варианта, а два разных набора людей.

критерий согласия χ² · считается в браузере

План задаётся долями в любых единицах: 50 и 50 — то же самое, что 1 и 1.

Отклонение от плана в пределах случайного. Признаков перекоса нет — это не доказательство, что всё в порядке, но повода останавливаться тоже нет.

p-value
0,00510
χ²
7,843
Всего пользователей
20 400
ГруппаОжидалосьПришлоРазница
Контроль10 20010 000−20049,0%
Вариант10 20010 400+20051,0%

Порог тревоги здесь — 0,0005, а не привычные 0,05. SRM проверяют у каждого теста, и при обычном пороге каждый двадцатый здоровый тест объявлялся бы сломанным.

Как это считается

SRM — sample ratio mismatch, расхождение фактического сплита с плановым. Проверка сравнивает пришедшее число пользователей с ожидаемым по критерию согласия χ² и отвечает на один вопрос: похоже ли отклонение на случайность.

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

Порог здесь — 0,0005, а не привычные 0,05. Причина не в строгости ради строгости: SRM проверяют у каждого теста, и при пороге 0,05 каждый двадцатый совершенно здоровый тест поднимал бы тревогу. Предупреждение, которое врёт в пяти процентах случаев, перестают читать — а настоящий перекос обычно даёт p на порядки меньше даже такого порога.

Отсюда же следует, чего проверка не говорит. «Признаков перекоса нет» — это не «сплит правильный». Небольшой перекос на малом трафике критерий не заметит, и это осознанный размен: редкая ложная тревога в обмен на пропуск слабых случаев.

План задаётся долями в любых единицах — 50 и 50 то же самое, что 1 и 1. Неравный сплит это не поломка: 90 на 10 при девяти тысячах и тысяче пользователей даёт χ² = 0. Поломка — когда факт расходится с тем, что вы заказывали.

Приближение χ² требует, чтобы в каждой группе ожидалось не меньше пяти пользователей. На меньших числах инструмент отказывается считать, а не выдаёт точную на вид цифру.

Разбор в статьеПочему A/B-тесту нельзя доверять: SRM, подглядывание и другие ошибки