Skip to content

pcm-systems/SberAvtopodpiska_Site_Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

SberAvtopodpiska_Site_Analysis

Анализ сайта СберАвтоподписка

Цель проекта:

Компания «СберАвтоподписка» хочет увеличить эффективность сайта:

  • улучшить пользовательский опыт
  • повысить конверсию
  • сделать рекламные кампании более результативными Для этого требуется создать модель, которая предсказывает вероятность того, что пользователь совершит целевое действие (оставит заявку, закажет звонок и пр.) на сайте.

Что было сделано:

Работа была проведена для анализа сайта "СберАвтоподписка" на основе данных предоставленных в рамках проектного практикума.

Для решения задачи были использованы различные подходы по заполнению пропусков в данных:

  • Были выявлены значения признаков (not set) и (none), которые при первичном анализе не были выявлены как NaN значения
  • Были заполнены пропуски в признаках utm_sourse и utm_medium на основе данных о клиентах.
  • Данные в признаке device_screen_resolution были заполнены модальными значениями категорий устройств.
  • Признаки содержащие пропуски более чем в 50% данных были удалены.

В качестве целевой переменной были определены категории even_action, относящиеся к целевой переменной и выбраны наиболее полезные для анализа пользователей.

Для обработки данных был собран конвеер - pipeline. Он включает в себя:

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

Для оценки зависимость признаков и целевой пререрменной использовался:

  • Корреляционная матрица
  • Алгоритм Mutual Info
  • Метод главных компонент (PCA)

Выбор модели и оценка метрик происходила с помощью кросс-валидации и тестировалась на моделях:

  • Логистической регрессии
  • Случайного леса
  • CatBoost'а

Согласно заданию значение метрики ROC-AUC 0.65 было достингнуто и превышено на всех выбранных моделях. Однако наилучшие результаты показала модель CatBoost со значением метрики ROC-AUC в 0.76. Эта модель была включена в новый конвеер обработки данных и сериализована для дальнейшей работы.

Архитектура проекта:

Проект построен на микроархитектуре с использованием Docker Compose и включает в себя четыре контейнера:

  • Web API
  • Telegram Bot API
  • RabbitMQ
  • CatBoost Model

Взаимодействие между API и моделью происходит через очередь для каждого из способов взаимодействия.

Web API работает на локальном адресе http://127.0.0.1:8000

Telegram bot - https://t.me/HahatonVangaBot

архитектура

Установка:

Установка осуществляется с помощью команд Docker Compose:

docker-compose build

docker-compose up -d

Содержание репозитория:

  • SberAvtopodpiska_Site_Analysis.ipynb - блокнот с подготовкой данных, разведочным анализом (EDA), оценкой модели ML и сериализацией pipeline
  • project - основной проект, включает в себя:
    • model - код и файлы контейнера модели
    • telegram_bot_api - код и файлы контейнера телеграм бота
    • web_api - код и файлы контейнера web интерфейса

About

Анализ сайта СберАвтоподписка

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published