Этот проект представляет собой исследование предиктивной аналитики с использованием классических моделей машинного обучения (Logistic regression, Decision Trees). Цель исследования — изучить факторы, влияющие на вероятность возврата заказа в сфере доставки еды (foodtech).
Используется датасет Call Center Restaurant Orders Dataset, содержащий данные о 72,314 заказах с информацией по времени оформления, стоимости заказа, чаевых, скидок, времени доставки и информации о возврате.
На основе данных о заказах выявить ключевые факторы, влияющие на вероятность возврата средств клиентом, и построить модель машинного обучения, способную прогнозировать такие случаи. Проанализировать зависимости и изобразить их
Источник данных:
restaurant-orders.csv — данные о заказах нескольких ресторанов, включая информацию о времени, стоимости, доставке и возвратах.
| Параметр | Значение |
|---|---|
| Количество строк | 72,314 |
| Количество столбцов | 17 |
| Пропущенные значения | Есть (в полях времени прибытия курьера и передачи заказа ресторану) |
| Поле | Описание |
|---|---|
Date |
Дата оформления заказа |
Time customer placed order |
Время, когда клиент оформил заказ |
Time driver arrived at restaurant |
Время, когда курьер прибыл в ресторан |
Delivery time |
Общее время доставки |
Driver ID / Driver Name |
Идентификатор и имя водителя |
Restaurant ID / Customer ID |
Уникальные идентификаторы ресторана и клиента |
Delivery Area |
Город доставки (Fremont, Hayward, Union City) |
ASAP |
Флаг "Как можно скорее" |
Sub Total |
Стоимость заказа |
Delivery Fee / Service Fee |
Стоимость доставки и сервисный сбор |
Discount |
Размер скидки |
Tip |
Чаевые |
Refunded amount |
Сумма возврата |
-
Предобработка данных:
- Удалены нерелевантные поля (ID водителя, имени водителя, ID ресторана).
- Преобразованы типы данных (время, стоимость).
- Обработаны пропуски.
- Устранены аномалии (например, заказы со стоимостью 0).
-
Анализ данных (EDA):
- Исследование распределения классов (возврат/не возврат).
- Анализ временных характеристик (время заказа, время доставки).
- Изучение корреляций между суммой заказа, чаевых, скидок и возвратами.
- Выбросы были обработаны методом обратного преобразования и категоризации.
-
Feature Engineering:
- Создание новых признаков (например, категоризация времени суток).
- Нормализация числовых признаков.
- Категоризация процентных показателей (чаевые, скидки).
-
Моделирование:
- Построена логистическая регрессия и деревья решений.
- Подбор гиперпараметров с помощью
GridSearchCV. - Оценка качества моделей через F1-score и ROC-AUC.
- F1-score: ~0.28
- ROC-AUC: ~0.61
- Ключевые признаки: цена заказа (
sub_total), время доставки, время оформления заказа.
- F1-score: ~0.25
- ROC-AUC: ~0.59
- Ключевой признак: цена заказа.
- Наиболее значимым фактором, влияющим на вероятность возврата, является стоимость заказа.
- Также выявлена слабая связь с временными характеристиками (например, заказы, оформленные вечером, имеют немного более высокую вероятность возврата).
- Все модели показали умеренную эффективность, что может быть связано с несбалансированностью классов и шумом в данных.
- Самый важный признак — это стоимость заказа. Чем выше цена, тем выше вероятность возврата.
- Временные параметры оказывают второстепенное влияние.
- Для повышения точности модели необходимы дополнительные данные, например, информация о причинах возврата или отзывы клиентов.
- Полученные результаты могут быть интересны для дальнейших исследований в области foodtech и управления рисками в онлайн-доставке.
pip install pandas numpy matplotlib seaborn scikit-learn scipy statsmodelsML-Delivery-Refund-Research/
├── restaurant-orders.csv # исходный датасет
├── notebook.ipynb # Jupyter Notebook с анализом и моделью
└── README.md # текущий файл
- Склонируйте репозиторий:
git clone https://github.com/PigStep/ML-Delivery-Refund-Research.git- Откройте
notebook.ipynbв Jupyter Notebook. - Убедитесь, что
restaurant-orders.csvнаходится в той же директории.