Gravity Field предоставляет 2 режима для распределения трафика между вашими вариантами: A/B тестирование и Автопилот (Dynamic allocation). Эта статья описывает доступные режимы, случаи их использования.

## Режимы распределения трафика

### A/B тестирование:
Вы задаете процент трафика, распределяемый между вариантами. После сбора достаточного объема данных определяется победитель, и вы можете уверенно показывать его всем пользователям.

### Автопилот (Dynamic allocation):
Gravity Field определяет, какой процент пользователей увидит каждый вариант. Используется стратегия «многорукого бандита» (multi-armed bandit), при которой вариантам с лучшими результатами в прошлом выделяется больше трафика. По мере сбора данных лучший вариант постепенно показывается все большему числу пользователей. Подробнее см. [Автопилот](./dynamic_allocation.md).

## Выбор режима распределения трафика
### A/B тестирование:
Используйте, если хотите найти лучший вариант для долгосрочного использования или протестировать гипотезу для дальнейших экспериментов. Результат A/B теста — статистически значимый победитель, что позволяет принимать уверенные решения.
Рекомендуется для тестирования нового дизайна страницы, цвета кнопки или рекомендательной стратегии для карточки товара.

### Автопилот (Dynamic allocation):
Используйте, если хотите максимально быстро оптимизировать конверсию или если срок действия варианта короткий.
Если у вас нет времени на сбор данных для определения победителя, динамическое распределение позволяет направить больше трафика на более успешные варианты в течение нескольких часов.
Полезно для элементов, таких как баннер на главной странице, который обновляется еженедельно, или для ограниченных по времени кампаний (например, распродажи в Черную пятницу).

## Рандомизация пользователей

Gravity Field использует стандартный подход для распределения пользователей по вариантам эксперимента: назначение вычисляется путем хеширования (алгоритм djb2) идентификатора пользователя (UID) вместе с идентификатором версии теста, после чего результат маппируется на распределение трафика.

Этот механизм обеспечивает стабильное и повторяемое назначение для одного и того же пользователя в рамках одного эксперимента между сессиями, без использования случайности во время выполнения (runtime randomness). Таким образом, пользователь всегда будет видеть один и тот же вариант эксперимента при повторных посещениях.

**UID (User ID)** — это внутренний идентификатор пользователя, который выдается платформой Gravity Field. Этот идентификатор используется для отслеживания поведения пользователя и обеспечивает стабильность назначения вариантов в A/B тестах.

## Фильтрация ботов

Автоматический трафик ботов исключается из анализа с помощью IP-фильтрации. Трафик с IP-адресов, известных как связанные с ботами, исключается до начала анализа данных. Другие исключения данных не выполняются.
