Skip to content

Akarinokadze/cli_and_git

Repository files navigation

Прогнозирование оттока клиентов в сети отелей «Как в гостях»

Описание исследования

Заказчик исследования — сеть отелей «Как в гостях». Чтобы привлечь клиентов, сеть отелей добавила на свой сайт возможность забронировать номер без предоплаты. Однако если клиент отменяет бронирование, то компания терпит убытки. Сотрудники отеля могут, например, закупить продукты к приезду гостя или просто не успеть найти другого клиента. Чтобы решить эту проблему, нам нужно разработать систему, которая предсказывает отказ от брони. Если модель покажет, что бронь будет отменена, то клиенту предлагается внести депозит. Размер депозита — 80% от стоимости номера за одни сутки и затрат на разовую уборку. Деньги будут списаны со счёта клиента, если он всё же отменит бронь.

Для обучения будем использовать две модели на ансамблях:

  • RandomForestClassifier
  • AdaBoostClassifier

Линейную модель:

  • LogisticRegression

Модель на методе опорных векторов:

  • LinearSVC

Исходные данные

Нам предоставленны различные данные о клиентах отеля за период 3 года.

Итоги исследования

Мы подготовили и очистили данные. Подобрали метрики и написали функции необходимые для решения задачи.

Проанализировали ряд моделей машинного обучения с учителем.

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

Выбор конкретной модели для работы зависит от приоритетов стоящих перед бизнесом.

Если нужно максимизировать прибыль - подойдёт модель LinearSVC.

Если нужно минимизировать неоправданные залоги, которые могут отпугнуть клиентов - модель AdaBoostClassifier.

Сбалансированное решение - модель RandomForestClassifier.

Признак is_repeated_guest хорошо коррелирует одновременно и с previous_cancelations и с previous_bookings_not_canceled, вероятно, речь о бизнес клиентах, для которых характерны частые отмены при изменении планов, но которые предпочитают останавливаться в одном и том же месте. Данные клиенты, зная что вероятность отмены всегда есть, станут фактором снижения доходов от введения системы залогов. Таких клиентов стоит перевести в отдельную категорию, которую не будет касаться система залогов.

Таким образом можно резюмировать что машинное обучение может существенно увеличить выручку при грамотном применении и отбить затраты на введение системы оценки рисков, но при этом настоятельно рекомендуется провести А/В тест и выяснить какой процент от клиентов в действительности откажется от брони если система потребует таковую. Это поможет минимизировать риски и выбрать оптимальную по доходности модель.

Используемый стек

Jupyter Notebook

Python - pandas, numpy, seaborn, os, tqdm, matplotlib, pandas_profiling, statsmodels, sklearn

About

CLI and Git project for practicum

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published