SAP F&R (Forecasting & Replenishment) – это система планирования заказов и прогнозирования спроса для формирования проектов заказа на уровне магазин-поставщик. Система входит в состав решения SAP SCM (Управление цепочками поставок) и внедряется в двух вариациях:

  • SAP F&R SCM – внедрение с бесшовной интеграцией с SAP-системами;
  • SAP F&R OI – система для интеграции с неSAP-системами.

В данном посте рассмотрены возможности расчета среднего прогноза в системе SAP F&R.

Средний прогноз в терминологии SAP F&R — это такое значение объема товара на местоположении, которое с вероятностью в 50% удовлетворит спрос клиентов в магазине, или, другими словами, позволит обеспечить уровень клиентского сервиса = 50%.

Для того, чтобы избежать потерянных продаж, целевой уровень клиентского сервиса, как правило, планируется не ниже 95%. Это означает, что в 95 случаев из 100 клиент купит в магазине то, что планировал. Обеспечение высокого уровня сервиса в SAP F&R производится посредством страховой надбавки к среднему прогнозу, которая зависит не только от целевого уровня сервиса, но и от вариативности прошлых значений продаж товара. Таким образом в системе формируется максимальный прогноз продаж, объема которого будет достаточно для минимизации запаса на складе или в магазине (а, значит, вывода замороженного в запасах капитала) и соблюдения целевого уровня клиентского сервиса.

Для построения среднего прогноза в системе SAP F&R используются модели прогнозирования продаж, учитывающие не только статические данные расхода, но и влияние внешних факторов, таких как календарные события или промо-акции. Эффект от таких факторов может быть задан как вручную, так и выявлен системой в прошлом автоматически. Таким образом, при формировании прогнозной модели временного ряда как в прошлом, так и в будущем, SAP F&R использует данные о возможном изменении прогнозируемого значения и накладывает эффект от внешнего фактора на сглаженный ряд.

image


Как видно на рисунке, при формировании прогнозной модели в прошлом, SAP F&R явно выявила сезонные колебания продаж и пиковые всплески в предновогодний период. Тем не менее, не каждые исторические данные изменяются закономерно, и очень часто при прогнозировании можно столкнуться с ситуацией ниже:

image


Как в подобном случае считать средний прогноз, чтобы его достоверность была достаточно высокой?

image


Подобные временные ряды являются случайным распределением Пуассона, поэтому вероятность того, что объем продаж составит m штук, рассчитывается по формуле:

image


Несмотря на то, что ряды Пуассона очень легко увидеть – их достаточно сложно определить. В приведенном примере значение m является наилучшим прогнозным значением (прогноз А). Нулевые прогнозируемые значения (или единица для последнего случая) – являются медианой данного временного ряда, т.е. 50% вероятностью удовлетворения спроса клиентов (прогноз В).

Для определения наиболее релевантного значения прогноза произведем проверку ошибки прогноза при использовании распределения Пуассона и медианы для расчета средних продаж по формуле wMAPE – средневзвешенной абсолютной ошибки в процентах:

image


Таким образом получаем ошибку прогноза:

image


В каждом случае прогноз с ошибкой wMAPE ниже ожидаемого. Поэтому использование wMAPE в данном случае практически всегда приводит к неправильному результату.

Тогда прибегнем к расчету ошибки по формулам MSE (средняя квадратичная ошибка) и sRMSE (корень из средней квадратичной ошибки). Для расчета средней квадратичной ошибки используем формулу:

image


Результаты следующие:

image


В данном случае использование вероятности получения значения по распределению Пуассона для прогнозирования более предпочтительно. Теперь рассчитаем ошибку по формуле sRMSE, используя формулу:

image


Результаты следующие:

image


Таким образом, очевидно, что систематическое использование расчета ошибки по методу wMAPE приводит к снижению точности прогноза, и при обнаружении распределения Пуассона нецелесообразно оценивать ошибку по таким методам, как wMAPE, MAE (средняя абсолютная ошибка), MAD (среднее абсолютное отклонение), MASE (средняя абсолютная масштабированная ошибка).

Вывод


