GH GambleHub

Модели персонализации

Модели персонализации

Персонализация — это система, где данные → модели → политика показа → действие → обратная связь. Цель — максимизировать инкрементальную ценность (доход/удержание/удовлетворенность) при соблюдении ограничений (этика/RG, частотные капы, разнообразие, свежесть, SLA).

1) Данные и представления

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

Фичи:
  • User: RFM, предпочтения категорий, ценовая чувствительность, время суток, устройство.
  • Item: жанр/категория, студия/провайдер, язык, цена/волатильность, «свежесть».
  • Context: dow/hod, промо/ивенты, сессия, канал входа.
  • Эмбеддинги: совместные пространства user/item (MF/Word2Vec2Rec/transformers), мультимодальные (текст/изображения).
  • Качество: point-in-time (без ликов), UTC-время, идемпотентность событий, маскирование PII.

2) Базовые парадигмы

1. Content-based — близость по признакам айтема и профилю пользователя.
2. Коллаборативная фильтрация (CF) — похожие пользователи/айтемы по сигналам взаимодействия.
3. Матричная факторизация / эмбеддинги — скрытые факторы, dot-product/MLP для score.
4. Learning-to-Rank (LTR) — градиентный бустинг/нейросети для ранжирования списков (pairwise/listwise).
5. Re-ranking слоя — post-processing с учетом диверсификации/новизны/ограничений.
6. Контекстные бандиты — онлайн-обучение с exploration-exploitation.
7. RL/seq-рекомендации — оптимизация пути/сессии (многошаговая награда).

3) Конвейер принятия решения

1. Recall (быстрый отбор кандидатов, 200–5k): ANN по эмбеддингам, правил-бейс/категория, популярность.
2. Rank (точный скоринг, 20–200): LTR/MLP с богатыми фичами.
3. Re-rank/Policy (фин. список, 5–30): многоцелевая оптимизация + ограничения и диверсификация.
4. Action: показ/пуш/e-mail/персональная витрина с капами и «тихими часами».
5. Feedback: implicit/explicit сигналы → переобучение/бандит-обновление.

4) Многоцелевые цели и ограничения

Цели: CTR/CTCVR, удержание, выручка, маржа, LTV, удовлетворенность, скорость.
Ограничения: частота контактов, RG/комплаенс, разнообразие категорий, квоты брендов/провайдеров, fairness.

Формулировка:
[
\max \sum_i w_i \cdot \text{Objective}_i \quad
\text{s.t. } \text{caps, RG, diversity, SLA}
]

Практика: делайте policy-aware re-ranking (см. §7), где скор объединен с правилами.

5) Холодный старт и малые данные

Новые пользователи: популярность по сегменту/каналу/гео, контент-based по анкете/первому клику, бандит с широкой разведкой.
Новые айтемы: контент-эмбеддинги (текст/теги), метаданные, «look-alike» по провайдеру/жанру.
Few-shot: перенос эмбеддингов/мульти-задачность (shared tower).

6) Метрики оценки

Оффлайн

Классификация/ранжирование: AUC/PR-AUC, NDCG@k, MAP, Recall@k.
Бизнес: eCPM/eRPM, ожидаемый доход/маржа, LTV proxy.
Многоцелевые: взвешенные метрики (например, NDCG с gain=ценность).
Калибровка: Brier, ECE (для вероятностей).
Списки: coverage/diversity/novelty/serendipity.

Онлайн

A/B и бандитные тесты: CTR, CTCVR, доход/сеанс, удержание D1/D7, жалобы/отписки (guardrails), latency/SLA.
Инкремент: lift %, CUPED/квазиэксперименты при сложной рандомизации.

7) Диверсификация и policy-aware re-ranking

MMR/PM-2/xQuAD: баланс «релевантности × новизны».
Квоты: min/max по жанрам/провайдерам/рисковым категориям.
Fairness: ограничение долей для избежания систематических перекосов.

Пример скоринга:
[
\textstyle \text{Score} = \alpha \cdot \hat{p}_{\text{click}} + \beta \cdot \text{Value} - \gamma \cdot \text{Fatigue} + \delta \cdot \text{Novelty}
]

Гистерезис: не «мигать» списками; обновляйте позиции с инерцией.

8) Контекстные бандиты и RL

Бандиты (LinUCB, Thompson): быстрый online-learn, контроль exploration. Хороши для первой позиции/креатива/канала.
Каскадные бандиты: оптимизация top-k.
RL (DQN/Policy Gradient/SlateQ): сессионная персонализация, оптимизация многошаговой награды (возврат/выручка/долгая сессия).
Безопасность: офф-полиси оценка (IPS/DR), симуляторы, капы на исследование, safe RL.

9) Персонализация под причинный эффект

Uplift-модели: кого стоит трогать (persuadables), Qini/AUUC, uplift@k.
Treatment-aware ранжирование: включайте вероятность инкремента вместо «сырого» CTR.
Guardrails: Do-Not-Disturb сегменты, RG-правила, fairness.

10) Архитектура и MLOps

