Skip to content

PigStep/ML-Delivery-Refund-Research

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ML Food Delivery Refund Classification Research

О проекте

Этот проект представляет собой исследование предиктивной аналитики с использованием классических моделей машинного обучения (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 Сумма возврата

Основные этапы работы

  1. Предобработка данных:

    • Удалены нерелевантные поля (ID водителя, имени водителя, ID ресторана).
    • Преобразованы типы данных (время, стоимость).
    • Обработаны пропуски.
    • Устранены аномалии (например, заказы со стоимостью 0).
  2. Анализ данных (EDA):

    • Исследование распределения классов (возврат/не возврат).
    • Анализ временных характеристик (время заказа, время доставки).
    • Изучение корреляций между суммой заказа, чаевых, скидок и возвратами.
    • Выбросы были обработаны методом обратного преобразования и категоризации.
  3. Feature Engineering:

    • Создание новых признаков (например, категоризация времени суток).
    • Нормализация числовых признаков.
    • Категоризация процентных показателей (чаевые, скидки).
  4. Моделирование:

    • Построена логистическая регрессия и деревья решений.
    • Подбор гиперпараметров с помощью 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 statsmodels

Структура проекта:

ML-Delivery-Refund-Research/
├── restaurant-orders.csv     # исходный датасет
├── notebook.ipynb            # Jupyter Notebook с анализом и моделью
└── README.md                 # текущий файл

Инструкция:

  1. Склонируйте репозиторий:
git clone https://github.com/PigStep/ML-Delivery-Refund-Research.git
  1. Откройте notebook.ipynb в Jupyter Notebook.
  2. Убедитесь, что restaurant-orders.csv находится в той же директории.

About

ML food delivery refund classfication research. Based on restourant delivery dataset

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors