Skip to content

Оптимизация с помощью Pyomo для задачи выбора каналов коммуникации с клиентами на основе откалиброванных скоров моделей и ограничений по числу коммуникаций в каждом из каналов

Notifications You must be signed in to change notification settings

LazarevaL/Marketing_oprimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Этапы решения

  • скоринг
  • оптимизация

Скоринг - построение 4 моделей по каждому продукту и каналу коммуникации

  • модель credit - sms
  • модель credit card - sms
  • модель credit - call
  • модель credit cad - call

Данные состоят из id клииента и 60 обезличенных фичей и таргета - 1/0.

Задача

Построить модели классификации для каждого канала коммуникации + продукта, оценить их качество по метрике точности, f1 и recall

Решение

Были использованы библиотеки XGBoost и CatBoost, произведен отбор признаков по важности, построены ROC-кривые для тренирочной и валидационной выборке и рассчитаны необходимыые метрики

Next Best Offer - оптимизация каналов коммуникации по каждому продукту

Данные состоят из:

  • id клиента
  • продукта: credit card или credit
  • канала коммуникации: call или sms
  • score: вероятность успешного результата коммуникации с клиентом (скор модели из предыдущего этапа)
  • optimal_decision: 1 или 0, произошла коммункация или нет

Ограничения по каналам коммуникации:

call < 4000

sms < 7000

Задача

Максимизировать успешные коммуникации с клиентами с учетом ограничений по каналам коммуникации для каждого продукта.

Решение

Оптимизация реализована с помошью библиотеки pyomo и солвера CBC для задачи целочисленного линейного программирования.

About

Оптимизация с помощью Pyomo для задачи выбора каналов коммуникации с клиентами на основе откалиброванных скоров моделей и ограничений по числу коммуникаций в каждом из каналов

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published