Подобный эффект часто проявляется при прогнозировании продаж товаров с низкой скоростью оборачиваемости (менее 0.2 штуки в день). При подобной оборачиваемости наилучшими методами оценки ошибки прогнозирования продаж являются MSE и sRMSE. При этом, необходимо помнить о постоянном мониторинге уровня товарных запасов и оценке дефицита товара, ведь точность прогнозирования – это всего лишь средство.
Поделиться с друзьями
-->

Комментарии (9)


  1. gaploid
    17.08.2016 00:03
    +1

    Добрый день,
    А сколько нужно накопить данных, что бы магия начала работать и предсказательная машинка — F&R начала выдавать удовлетворительные результаты? И может ли данная система делать прогнозы по товарам, которые еще ранее не продавались, к примеру находить схожие патерны с уже продаваемыми товарами и на основе этого делать прогноз?


    1. AlliePushkova
      17.08.2016 11:35

      В среднем 2 года нужно.
      Для товаров-новинок недавно выпущено обновление, которое позволяет автоматически находить товары предшественники. Ранее, как уже описали выше, была возможность только вручную приклеивать историю товара предшественника в хвост товару-новинке, либо искусственно проектировать историю продаж на базе нескольких товаров, и подавать ее, как историю товара-новинки.


    1. abark77
      17.08.2016 11:36

      чтобы прогноз начал считаться умнее чем просто по-среднему нужно хотя бы полгода данных, чтобы учитывалась сезонность продаж хорошо бы иметь год-два последних продаж, больше двух последних лет иметь бессмысленно.
      Можно явно указывать товар-предшественник, с которого берется его история продаж до того момента пока не появятся продажи самого товара. Автоматически угадывать аналог система не умеет.


  1. Dreamastiy
    17.08.2016 16:44

    Можете показать, как на самом деле повели себя продажи на 1 графике?

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


    1. AlliePushkova
      17.08.2016 18:05

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

      19 неделя 2015: спрос покрыт
      image

      52 неделя 2014: сезонность еще не распознана, спрос покрыт
      image

      Обратите внимание, что необъясненные пиковые значения продаж корректируются системой (красная линия).

      По поводу второго вопроса: для данного товара был выбран метод прогнозирования, основанный на векторной регрессии. Этот метод учитывает сезонность, тренд и адаптивность (более новые наблюдения имеют большую значимость при прогнозировании, чем более старые). В системе при прогнозировании для каждой комбинации товар-магазин срабатывает автоматическая калибровка параметров модели прогнозирования. Ее суть заключается в том, что F&R перебирает различные комбинации значений параметров прогнозной модели (в т.ч. и адаптивности) и осуществляет сравнение прогноза, выполненного с данными значениями параметров, с фактическими продажами в течение нескольких недель (их количество задается в настройках системы).

      Например, тут сезонность такая же явная, но прогноз не «копирует» поведение сглаженного ряда с предыдущих лет:

      image


  1. fowler
    17.08.2016 20:49

    При разработке системы автозаказа как-то пришлось перепробовать массу вариантов. Лучшим (и на практике, и в теоретическом объяснении) был такой:
    1) взять продажи за последнюю неделю и найти по ним медиану
    2) выставить верхнюю доверительную границу медианы (95%): использовал формулу для среднего выборки, но вместо среднего ставил медиану. По сути, это и будет необходимый запас товара на день, который покроет спрос.
    3) если товарного запаса не хватает на время, необходимое для доставки — дозаказать полуторакратное количество от необходимого на этот период (это чтобы поставщика не гонять слишком часто)

    Тут медиана позволяет избежать случайных всплесков (как и у вас), но при этом реагирует на начало и конец сезона где-то за 4 дня, автоматически и не смотря на предыдущие сезоны.

    Система отлично себя показывала на исторических данных как для товаров, которые продаются по 4 шт. на месяц, так и для тех, что берут по 6 шт. на день. Жаль, в применение не пошла…


    1. AlliePushkova
      17.08.2016 21:03

      Было бы интересно взглянуть на результат :)


      1. fowler
        18.08.2016 09:18

        По двум товарам
        Продажи по правой шкале, текущий остаток и точки заказа с объемом — по левой.



  1. fowler
    18.08.2016 09:17

    del