← Назад к вопросам

Что такое AA тест и зачем он нужен?

1.7 Middle🔥 171 комментариев
#Статистика и A/B тестирование

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI2 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

AA тест (AA Test)

AA тест — это контрольный эксперимент в аналитике, когда две группы пользователей получают абсолютно одинаковое обращение. Основная цель — проверить корректность самой методологии тестирования, а не эффект от изменения.

Определение и назначение

AA тест отличается от классического AB теста, где одна группа получает новый функционал (вариант B), а другая — контроль (вариант A). В AA тесте обе группы получают одинаковый контроль.

Зачем это нужно?

  • Проверка инструмента тестирования: убедиться, что метрики считаются корректно
  • Проверка разбиения на группы: убедиться, что рандомизация работает честно
  • Оценка baseline variability: измерить естественное колебание метрик
  • Валидация статистических методов: проверить, что уровень false positive соответствует ожиданиям

Как работает AA тест?

  1. Разбить пользователей на две равные группы рандомно
  2. Обе группы получают одинаковый контроль (например, текущую версию сайта)
  3. Собрать метрики за одинаковый период времени
  4. Провести статистический тест (t-test, chi-square и т.д.)
  5. Ожидаемый результат: не должно быть статистически значимых различий между группами

Если находишь значимые различия в 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 тестов

  1. Проводи AA тесты регулярно — перед запуском нового функционала
  2. Доклад AA тестов должен быть в квартильных отчётах (variance check)
  3. Размер выборки должен быть как в реальном AB тесте — проверяет мощность теста
  4. Проводи несколько AA тестов подряд — оцени накопление false positive
  5. Используй одинаковую статистику — AA тест и AB тест проверяются одинаково

Разница между AA и AB тестом

АспектAA тестAB тест
Вариант BТот же, что AНовый функционал
ОжиданиеНет различийЕсть различия
Когда проводитьПеред запуском ABВ процессе разработки
ЦельПроверка инструментаПроверка гипотезы

AA тест — это must-have для любого аналитика. Если ты его не проводишь, то не можешь доверять результатам своих AB тестов.