Skip to content

Latest commit

 

History

History
87 lines (66 loc) · 7.43 KB

task.md

File metadata and controls

87 lines (66 loc) · 7.43 KB

Постановка задачи

Что прогнозируется

Недельный спрос на каждую позицию номенклатуры на каждой базе сети на 1–4 недели вперёд.

Формально: для ряда i = (база, позиция) и недели t, последней известной на момент прогноза, нужно оценить продажи yi, t+h в единицах товара для горизонтов h = 1, 2, 3, 4. Оценка строится только по данным, известным к концу недели t: истории продаж, календарю и справочникам.

Параметр Значение
Объект прогноза пара «база × позиция», 3 347 рядов
Шаг календарная неделя с понедельника
Горизонт 1–4 недели, отдельная модель на каждый
Целевая величина продажи по выполненным заказам в единицах товара (м, шт., листы, рулоны, упаковки, кг)
История 260 полных недель: 04.10.2021 — 27.09.2026

Дипломная работа 2024 года

Проект вырос из выпускной квалификационной работы «Разработка приложения для анализа и прогнозирования продаж организации» (ТГУ, 2024): приложение на случайном лесе строило прогноз месячной выручки и продаж по пяти категориям на 3, 6 или 12 месяцев. Пересказ работы и разбор того, что с тех пор пересмотрено, — в diploma.md.

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

Почему именно так

Спрос по позициям, а не выручка по категориям

В дипломной работе 2024 года прогнозировалась месячная выручка и продажи по пяти укрупнённым категориям. Такой прогноз полезен для отчётности, но на его основе нельзя принять ни одного операционного решения: нельзя понять, сколько арматуры 12 мм заказать на Юнгородок или сколько профнастила переместить на минимаркет. Решения о закупках и перемещениях принимаются по конкретной позиции на конкретном складе, поэтому и прогноз нужен на этом уровне.

Количество, а не выручка, выбрано потому, что выручка — произведение количества на цену, а цена металлопроката заметно колеблется вслед за биржевыми ценами. Прогноз выручки смешивает две задачи: прогноз спроса и прогноз цены. Склад работает с количеством.

Неделя, а не день или месяц

  • День слишком шумный: по большинству позиций продажи в отдельный день — ноль или единичная покупка, а дневной ритм (будни, выходные) для закупок не важен.
  • Месяц даёт за пять лет всего 60 точек на ряд — мало для обучения — и не совпадает с циклом пополнения: поставщики привозят металл за 2–10 дней, а минимаркеты получают перемещения с хаба в среднем 1–2 раза в неделю.
  • Неделя совпадает с ритмом планирования закупок, сглаживает дневной шум и даёт 260 точек на ряд.

Горизонт 1–4 недели

Горизонт определяется тем, на что прогноз может повлиять. Заказ поставщику, сделанный сегодня, приходит через 2–10 дней (поле suppliers.lead_time_days), перемещение с хаба — быстрее. Прогноз на 1–4 недели покрывает срок поставки и следующий за ним цикл заказа. Более длинные горизонты нужны для бюджетирования, но там уместнее прогноз на уровне категорий, а не позиций.

Одна задача — много рядов

3 347 рядов нельзя настраивать по одному вручную, а у большинства из них продажи прерывистые: в 59 % недель продаж нет (см. датасет). Поэтому задача ставится как прогноз для панели рядов одной общей моделью — см. выбор модели.

Чего в задаче нет

  • Прогноза цены и выручки — по причинам, описанным выше.
  • Восстановления спроса при дефиците. В данных есть недели, когда товар закончился и продажи упали до нуля. Модель обучается на продажах, то есть на спросе, ограниченном остатком. Это главное известное ограничение — см. результаты.
  • Оптимизации запасов — расчёта точки заказа и страхового запаса. Прогноз — вход для такой задачи, но сама она в проект не входит.

Связь с остальными документами

Документ Содержание
diploma.md дипломная работа 2024 года и что в ней пересмотрено
dataset.md откуда данные и почему они синтетические
database.md модель данных учётной системы в PostgreSQL
preprocessing.md недельная панель, признаки, защита от утечки будущего
model.md выбор модели и схема проверки
metrics.md метрики, результаты, ограничения
testing.md юнит-тесты
application.md архитектура приложения и точки входа
references.md литература