# 🧬 Affinity-профиль

Профиль аффинитивности пользователя собирается для каждого пользователя на основании:

  • Событий
  • Ценности атрибутов товара

При любом из типов интеграции на пользовательском уровне мы сохраняем и агрегируем все значения свойств товара, с которым взаимодействовал пользователь. Эти значения используются для вычисления оценки аффинитивности для каждого из этих свойств. Данные оценки суммируются по количеству взаимодействий с товаром, отдавая предпочтение недавним действиям и действиям, отражающим повышенный интерес.

Аффинитивность собирается по следующим событиям:

  • Page view
  • Product View
  • Add to Cart
  • Purchase
  • Add to favorites

# 📦 Товарный фид и атрибуты

  • По умолчанию Affinity Score считается по полю categories (вся иерархия).
  • Чтобы учитывать другие поля (например, brand, color, gender), их необходимо указать через менеджера по персонализации.
  • Рекомендуемое количество атрибутов — до 5, максимум — 10.

# ⚙️ События и вес

Событие Вес действия
Просмотр товара 2
Добавление в избранное 2
Добавление в корзину 4
Покупка 6

Также учитываются коэффициенты давности:

Срок взаимодействия Коэффициент
До 2 дней 8
До 30 дней 2
До 180 дней 1

# 🔍 Пример оценки по типу действия

Если пользователь 4 раза посмотрел товар, 1 раз добавил в корзину и 1 раз купил:

(4 × 2 × 1) + (1 × 4 × 20) + (1 × 6 × 60) = 8 + 80 + 360 = 448

# 🔍 Пример оценки с учётом давности

Сессия Действие Вес Коэфф. Итог
15 дней назад Просмотр × 4 2 2 16
15 дней назад В корзину ×1 4 2 8
Сейчас Покупка ×1 6 8 48
72

# 📌 Где используется Affinity-профиль?

  • В стратегиях с алгоритмом User Affinity
  • Для выбора fallback-товаров, если основной алгоритм не дал результата
  • При закреплении товаров (Pin), если нужный SKU не найден
  • В построении аудиторий на основе предпочтений

# 🧱 Требования к фиду

  1. Выбрать атрибуты для сбора предпочтений (color, size, brand…)
  2. Убедиться в:
    • Однородности значений (например: Белый, белыйбелый)
    • Заполненности большинства товаров по этим атрибутам
    • Дискретности значений (ограниченный список, без уникальных ID)

# ⏱ Срок хранения и обновления

  • События хранятся до 180 дней
  • Оценки обновляются автоматически при каждом взаимодействии

# FAQ

# Какие поля можно использовать для построения Affinity-профиля?

Только те, что содержат дискретные значения — например, brand, color, gender, style. Нельзя использовать поля с уникальными или числовыми значениями (например, price, sku, name).

# Где настраиваются поля, участвующие в профиле?

По умолчанию используется categories. Остальные поля настраиваются вручную через Менеджера по Персонализации. Максимум — 10 полей (оптимально — до 5).

# Когда начинается сбор Affinity-профиля?

Сразу после первого действия пользователя на сайте (просмотр, добавление в избранное, в корзину, покупка).

# Какой срок хранения предпочтений?

Данные об интересах пользователя хранятся и участвуют в расчётах до 180 дней.

# Можно ли сбросить или обновить Affinity-профиль вручную?

Нет, профиль обновляется автоматически на основе пользовательских действий.

# Какие действия учитываются?

  • Просмотр товара (Product View)
  • Добавление в избранное (Add to Favorites)
  • Добавление в корзину (Add to Cart)
  • Покупка (Purchase)
  • Просмотр страницы (Page View)

️Фильтрация не учитывается

# Как Affinity влияет на рекомендации?

Affinity используется в:

  • Алгоритме User Affinity (все страницы)
  • Фолбеке, если основной алгоритм не дал результата
  • При выборе товара в Pin, если SKU не найден в фиде или стратегии

# Могут ли быть использованы товары, которых больше нет в наличии?

В Affinity-профиле они учитываются, но при расчёте рекомендаций система исключает товары, у которых in_stock = false, если это указано в настройках стратегии.

# Как Affinity работает на разных устройствах?

Если реализована идентификация пользователя (через cuid) — поведение агрегируется между устройствами.