Что такое AA тест и зачем он нужен?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
AA тест (AA Test)
AA тест — это контрольный эксперимент в аналитике, когда две группы пользователей получают абсолютно одинаковое обращение. Основная цель — проверить корректность самой методологии тестирования, а не эффект от изменения.
Определение и назначение
AA тест отличается от классического AB теста, где одна группа получает новый функционал (вариант B), а другая — контроль (вариант A). В AA тесте обе группы получают одинаковый контроль.
Зачем это нужно?
- Проверка инструмента тестирования: убедиться, что метрики считаются корректно
- Проверка разбиения на группы: убедиться, что рандомизация работает честно
- Оценка baseline variability: измерить естественное колебание метрик
- Валидация статистических методов: проверить, что уровень false positive соответствует ожиданиям
Как работает AA тест?
- Разбить пользователей на две равные группы рандомно
- Обе группы получают одинаковый контроль (например, текущую версию сайта)
- Собрать метрики за одинаковый период времени
- Провести статистический тест (t-test, chi-square и т.д.)
- Ожидаемый результат: не должно быть статистически значимых различий между группами
Если находишь значимые различия в AA тесте, это указывает на проблемы:
- Некорректное разбиение на группы
- Баг в логике сбора метрик
- Внешние факторы, влияющие на результат
Практический пример
import numpy as np
from scipy import stats
# Имитируем AA тест
np.random.seed(42)
n_users = 10000
# Группа A и группа B получают одинаковый контроль
# Например, время на странице товара
metric_A = np.random.normal(loc=120, scale=30, size=n_users // 2) # сек
metric_B = np.random.normal(loc=120, scale=30, size=n_users // 2) # сек
# T-test для проверки различий
t_stat, p_value = stats.ttest_ind(metric_A, metric_B)
print(f"Mean A: {metric_A.mean():.2f} сек")
print(f"Mean B: {metric_B.mean():.2f} сек")
print(f"T-statistic: {t_stat:.4f}")
print(f"P-value: {p_value:.4f}")
print(f"Статистически значимо? {p_value < 0.05}")
# Результат при правильной настройке: p_value > 0.05
Ожидаемые результаты AA теста
При корректной настройке из 100 AA тестов:
- В 95 тестах не должно быть значимых различий (p-value > 0.05)
- В 5 тестах найдутся "ложно положительные" различия (p-value < 0.05) — это нормально, называется false positive rate
Если находишь значимые различия более чем в 5% случаев, это признак проблемы.
Типичные проблемы, которые выявляет AA тест
1. Проблемы с рандомизацией:
- Группы разбиты не по-настоящему случайно
- Например, по IP адресу вместо user_id
- Результат: одна группа содержит больше bot-трафика
2. Проблемы со сбором данных:
- Баги в tracking коде
- Потеря данных для одной из групп
- Разные версии фильтра для групп
3. Временные эффекты:
- День недели (Monday effect)
- Время суток
- Сезонность
- Результат: группы тестировались в разные периоды
4. Проблемы с метриками:
- Натурально высокая вариативность метрики
- Баги в расчёте метрики
Рекомендации по проведению AA тестов
- Проводи AA тесты регулярно — перед запуском нового функционала
- Доклад AA тестов должен быть в квартильных отчётах (variance check)
- Размер выборки должен быть как в реальном AB тесте — проверяет мощность теста
- Проводи несколько AA тестов подряд — оцени накопление false positive
- Используй одинаковую статистику — AA тест и AB тест проверяются одинаково
Разница между AA и AB тестом
| Аспект | AA тест | AB тест |
|---|---|---|
| Вариант B | Тот же, что A | Новый функционал |
| Ожидание | Нет различий | Есть различия |
| Когда проводить | Перед запуском AB | В процессе разработки |
| Цель | Проверка инструмента | Проверка гипотезы |
AA тест — это must-have для любого аналитика. Если ты его не проводишь, то не можешь доверять результатам своих AB тестов.