AA-тест на собеседовании аналитика
Что такое AA-тест
AA-тест — это эксперимент, в котором обе группы получают одинаковый опыт. Никаких изменений, никакого нового функционала — пользователей делят на две группы и наблюдают за метриками. Цель — убедиться, что система сплитования работает корректно и между группами нет систематических различий.
На собеседовании вопрос про AA-тест показывает, что кандидат понимает не только статистику, но и инженерную сторону экспериментов. Запустить A/B-тест на сломанном сплитовании — значит получить ложные результаты и принять неверное решение.
Зачем запускать AA-тест
Проверка сплит-системы. Рандомизация может быть нарушена: баг в хешировании, неравномерное распределение по группам, утечка между вариантами. AA-тест это выявляет. Если в AA-тесте метрики значимо различаются — в системе ошибка.
Валидация baseline метрик. AA-тест показывает естественный разброс метрики между группами. Это помогает понять, какие колебания нормальны, а какие сигнализируют о реальном эффекте. Фактически вы получаете эмпирическую оценку дисперсии.
Проверка пайплайна аналитики. Баги бывают не только в сплитовании, но и в коде, который считает метрики. AA-тест — это сквозной тест всей системы: от присвоения группы до финального дашборда.
Калибровка p-value. В теории при alpha=0.05 AA-тест должен давать «значимый» результат в 5% случаев. Если чаще — что-то не так с тестом или метрикой. Это особенно важно при запуске новой платформы экспериментов.
AA-тест — это не потеря времени, а страховка. Компании, которые запускают A/B-тесты без предварительного AA, рискуют принимать решения на основе артефактов системы, а не реальных эффектов.
Когда AA-тест обязателен
- Первый тест на новой платформе — при миграции на новый инструмент экспериментирования AA-тест обязателен
- Новый метод рандомизации — смена хеш-функции, изменение логики присвоения групп
- Новая метрика — если вы впервые используете метрику в экспериментах, AA-тест покажет её нормальное поведение
- Подозрение на баг — если результаты последних тестов выглядят странно, AA-тест поможет локализовать проблему
- Сезонные изменения — после крупных событий (распродажа, праздники) полезно убедиться, что сплит не «сломался»
Как интерпретировать результаты
Нет значимых различий — хорошо, система работает корректно. Можно запускать A/B-тест. Но помните: отсутствие значимости не доказывает равенство групп, а лишь говорит, что различие не обнаружено при данном размере выборки.
Есть значимые различия — проблема. Возможные причины:
- Баг в рандомизации — проверьте распределение по группам: размеры, демография, география
- Неравномерный трафик — одна группа получает больше пользователей из определённого источника
- Баг в логировании — события записываются некорректно для одной из групп
- Множественные проверки — если вы смотрите 20 метрик, одна из них будет «значимой» просто по случаю
На собеседовании интервьюер может спросить: «AA-тест показал p-value 0.03. Что делать?» Сильный ответ: проверить распределение пользователей по группам, посмотреть на несколько метрик, убедиться в отсутствии бага, при необходимости перезапустить с другим seed.
Связь с A/B-тестом
AA-тест — это подготовительный этап перед A/B. Он не заменяет A/B-тест, а валидирует инфраструктуру. На практике многие компании запускают AA параллельно с A/B: часть трафика идёт в AA-группы как контрольная проверка. Альтернатива — множественное сплитование: делят контрольную группу на две части и сравнивают между собой.
На собеседовании вопрос про AA-тест часто идёт в связке с вопросами про размер выборки и ошибки первого рода. Готовьтесь объяснять все три темы как единое целое.
Типичные вопросы на собеседовании
- «Зачем нужен AA-тест, если рандомизация случайная?» — случайность не гарантирует отсутствие багов в коде. AA-тест проверяет реализацию, а не теорию вероятностей
- «Сколько длится AA-тест?» — достаточно, чтобы набрать ту же выборку, что и для планируемого A/B-теста. Обычно 1-2 недели
- «Можно ли пропустить AA-тест?» — если платформа проверена и стабильна — можно. Но при любых изменениях в инфраструктуре — нельзя
FAQ
Чем AA-тест отличается от A/B-теста?
В AA-тесте обе группы получают одинаковый опыт — разницы между вариантами нет. Цель — убедиться, что система корректно делит пользователей и метрики не различаются без вмешательства. В A/B-тесте одна группа получает изменение, и цель — измерить его эффект.
Что делать, если AA-тест постоянно показывает значимость?
Это серьёзная проблема. Начните с проверки рандомизации: равны ли группы по размеру, нет ли смещения по демографии или источнику трафика. Затем проверьте пайплайн аналитики — возможно, баг в расчёте метрики. Если всё чисто — посмотрите на саму метрику: высокая дисперсия и выбросы могут давать ложную значимость.
Можно ли использовать исторические данные вместо AA-теста?
Частично. Можно разделить исторических пользователей на псевдогруппы и проверить метрики — это называется offline AA-тест. Он проверяет пайплайн аналитики, но не проверяет систему сплитования в реальном времени. Для полной валидации нужен живой AA-тест.