Feature Store: онлайн/офлайн паритет, point-in-time, TTL для сессионных фич.
Candidate services: ANN/FAISS/ScaNN, кеширование/шардинг по сегментам.
Ranker: градиентный бустинг/MLP/Tower-архитектуры, калибровка.
Policy/Re-rank: правила/ограничения, диверсификация, бандитный слой.
Оркестрация: идемпотентность запросов, p95 latency ≤ 100–300 мс, DLQ/ретраи.
Наблюдаемость: трассировка `correlation_id`, фич-дрифт (PSI), метрики качества, «стоп-кран».

11) Безопасность, приватность, этика

PII-минимизация: токенизация, RLS/CLS, маскирование.
Объяснимость: top-features/причины показа; путь апелляции.
Этика/RG: частотные капы, «тихие часы», запреты на агрессивные офферы у уязвимых групп.
Комплаенс: аудит решений/логов, версии политик и креативов.

12) Паспорта и decision tables

Паспорт рекомендателя (пример)

ID/версия: `REC_HYBRID_RANK_v5`

Recall: ANN (user/item embeddings), top-500

Ranker: LTR-GBM + MLP (features: user RFM, item meta, context)

Re-rank: PM-2 (diversity), квоты брендов, RG-фильтры, частотные капы

Цели/метрики: NDCG@10, eRPM, жалобы≤X, latency p95≤150 мс

А/B: 14 дней, CUPED; guardrails — RG/доставляемость

Владельцы/логирование/рунибук

Decision table (эскиз)

УсловиеКонтекстДействиеОграниченияКомментарий
`new_user` & `low_history`онбордингpopular@segment + content-based seedкапы частоты, RGхолодный старт
`session_len>3` & `diversity_low`сессияre-rank с MMRmin 3 категориисерендипность
`uplift_push≥τ`офферыперсональный пушDo-Not-Disturb, жалобы≤Xэффекты, не CTR

13) Псевдо-код (скетч)

A. Гибридный recall + rank + re-rank

python
Recall cands_emb = ann. recall(user_embed, topk=500)
cands_rule = rule_based. popular_by_segment(user, k=200)
cands = dedup(cands_emb + cands_rule)

Rank features = featurize(user, cands, context)  # user/item/context scores = ranker. predict(features)      # CTR/Value score

Re-rank (policy-aware)
final = rerank(
cands, scores,
constraints=dict(diversity_min={'category':3},
brand_quota={'A':0. 3,'B':0. 3},
rg_filter=True,
freq_caps=per_user_caps(user)),
objective_weights=dict(ctr=0. 6, value=0. 3, novelty=0. 1)
)
return final[:N]

B. Thompson Sampling для креативов

python beta priors per creative: (α, β)
for creative in creatives:
p_hat = np. random. beta(alpha[creative], beta[creative])
chosen = argmax(p_hat)
show(chosen)
update(alpha, beta, reward=click)

14) Диагностика и мониторинг

Качество: NDCG/Recall@k, eRPM, coverage/diversity, калибровка.
Онлайн: CTR/CTCVR, доход/сеанс, удержание, жалобы/отписки, latency/timeout.
Дрейф: PSI/KL по ключевым фичам, падение корреляции офлайн↔онлайн.
Ограничения: выполнение квот/diversity, удары в RG-фильтры, частотные капы.
Рунибуки: деградация recall (падение ANN), рост жалоб, всплеск таймаутов, аварийный фолбэк (popular-safe).

15) Частые ошибки

Оптимизация «сырого CTR» вместо инкремента/ценности.
Нет re-ranking слоя → скудное разнообразие, «туннель зрения».
Лики из будущего, смешение TZ, несогласованные определения сигналов.
Отсутствие калибровки и порогов → «портится» бюджет и частотные капы.
Игнор RG/этики и fairness → жалобы, риски, регуляторные проблемы.
Несинхрон онлайн/офлайн фич → провал в проде.

16) Чек-лист перед релизом персонализации

  • Паспорт модели (цели, ограничения, метрики, владельцы, версии)
  • Recall/Rank/Re-rank разнесены; ANN и кеши прогреты
  • PIT-фичи и калибровка, оффлайн бенчмарки (NDCG/PR-AUC) пройдены
  • A/B-дизайн и guardrails; отчет decision-ready (эффект и риски)
  • Ограничения: RG/частота/diversity/квоты — внедрены и мониторятся
  • Наблюдаемость, алерты, «стоп-кран», фолбэки (popular-safe)
  • Документация и рунибуки, план инкрементальных улучшений

Итог

Модели персонализации эффективны только как policy-aware система: богатые данные и эмбеддинги → гибрид Recall/Rank/Re-rank → бандиты/RL для онлайн-адаптации → многоцелевые цели под жесткие ограничения и этику → дисциплинированный MLOps и мониторинг. Такой контур дает не только «рекомендации», а управляемые решения, повышающие ROMI, LTV и удовлетворенность — безопасно, прозрачно и воспроизводимо.

Contact

Свяжитесь с нами

Обращайтесь по любым вопросам или за поддержкой.Мы всегда готовы помочь!

Telegram
@Gamble_GC
Начать интеграцию

Email — обязателен. Telegram или WhatsApp — по желанию.

Ваше имя необязательно
Email необязательно
Тема необязательно
Сообщение необязательно
Telegram необязательно
@
Если укажете Telegram — мы ответим и там, в дополнение к Email.
WhatsApp необязательно
Формат: +код страны и номер (например, +380XXXXXXXXX).

Нажимая кнопку, вы соглашаетесь на обработку данных.