Одним из методов проверки достоверности результатов A/B-тестирования является A/A-тестирование.
Принцип A/A-тестирования состоит в создании двух и более одинаковых вариаций и запуск с ними A/B-тестирования для проверки того, насколько корректно система работает с кампаниями. Успешность тестирования оценивается по схожести результатов кампаний.
С помощью A/A-тестирования вы можете удостовериться в том, что:

- Распределение является случайным;
- Все данные сохраняются;
- Значение показателя “P2BB” является достоверным.

## Проведение A/A-тестирования для фронтовой интеграции

1. Создайте новую кампанию типа ‘Custom Code’;
2. Назовите свою кампанию (например, “AA Test 1”);
3. Если у вас есть интеграция с аналитической платформой, проверьте, что она активирована в платформе персонализации;
4. Установите таргетинг на всех пользователей;
5. На странице вариаций создайте новую вариацию;
6. В JS поле добавьте следующий код:
    
    ```jsx
    console.log('A/A test variation A');
    ```
    
7. Сохраните вариацию;
8. Создайте вторую вариацию с произвольным кодом и введите в JS поле следующий код:
    
    ```jsx
    console.log('A/A test variation B');
    ```
    
9. После сохранения второй вариации, выберите распределение трафика - 50% на каждую вариацию;
10. Используйте стандартные для вашего бизнеса ключевые метрики (например, продажи). Не меняйте настройки по умолчанию для закрепления вариации за пользователем (по умолчанию, мульти-сессионное) и окно атрибуции по умолчанию (начинается после показа вариации, а оканчивается по окончании сессии);
11. Запустите кампанию. Кампания не повлияет на пользовательский опыт. Пользователи, которым будут определены вариации, увидят только console.log сообщение в консоли браузера;
12. В списке кампаний, найдите только что созданную и продублируйте ее. Сделайте так 9 раз, чтобы суммарно A/A тестов было 10. Так вы минимизируете эффект случайности тестирования;
13. Запустите тест на неделю перед оценкой результатов;
14. После окончания теста и анализа результатов, заархивируйте кампании.

## Проведение A/A-тестирования для API интеграции

1. Создайте новую кампанию типа ‘Custom JSON’;
2. Назовите свою кампанию (например, “AA Test 1”);
3. Задайте имя селектора, оно может быть идентично названию кампании;
4. Установите таргетинг на всех пользователей;
5. На странице вариаций создайте две вариации;
6. В JSON поле каждой из вариаций добавьте идентификатор вариации, например:
    
    ```json
    {
    	"variation": "Control"
    }
    ```
    
7. После сохранения второй вариации, выберите распределение трафика — 50% на каждую вариацию;
8. Используйте стандартные для вашего бизнеса ключевые метрики (например, продажи). Не меняйте настройки по умолчанию для закрепления вариации за пользователем (по умолчанию, мульти-сессионное) и окно атрибуции по умолчанию (начинается после показа вариации, а оканчивается по окончании сессии);
9. Запустите кампанию.
10. В списке кампаний, найдите только что созданную и продублируйте ее. Сделайте так 9 раз, чтобы суммарно A/A тестов было 10. Измените названия кампаний и селекторов. Так вы минимизируете эффект случайности тестирования;
11. Настройте на своей стороне выполнение кампании. Кампания не должна влиять на пользовательский опыт. Пользователи, которым будут определены вариации должны видеть одно и то же на сайте или в приложении;
12. Запустите тест на неделю перед оценкой результатов;
13. После окончания теста и анализа результатов, заархивируйте кампании.

## Анализ результатов A/A-тестирования

Так как в A/A-тестировании вариации идентичны, нет необходимости ждать две недели. Рекомендуется запустить тест на неделю, позволить системе накопить данные и далее оценивать результаты по следующим параметрам в следующем порядке (ошибка в шаге 1 может привести к ошибке в шаге 3):

1. **Распределение вариаций:** посмотрите на количество пользователей, среди которых были распределены вариации, чтобы удостовериться, что распределение было случайным.
    1. Хорошо: каждая вариация была показана от 48 до 52 процентов пользователей;
    2. Плохо: каждая вариация была показана менее 48 или более 52 процентов пользователей.
2. **Сбор данных:** сравните количество пользователей с покупками и сумму выручки между вариациями.
    1. Хорошо: разница составляет менее 5% по количеству пользователей с покупками и сумме выручки;
    2. Плохо: Разница составляет более 5% по количеству пользователей с покупками и сумме выручки.
3. **Значение показателя “P2BB”:** посмотрите на 2 метрики. Для e-commerce это “Добавление в корзину” и “Покупка”. В каждой кампании посчитайте, сколько вариаций имеет значение более 95% в одной из указанных метрик. Это — ложный победитель, что может произойти с вероятностью около 5%.
    1. Хорошо: 0-2 метрики достигли статистически значимых результатов (более 95%);
    2. Плохо: 3 и более метрик достигли статистически значимых результатов.

## FAQ

**Почему надо проводить 10 тестов?**
Значение показателя “P2BB” в 95% считается надежным. Однако остается вероятность в 5% появления ложного победителя в A/A-тестировании. Если вы запускаете единственный тест, который достигнет статистической значимости, вы не будете знать (1 шанс из 20) — реальный ли это победитель или ложный. Проверка 2 метрик в 10 тестах (итого 20 метрик), уменьшает эффект случайности теста.

**Что делать, если A/A-тестирование провалилось?**
Зависит от того, с какой метрикой возникла проблема:

- **Распределение вариаций:** есть распределение между вариациями не находится в границах 48-52% — необходимо удостовериться в корректности настройки системы. Первоначальная проверка: количество пользователей на дашборде должно совпадать с количеством пользователей в вашей аналитической системе. Если ошибок в настройке не было обнаружено — обратитесь к команде, работающей с вашим проектом или в техническую поддержку.
- **Сбор данных:** если между платформой персонализации и вашей аналитической платформой разница более 5%, проверьте, что события срабатывают корректно. 
‣
- **“P2BB”:** если 2 и более проверяемых метрик достигли значительных результатов — продлите тест на вторую неделю перед анализом результатов теста. Если более 6 метрик имеют значение более 95% — обратитесь к команде, работающей с вашим проектом или в техническую поддержку.

**Что делать после успешного проведения A/A-тестирования?**
Просто заархивируйте все A/A-кампании и запускайте настоящие A/B-тесты!
