/online_store_sales_forecasting

test from a online store

Primary LanguageJupyter Notebook

Название проекта: Прогнозирование продаж интернет-магазина

Статус проекта: завершён

Описание проекта


Разработка ML-модели для прогнозирования спроса номенклатур с различной частотой реализации

Цель проекта

Поиск модели, способной прогнозировать две номенклатуры с приемлемой точностью на 30-40 дней вперёд:

  • Высокочастотная номенклатура, срок прогнозирования — 40 дней
  • Низкочастотная номенклатура, срок прогнозирования — 30 дней

Метрика


Клиент оценивает качество прогнозирования по метрике: $$buying,score = (1 + \hat{y})/(1 + y)$$
Перезакуп (более вреден): buying score > 1
Недозакуп: buying score < 1

Ход исследования

  • Предобработка данных
  • Исследование данных
  • Подготовка данных для получения прогноза
  • Обучение модели
  • Визуализация результатов
  • Выводы

Используемые инструменты

  • python
  • pandas
  • numpy
  • matplotlib
  • seaborn
  • scikit-learn
  • statsmodels
  • prophet

Заключение:

  • проведён анализ предоставленных данных
  • выявлена их сезонность и тренд
  • выбрана модель для обучения
  • получены предсказания
    • для высокочастотной номенклатуры получена метрика buying_score: 0.83
    • при расчёте использовано среднее значение между прогнозом и нижней границей доверительного интервала,
      т.к. по условию лучше недозакуп: buying score < 1
    • для низкочастотной номенклатуры получена метрика buying_score: 0.99
  • для прогнозирования продаж высокочастотной номенклатуры подойдёт модель Prophet
  • для прогнозирования продаж низкочастотной номенклатуры нужны дополнительные данные, например -
    срок изготовления продукта, его срок поставки.
    Возможно, прогнозировать продажи этого товара и не требуется: его можно привозить клиенту под заказ.