Skip to content

Командное задание на летней школе МТС Тета

Notifications You must be signed in to change notification settings

flashlight101/teta_summer_school_uplift_x5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Командное задание на летней школе МТС Тета

1. Выбор проекта

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

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

Зная параметры клиентов мы сможем создать сервис, который будет автоматически определять, стоит ли компании как-либо взаимодействовать с клиентом.

2. Бизнес и математическая постановка задачи

Цель проекта - Нам необходимо разработать сервис, который предсказывает, следует ли отправлять текстовое сообщение клиенту.

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

В качестве бизнес метрики мы будем использовать: Доход = количество клиентов * средний чек

Оценивать бизнес метрику мы будем на всех клиентах

Для решения поставленой задачи мы построим uplift модель.

drawing

Принято выделять 4 типа клиентов реакции на коммункацию:

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

Мы будем использовать uplift модель для того, чтобы выделить только убеждаемых клиентов.

В нашей задаче мы будем использовать метрику uplift@k, которая представляет собой размер uplift на топ k процентах выборки. Значение k будет зависеть от бюджета, который есть для коммуникации с клиентами.

Таким образом мы сформулировали бизнес и математическую задачу, определили необходимые метрики для каждой из них.

3. Выбор набора данных

В этом проекте используются данные, предоставленные платформой ods.ai: X5 Retail Hero: Uplift Modeling for Promotional Campaign, с помощью которых предсказывается, насколько можно увеличить вероятность покупки в результате отправки рекламного SMS.

В данных содержится информация о клиентах и история покупок клиентов до коммуникации.

Информация о клиентах: пол, возраст, first_redeem_date, first_issue_date

История покупок: дата покупки, id магазина, список купленных товаров, стоимость каждого товара, количество начисленных и потраченных бонусных баллов

4. Валидация данных и оценка потенциала

Исследование данных и построение baseline модели приведено в ноутбуке uplift_eda.ipynb, ссылка для удобного просмотра в браузере: nbviewer

Чтобы оценить качество модели, мы сделали отложенную выборку (hold-out) в 30%. Так как данных у нас много, кросс-валидация вычислительно дорогостоящий метод, поэтому использовать его нецелесообразно.

Мы исследовали данные и построили baseline модель, поэтому можем переходить к оценке экономического эффекта

5. Оценка экономического эффекта

Для визуализации оценки экономического эффекта составим таблицу:

Сценарий Расходы Доход Прибыль
Никак не взаимодействовать с клиентами ➡️ ➡️ ➡️
Провзаимодействовать со всеми клиентами ↗️ ➡️ ↘️
Взаимодействовать только с убеждаемыми клиентами ↘️ ↗️ ↗️

Логично, что при улучшении качества нашей модели, расходы снизятся. Алгоритм все лучше и лучше будет ранжировать убеждаемых клиентов, на которых мы хотим сосредоточиться. За счет этого, прибыль с маркетинговой компании увеличится.

6. Разработка и валидация ML модели

Разработка и валидация ML модели ссылка на nbviewer

7. Разработка Demo stand

В качестве демо стенда используется связка streamlit и heroku. Данные подгружаются в виде csv файла определенной структуры, пример указан на самом стенде. Ссылка на сам стенд. Ссылка на репозиторий стенда.

Установка

git clone https://github.com/flashlight101/teta_summer_school_uplift_x5.git
cd teta_summer_school_uplift_x5
pip install -r requirements.txt

Команда

  • Безмен Евгений
  • Евгений Туров
  • Петрик Ярослав
  • Шаймухаметов Ильяс

About

Командное задание на летней школе МТС Тета

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published