Appearance
SRM анализ (Sample Ratio Mismatch)
Проверка корректности распределения пользователей между группами эксперимента.
Что такое SRM
Sample Ratio Mismatch (SRM) — это перекос в распределении трафика между группами эксперимента. Если вы планировали разделить пользователей 50/50, но реально получилось 52/48, это может быть случайностью или признаком ошибки.
SRM анализ проверяет, соответствует ли фактическое распределение ожидаемому. Если нет — результаты эксперимента могут быть ненадежными.
Блок SRM в результатах
Блок SRM всегда отображается первым, перед таблицами с метриками. Он имеет два возможных состояния:
✓ SRM не обнаружен (зеленый блок)
✓ SRM не обнаружен
Распределение трафика соответствует ожидаемому
p-value: 0.4520 (α = 0.01)
Интерпретация:
- Распределение пользователей между группами соответствует запланированному
- P-value ≥ 0.01 → различия в размерах групп объясняются случайностью
- Эксперимент корректен, можно доверять результатам
✗ SRM обнаружен (красный блок)
✗ SRM обнаружен
Обнаружен перекос в распределении трафика
p-value: 0.0003 (α = 0.01)
Интерпретация:
- Фактическое распределение пользователей значительно отличается от ожидаемого
- P-value < 0.01 → перекос слишком велик, чтобы быть случайностью
- Результаты эксперимента ненадежны!
Как работает проверка
AB-Labz Workbench использует Chi-squared тест для проверки SRM:
- Сравнивается фактическое количество пользователей в каждой группе с ожидаемым (обычно 50/50)
- Рассчитывается p-value
- Если p-value < 0.01 (порог строже, чем для метрик) → SRM обнаружен
Порог α = 0.01 (а не 0.05) используется намеренно, чтобы снизить вероятность ложных тревог.
Причины SRM
Если обнаружен SRM, возможные причины:
1. Техническая ошибка в сплите
- Ошибка в алгоритме рандомизации
- Неправильная хэш-функция для разделения пользователей
- Баг в коде, который по-разному обрабатывает группы
Пример: Если в контрольной группе часть пользователей не регистрируется из-за бага, они не попадут в итоговый датасет, создавая перекос.
2. Фильтрация после рандомизации
- Пользователи из одной группы чаще исключаются из анализа
- Разные условия попадания в финальный датасет для групп
Пример: Если тестовый вариант вызывает технические ошибки, пользователи с ошибками исключаются из анализа → перекос.
3. Временные факторы
- Эксперимент запущен не одновременно для всех групп
- Разное время сбора данных для групп
4. Сегментация или фильтры
- Датасет уже отфильтрован по каким-то условиям, которые неравномерно затрагивают группы
Пример: Если вы анализируете только пользователей из России, но сплит был глобальным, может возникнуть перекос.
Что делать, если обнаружен SRM
Шаг 1: Не доверяйте результатам эксперимента
Даже если метрики показывают значимые различия, они могут быть артефактом перекоса, а не реального эффекта.
Шаг 2: Найдите причину
- Проверьте код рандомизации
- Убедитесь, что обе группы обрабатываются одинаково
- Проверьте логи на наличие ошибок, специфичных для одной группы
- Убедитесь, что фильтры применяются одинаково к обеим группам
Шаг 3: Исправьте проблему и перезапустите эксперимент
SRM нельзя "исправить" статистическими методами. Необходимо найти и устранить техническую причину, затем запустить эксперимент заново.
Шаг 4: Если причина не найдена
Если вы уверены, что рандомизация корректна, а SRM всё равно обнаружен:
- Возможно, в датасете есть артефакты (дубли, пропуски)
- Проверьте качество данных
- Попробуйте пересобрать датасет
Частые заблуждения
Заблуждение 1: "SRM небольшой, можно игнорировать"
Даже небольшой перекос (например, 51/49 вместо 50/50) может быть признаком систематической ошибки. Если SRM статистически значим — это сигнал проблемы.
Заблуждение 2: "Можно скорректировать результаты весами"
Статистическая коррекция не решает проблему, если перекос вызван техническими ошибками. Взвешивание может скрыть реальную проблему.
Заблуждение 3: "SRM не влияет, если метрики не значимы"
SRM — это проблема дизайна эксперимента, а не результата. Даже если метрики показывают "нет эффекта", это может быть из-за перекоса.
Резюме
- SRM анализ обязателен для каждого эксперимента
- Зеленый блок → всё хорошо, продолжайте анализ
- Красный блок → остановитесь, найдите причину, перезапустите эксперимент
- Не пытайтесь обойти SRM статистическими методами — устраните техническую причину
AB-Labz Library