Cashback ML

Минимальный контейнерный сервис с описанием ML-задач для персонального кэшбэка и контролем бюджетных инвариантов.

API

ML-задачи

# ML-задачи для сервиса персонального кэшбэка

## 1. Скоринг интереса к категориям

Цель: оценить вероятность, что клиент выберет категорию и начнет в ней тратить.

Что предсказываем:
- вероятность выбора категории;
- ожидаемую активность после выбора;
- ожидаемый прирост оборота относительно базового сценария.

Какие признаки использовать:
- история MCC и трат по категориям;
- частота, давность и сезонность покупок;
- реакция на прошлые промо-механики;
- признаки чувствительности к размеру ставки;
- контекст: сегмент, канал, период, лимиты клиента.

Выход модели:
- скор по каждой категории;
- вклад факторов для explainability;
- доверительный интервал прогноза.

## 2. Прогноз стоимости кэшбэка

Цель: оценить ожидаемый cost предложения до выдачи оффера клиенту.

Что считаем:
- ожидаемый cashback payout;
- вероятность выхода в верхнюю границу диапазона ставки;
- ожидаемый оборот внутри периода акции;
- cost per incremental ruble.

Как использовать:
- в ранжировании офферов;
- в серверной проверке бюджетов;
- в резервном сценарии при дефиците бюджета.

## 3. Оптимизация назначения офферов под бюджет

Цель: выбрать набор категорий и ставок так, чтобы не нарушать бюджетные инварианты.

Постановка:
- вход: кандидаты категорий, скор интереса, прогноз cost, глобальные и категорийные бюджеты;
- выход: набор назначений клиенту с максимальной ожидаемой ценностью;
- ограничения: бюджет категории, общий бюджет, диапазон допустимой ставки, лимиты на число категорий.

Подходы:
- жадное ранжирование по value / cost;
- квоты по сегментам;
- аукцион слотов между категориями;
- оптимизация на горизонте кампании с daily caps.

## 4. Механизм резервного сценария

Цель: формально обработать случаи, когда бюджет категории исчерпан.

Что должен делать ML/decisioning:
- заранее оценивать риск исчерпания бюджета;
- переводить клиента на fallback-категории;
- предлагать безопасную ставку внутри допустимого диапазона;
- объяснять причину замены без ощущения "обмана".

## 5. Персонализация игровых механик

Цель: подобрать не только категории, но и формат взаимодействия.

Что оптимизируем:
- шанс завершения механики;
- удержание до следующего периода;
- приемлемый уровень cost;
- честность и понятность правил для клиента.

Примеры объектов персонализации:
- число доступных категорий;
- размер буста;
- режим риска;
- миссии и пороги прогресса;
- социальные или кооперативные сценарии.

## 6. Explainability для бизнеса и клиента

Цель: сделать персонализацию объяснимой и проверяемой.

Нужно уметь показывать:
- почему категория попала в предложение;
- почему ставка не максимальная;
- какие ограничения сработали;
- почему часть механики недоступна;
- какой fallback был применен и по какому правилу.

## 7. Мониторинг качества и экономики

Цель: контролировать не только ML-метрики, но и бизнес-эффект.

Онлайн-метрики:
- take rate;
- uplift в обороте;
- payout;
- расход бюджета по категориям и в целом;
- доля переходов на fallback;
- ошибка прогноза cost;
- доля конфликтов/отказов по серверным ограничениям.

Оффлайн-метрики:
- AUC / logloss / calibration для вероятности выбора;
- MAPE / MAE для прогноза cost;
- regret относительно базовой стратегии;
- fairness по сегментам.

## 8. Эксперименты и контур обновления моделей

Цель: безопасно обновлять персонализацию в production.

Нужно заложить:
- offline validation;
- champion/challenger;
- A/B по механикам и policy;
- versioning признаков, моделей и decision policy;
- аудит причин назначения оффера.

## 9. Антифрод и защитные эвристики

Цель: не допускать механик, которые можно эксплуатировать.

Что отслеживать:
- аномальный рост транзакций в акционной категории;
- циклические или дробленные покупки;
- всплески возвратов;
- признаки арбитража между картами/клиентами;
- подозрительное поведение в игровых механиках.

## 10. Рекомендуемый ML backlog

### MVP

1. Сбор датасета клиент x категория x период.
2. Бейзлайн-модель вероятности выбора категории.
3. Бейзлайн-прогноз payout/cost.
4. Серверный allocator с жесткой проверкой бюджетов.
5. Fallback policy при исчерпании бюджета.
6. Аудит логики назначения и причин отказа.

### Next

1. Uplift-модель для оценки инкрементального оборота.
2. Контекстный bandit или constrained ranking.
3. Персонализация игровой механики.
4. Risk/fraud-модуль.
5. Автоматическое перераспределение квот в течение периода.