Почему нужно прогнозировать товарные запасы, а не спрос?

16 июля 2018

Большинство российских компаний используют методы прогнозирования спроса, которые устарели 10-15 лет назад: экспоненциальное сглаживание, ARIMA, скользящая средняя, метод Хольта-Винтерса и другие. Они не только морально устарели, но и не являются эффективными при решении задачи управления запасами для 94% ассортимента продуктового сегмента и для почти всех товаров непродуктового, что доказано многими научными исследованиями (см. научная справка). В результате компания теряет от 20 до 40% оборотных средств из-за излишков на складе и до 5-10% выручки из-за дефицита. Все дело в том, что на выходе эти методы предлагают какое-то одно число, что зачастую похоже на гадание на кофейной гуще. Страховой запас добавляется или «на глаз» или по стандартным распределениям спроса, которые попросту не соответствуют этим товарам. Сейчас нам доступны кратно большие вычислительные ресурсы, которые делают доступными применение новых методик прогнозирования 4-го поколения.

Рис 1. Развитие алгоритмов прогнозирования.

Чтобы алгоритмы 4-го поколения были эффективными, они должны работать на корректных исторических данных и быть понятны сотрудникам. Прошлая статистика продаж не отражает базовую динамику спроса и требует очистки от дефицитных периодов, всплесков из-за маркетинговых акций, разовых крупных продаж и т.д. Оценка точности работы таких методов также отличается и производится в терминах экономических потерь компании, а не статистических ошибок MAPE или RMSE, которые непонятны бизнесу. Это требует перестроения мышления не только руководителей, но и рядовых сотрудников.

В первой части нашего руководства мы рассмотрим следующие вопросы:

  • Почему перед построением прогнозов обязательно нужно обрабатывать историю продаж?
  • Как это делать?
  • Как это может повлиять на конечный результат?

Если вы уже опытный специалист, то можете сразу переходить ко второй части руководства. В ней мы расскажем:

  • Почему нужно прогнозировать товарные запасы, а не спрос?
  • В чем преимущества вероятностных методов прогнозирования?

В России использование вероятностных алгоритмов минимально, хотя в западной практике они считаются самым прогрессивным методом для управления товарными запасами. С помощью вероятностных методов прогнозирования 4-го поколения мы можем прогнозировать весь ассортимент вплоть до группы Z, не только рассчитать оптимальный запас для каждого магазина и склада с учетом точных дат поступления заказов от поставщиков, но и учесть сдвиги сроков поставок и их нестабильность, изменчивость маркетинговых акций. Более того эти алгоритмы могут сами подсказать оптимальный уровень удовлетворения спроса для каждой позиции в каждом заказе. При этом будет найден баланс между дефицитом, стоимостью хранения запаса, заморозкой денежных средств, списания испорченной продукции и другими факторами.

 

Часть I. Почему не стоит прогнозировать продажи при управлении запасами?

 

Часто для того, чтобы определить необходимый товарный запас сначала строят прогноз продаж на основе прошлой статистики, а потом вычисляют страховой запас. Казалось бы, все верно! В итоге получается необходимый запас, который с заданным уровнем сервиса обеспечит удовлетворение спроса.

Но, прогнозируя продажи, мы используем прошлую историю продаж, которая часто имеет мало общего с реальным спросом. Нам необходимо прогнозировать спрос. Но где взять историю спроса, если у нас были зафиксированы только продажи? И в чем самые главные отличия между этими на первый взгляд похожими терминами? В этой части руководства мы бы хотели поделиться нашим опытом по восстановлению спроса из истории продаж. Речь пойдет о дефиците, аномальных продажах, маркетинговых акциях, редких продажах и псевдо-комплектах, а также о том, как управлять запасами до 99% всего ассортимента, а не только группой AX.

Дефицит в прошлом. Опасен не только в будущем, но и в прошлом!

Первый важный нюанс — это дефицит в прошлом. К примеру, в прошлом месяце у нас были дни, когда товара не было на полках, продажи были нулевые. Давайте посмотрим, что будет, если мы сделаем заказ по самой простой модели прогнозирования спроса — среднему. Пусть продажи в других месяцах были 600, 500, 600, а в месяц, когда случился дефицит продажи, упали до 300. Мы получим прогноз по самой простой модели: (600+500+600+200)/4 = 475. Легко заметить, что 475 единиц нам не хватит ни на один из предыдущих недефицитных месяцев.

Рис 2. Как дефицит сказывается на прогнозе продаж.

Что будет, если мы закажем 475 единиц? Мы продадим не более 475 вне зависимости от спроса. Спрос, как мы знаем, в недефицитные месяцы был гораздо выше. Следующий заказ станет еще меньше — 468 единиц. Мы попадем в замкнутый круг дефицита и искусственно ограничим спрос. Как решить проблему с дефицитом?

Первый шаг

Самый простой вариант решить эту проблему — это пометить как дефицитные вначале те дни из нашей статистики, когда остаток на складе был нулевой, и мы попросту не могли ничего продать. В нашем примере, это 12.01, 19.01 и 20.01

Рис 3. Отмечаем дни с нулевым остатком, как дефицитные.

Средний объем продаж до чистки = 8,49 ед. Среднее после применения первого шага — 9,85

Второй шаг

Вторым шагом мы пометим как дефицитные такие дни (периоды) в истории продаж, когда наш остаток опускался ниже среднедневных продаж для этого товара. Так как это могли быть периоды искусственно ограниченного спроса.

Среднедневные продажи рассчитываются по данным, полученным после первого шага (не содержат данных по нулевым продажам в дни, когда остаток нулевой).

Также рекомендуется перед этим очистить историю продаж от аномально высоких продаж, которые испортят наше среднее. К примеру, один клиент в январе купил 12 тысяч болтов, а средние продажи в месяц составляют 1 тысячу штук. Значит, среднее по одному году получится 2 тысячи штук, и мы пометим все продажи как недостоверные. Можно также воспользоваться другой оценкой вместо среднего — медианой. Медиана более устойчива к аномально большим продажам.

Рекомендация: перед расчетом среднего исключите аномально большие продажи или воспользуйтесь медианой.

В нашем примере, средний объем продаж, рассчитанный по всем дням за исключением 12.01, 19.01 и 20.01 равен 9,85 единиц. Медиана равна 11 единиц.

 2 

 4 

 5 

 7 

 8 

 9 

 9 

 11 

 11 

 11 

 11 

 13 

 13 

 13 

 13 

 14 

 15 

 

Воспользуемся медианой и пометим как дефицитные все те периоды, когда остаток опустился ниже уровня медианы (11). Результат чистки от дефицитов и потенциальных дефицитных периодов вы можете видеть на диаграмме ниже.

Рис 4. Отмечаем дни с остатком ниже уровня медианы, как дефицитные.

Средний объем продаж теперь равен 9,95 единиц. Легко заметить, что разница составляет почти 1,5 единицы, а это 17% от всего объема спроса!

Третий шаг

Есть и более сложные нюансы, о которых иногда важно позаботиться. К примеру, комплектность или псевдо-комплектность. Если у вас на складе находится 3 свечи, а обычно покупают 4, то это потенциальный дефицит, хотя на первых двух шагах он может быть и не распознан.

Рис 5. Комплектность свечей.

Поэтому на третьем шаге мы определяем такие комплекты, которые могут состоять и из разных номенклатурных единиц и помечаем как потенциальный дефицит все дни, когда объем запасов опускается ниже необходимого минимума. В нашем примере для свечей это будет 4 штуки.

Совет: подумайте, какие комплекты могут быть в вашем случае и отслеживайте их наличие.

Теперь мы имеем статистику истории продаж, где помечены потенциальные дефициты из-за полного отсутствия товара на складе, частичного его отсутствия, а также некомплектности. Стоит отметить, что искажения в истории продаж могут случаться и из-за того, что товар попросту не выложен на полку, хоть и присутствует на складе, а также из-за пересортицы. Про все это стоит не забывать и если у вас такие ситуации не редкость, то обязательно придумывать механизмы для очистки истории продаж от таких недостоверных данных.

Четвертый шаг

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

Рис 6. История продаж, очищенная от дефицитов.

Вариантов несколько.

Во-первых, мы можем просто не учитывать такие периоды, удалить их из истории продаж и забыть. Такой подход имеет право на существование. Но каковы его минусы?

Представим, что вы продаете товар, который в наличии был только 5% времени. За это время он каждый день продавался большими объемами. Говорит ли это о том, что спрос имеет такую природу? Что он будет продаваться такими же темпами и, если бы он был у нас в постоянном наличии, мы продали бы в 20 раз больше? Скорее всего, нет. Особенно в случае, если вы предлагаете уникальный товар потребителю.

Спрос не успевает насытиться, покупатели гребут то, что есть и с очень большой скоростью. Что будет, если мы воспользуемся такой статистикой? Мы закажем значительно больше товара, чем это нужно на самом деле. Что мы можем с этим поделать? Отказаться от такого подхода в случае, если есть риск не насыщения спроса или история продаж слишком коротка.

Рекомендация: Применять метод исключения дефицитных периодов только в том случае, если история продаж большая и уровень дефицита не превышает 20-30%.

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

В-третьих, если наш алгоритм прогнозирования достаточно хороший и точный, учитывает все наши нюансы, а не просто дает оценку по среднему, почему бы нам не использовать его для того, чтобы узнать какие продажи были бы в прошлом, если бы не было дефицита? Не все алгоритмы прогнозирования позволяют это сделать. Часто дефицит возникает то тут, то там и этот шаг придется повторить многократно. Но, если алгоритм прогнозирования достаточно хорош, то можно просто выполнять прогнозирование на те периоды, которые помечены как потенциально дефицитные.

Попутно вы еще и получите разницу между реальными продажами и прогнозируемыми. А это даст оценку потерь от дефицита! Что же делать, если дефицит случается после небольшой истории продаж, а алгоритм требует на вход большее число периодов? Все очень просто, мы можем прогнозировать задом наперед. Если данных в будущем достаточно и дефицитами история в будущем не продырявлена, то будем подавать на вход данные в обратном порядке и прогнозировать в прошлое. Возьмем историю продаж с 1 августа по 15 июля и будем прогнозировать сначала на 14 июля, затем на 13 июля и т.д.

Маркетинговые акции

Еще одним вредителем статистики является маркетинговая акция или промо. В момент их проведения продажи обычно повышаются, и, если маркетинговая акция проведена хорошо, то естественный спад спроса после окончания акции не компенсирует тот рост, который был достигнут во время акции.

На картинке ниже изображен период маркетинговой акции и пост-эффект, который случается из-за чрезмерного насыщения спроса в период промо-акции. К примеру, бабушки закупили макарон и гречки на полгода вперед не по потребности. Если маркетинговая акция хорошая, то спад не компенсирует рост. В нашем случае это средние продажи 10,56, если исключить период акции и пост-эффект. Если посмотреть по всем продажам, то среднее равно 11,2. Очевидно маркетинговая акция в нашей упрощенной модели дала положительный эффект и сказалась на среднем, завысила его. Если мы будем использовать более сложные модели, то мы можем ввести их в заблуждение такими неслучайными колебаниями спроса. Модель может подумать, что это особенность поведения спроса, к примеру, сезонность и научиться этой ненужной закономерности.

Рис 7. Продажи во время маркетинговой акции и пост-эффект .

Чтобы таких негативных последствий не случалось, необходимо прогнозировать не продажи на основе истории продаж, а спрос на основе истории спроса. Чтобы получить реальный спрос в прошлом периоде в данном случае можно применить подход ретроспективного прогнозирования. Для этого нам надо знать период проведения промо-акции. Его можно получить из учетной системы. Очень хорошо, чтобы такая информация там оказалась. Но как понять какое время будет иметь место пост-эффект?

Можно предположить, что пост-эффект зависит от силы перенасыщения спроса, которая возникла в результате проведения маркетинговой акции. Если объемы продаж увеличились в два раза, то можно предположить, что потребность удовлетворена на два периода вперед. Поэтому принимаем период пост-эффекта за период маркетинговой акции и прогнозируем спрос на период от начала акции до окончания пост-эффекта.

Рис 8. Прогноз реального спроса в прошлом периоде.

Другим способом определения периода пост-эффекта является оценка ошибки прогнозирования в отношении ошибки прогнозирования на обычном периоде. Для этого мы производим построение прогноза с момента окончания маркетинговой акции и до конца истории продаж. В течение этого периода в момент пост-эффекта ошибка прогнозирования будет большой, сильно отличной от известной нам ошибки прогнозирования на данных до маркетинговой акции. В тот момент, когда ошибка будет близка к известной нам на данных до маркетинговой акции пост-эффект сходит на нет.

Разовые крупные продажи. Выбросы, аномальный спрос

Однажды к нам может прийти клиент и купить в 10 раз больше, чем мы продаем в среднем в день. Если это разовый случай и нетипичный для нас, очевидно, нет нужды хранить запас под такого клиента и ориентироваться на него при расчете запаса. Но если мы будем прогнозировать продажи, мы получим завышенную оценку объема запаса, так как не исключим таких необычных покупателей. Ниже представлен пример, когда необычный клиент пришел и купил 11 января у нас 60 штук нашей продукции, что соответствует объему продаж за 12 дней.

Рис 9. Пример разовой аномальной продажи.

Если мы учтем этот выброс, то либо модель может уловить неверную закономерность, либо мы получим большую ошибку прогнозирования в этой точке. В первом случае мы можем неожиданно много заказать. На примере ниже модель научилась несуществующей тенденции и повторила ее в будущем.

Рис 10. Повторение аномальной продажи при построении модели продаж.

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

Рассмотрим этот случай более подробно. Пусть мы делаем прогноз по среднему. Среднее без этой аномальной продажи равно 4,8 ед. Если учитывать аномальную продажу, то 8,3 ед. Отметим, что 8,3 ед. превышает нашу максимальную продажу в день. Таким образом, если мы будем ориентироваться на этот показатель, то гарантированно закажем лишний товар даже под плановый спрос. Посмотрим, что происходит со страховым запасом в этом случае. Страховой запас может быть рассчитан через вариацию продаж или ошибку прогнозирования. Подсчет через вариацию продаж, по сути, подразумевает, что прогнозом мы считаем прогноз по среднему.

 

  Страховой запас  

  Без фильтрации

  Страховой запас  

  С фильтрацией

  Уровень сервиса 95%

  Горизонт планирования 5 дней

53,8

4,8

  Уровень сервиса 98%

  Горизонт планирования 5 дней

67,2

5,9

  Уровень сервиса 95%

  Горизонт планирования 30 дней  

131,9

11,7

  Уровень сервиса 98%

  Горизонт планирования 30 дней 

164,7

14,6

 

Как видим из таблицы, страховой запас окажется в 11,2 раза больше, если мы не исключим такой выброс. Самое интересное, что при уровне сервиса 95% и горизонте планирования 5 дней страховой запас все равно будет недостаточным для удовлетворения спроса таких покупателей.

Посмотрим теперь, как такой покупатель повлияет на общий запас, который мы будем поддерживать, если забудем про него.

 

  Общий запас

  Без фильтрации  

  Общий запас

  С фильтрацией  

  Отношение запаса  

  Уровень сервиса 95%

  Горизонт планирования 5 дней

53,8+41,5=95,3

4,8+24=28,8

3,27 раз

  Уровень сервиса 98%

  Горизонт планирования 5 дней

67,2+41,5=108,7

5,9+24=29,9

3,63 раз

  Уровень сервиса 95%

  Горизонт планирования 30 дней  

131,9+249=380,9

11,7+144=155,7

2,45 раз

  Уровень сервиса 98%

  Горизонт планирования 30 дней 

164,7+249=413,7

14,6+144=158,6

2,6 раз

 

Легко заметить, что если мы планируем на маленький период, то ошибка от такого выброса гораздо значительнее чем, если мы планируем на период долгосрочный. Но даже в случае долгосрочного периода избыточный запас в разы больше, чем это необходимо. Значит, нам нужно бороться с этим явлением. Во-первых, необходимо уметь находить такие выбросы, а во-вторых как-то их обрабатывать.

Как определить выбросы?

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

Рис 11. Аномальные продажи на графике.

Для того чтобы в этом убедиться посчитаем, сколько раз встречается продажи разных объемов за всю историю продаж и разделим это число на общее число дней в нашей истории продаж. Если рассматривать это число как процентную величину (умножим ее на 100), то это будет частота появления данного объема продаж во всей истории.

  Объем продаж  

  Частота объема продаж  

7

5,74%

8

12,44%

9

7,66%

10

13,88%

11

7,66%

12

8,61%

13

11,48%

14

8,13%

15

6,70%

16

8,61%

17

8,13%

35

0,48%

72

0,48%

Общий итог

100,00%

 

Рис 12. Частота продаж.

Выбросы — это аномально большие продажи, которые мы не хотим учитывать при прогнозировании. К примеру, если это типичная для нас ситуация, то мы должны ее планировать. Резкое повышение спроса 8 марта на цветы мы должны учесть при планировании в будущем и не можем просто исключить из истории продаж. С другой стороны, низкая частота того или иного объема продаж не является достаточным для того, чтобы определить выброс. Если продажи среднего объема встречаются редко, ничего страшного в этом нет. Казалось бы, мы можем просто взять отсортировать по объему продаж и исключить те частоты с конца, которые меньше некоторого порога, например, 1%. Тогда мы успешно отфильтруем продажи в 35 и 72 единицы. Но что будет, если наш спрос слишком вариативен и одинаковые объемы продаж редко повторяются?

Рис 13. График продаж с аномальным выбросом.

Обратим внимание на диаграмму с частотой продаж. Если мы для нее применим фильтрацию в 2%, то исключим все продажи от 100 до 91 шт., что не верно. Таким образом, мы могли бы исключить всю историю продаж, если бы она была сильно вариативна.

Рис 14. Частота продаж товара с сильно вариативным спросом.

Чтобы этого не допустить мы можем применить порог не к конкретным частотам, а к накопительной сумме, подобно той, которая рассчитывается при определении групп ABC анализа.

  Названия строк  

  Частота Продажи, шт.  

  Накопительная Сумма частоты Продажи, шт.  

1

0,96%

0,96%

2

0,96%

1,91%

3

1,44%

3,35%

4

0,96%

4,31%

5

1,44%

5,74%

6

1,91%

7,66%

7

0,96%

8,61%

8

0,96%

9,57%

9

0,48%

10,05%

10

1,44%

11,48%

...

...

...

87

0,48%

89,95%

88

0,48%

90,43%

90

2,39%

92,82%

91

0,48%

93,30%

92

1,44%

94,74%

93

1,44%

96,17%

94

1,44%

97,61%

96

0,48%

98,09%

99

0,48%

98,56%

100

0,96%

99,52%

400

0,48%

100,00%

Общий итог

100,00%

 

 

Пусть наш порог (допуск) составляет 1.0%. Тогда накопительная частота не должна превышать (100 — 1.0%) = 99.0%. Все, что имеет накопительную вероятность, больше чем 99.0% помечаем как потенциальные выбросы. Можем ли мы в данном случае серьезно потерять в статистике? Нет, не можем, так как в самом худшем случае мы потеряем 1% от всей истории, при истории в 300 дней, мы пометим только 3 факта продаж, даже если все продажи разные.

Что делать с найденными аномальными продажами?

Найденные нами аномальные продажи — это точки в истории продаж, а не целый период, как это могло быть в случае с дефицитом. Поэтому мы можем смело применить замену по медиане или среднему, посчитанному без аномальных продаж. Медиана в нашем случае будет тот объем продаж накопительная вероятность, для которого равна 50%. В нашем примере это 56 ед., а среднее 49 ед. Это пессимистичный подход, он предполагает, что кроме аномальной продажи другого повышения продаж не было. Он не учитывает, что в этот день мог быть и без того высокий объем продаж, а некоторый клиент подлил масла в огонь и купил у нас необычно много. Мы исключаем не только этого клиента, но и большой объем продаж. Конечно, можно перейти к рассмотрению по конкретным документам-транзакциям и исключать среди них. Но тогда может возникнуть ситуация, когда аномально высокие продажи не связаны с конкретным клиентом, а связаны с другими обстоятельствами. В этом случае аномальные продажи в этот день вызваны рядом причин и множество клиентов в целом дали такой аномально большой объем продаж. При рассмотрении отдельных документов-транзакций мы этого не заметим.

В качестве оптимистичной замены можно предложить заменять аномально высокие продажи на самые высокие продажи, которые остаются после исключения аномальных продаж. В нашем примере это продажи в объеме 99 ед. В результате мы получим следующую картину истории продаж.

Рис 15. Частота продаж после исключения аномальных выбросов.

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

Мы разобрались в том, что прогнозировать нужно спрос на основе истории спроса. Если мы будем пытаться прогнозировать спрос на основе истории продаж, ничего хорошего не выйдет. Ровно, как и в обратном случае. Но всегда ли стоит прогнозировать спрос? Конечная цель нашего расчета это размер запаса, который нам необходимо иметь для удовлетворения потребности с заданным уровнем сервиса. Иногда ошибка прогнозирования настолько высока, что нет смысла строить прогноз. Можно ли сразу перейти к расчету оптимального запаса? Оказывается, что да.

 

Часть II. Всегда ли нужно и можно прогнозировать спрос?

 

Как выглядят ваши продажи? Не самых ходовых позиций, а большинства, которое вы хотите прогнозировать? Ежедневные они или случаются раз в неделю или даже месяц? От этого зависит можно ли прогнозировать спрос. А если нет, то какой инструмент можно использовать для определения оптимального запаса?

Рис 16. График продаж товаров с постоянным гладким спросом.

Не всегда продажи выглядят такими частыми и гладкими, как на картинке выше. Особенно это касается торговли автозапчастями, электротоварами, стройматериалами, канцелярией, бытовая химиией, термотехникой и другими товарами. То есть почти все кроме продуктов питания. Спрос на эти товары достаточно разряжен. Он может случиться, а может и нет. Как узнать редкий спрос или нет? Нужно посчитать средний интервал между фактами продажи. Если две продажи подряд, то интервал равен 1 дню. Если, к примеру, в один день что-то продали, потом два дня ничего, а потом опять продали, то интервал — три дня. По этим интервалам находим среднее значение. Если среднее значение, так называемое ADI (average inter demand interval) > 1.25, то спрос редкий. Доказано, что применять классическое прогнозирование, такое как экспоненциальное сглаживание, метод Хольта-Винтерса, ARIMA и другие методы точечного прогнозирования на такой истории продаж нецелесообразно.

Рис 17. Продажи товаров с редким спросом.

Что же делать?

Вариантов два. Первый — это попробовать сгруппировать данные, чтобы средний интервал между продажами уменьшился. Мы переходим от планирования по дням к планированию по неделям/месяцам, при этом всю историю продаж группируем по неделям/месяцам. Такой вариант не всегда применим. Если нам нужно знать запас на один-два дня, то группировка по неделям или тем более месяцам не позволит дать точный ответ на этот вопрос. Также такая группировка добавляет искусственную зависимость от данных и снижает вариативность спроса, что не корректно.

Рис 18. Группировка по неделям.

Второй вариант — использовать вероятностные методы прогнозирования. Вероятностные модели прогнозирования, такие как Эфрон, Деккер, Виллимейн хорошо зарекомендовали себя для прогнозирования разряженного (редкого) спроса.

Использование вероятностных методов

Ранее считалось, что группа товаров Z не поддается прогнозированию, так как она сильно вариативна и не предсказуема. Она заказывалась вручную по экспертной оценке. И не удивительна сложность задачи и ошибки — это все равно, что пытаться попасть точно в яблочко цели, которая скачет в разные стороны и меняется в размере день ото дня. В противовес этому вероятностные методы управляют целым полком стрелков и будут обеспечивать попадание с заданной точностью; эти методы позволяют управлять всем ассортиментом, а не отбирать только те, которые имеют гладкий спрос.

Если посмотреть на ассортимент товаров в целом, то окажется, гладкий спрос имеют очень ограниченное количество товаров. Возьмем для примера продуктовый сегмент, который, как считается, характеризуется гладким спросом. Но даже для него только 6% из 50 000 SKU имеют стабильный спрос. Остальные 47 000 наименований товаров имеют разряженный вариативный спрос. Для других товарных категорий, таких как автозапчасти, стройматериалы, электротовары, сантехника и т.д. доля разряженного спроса составляет 98-99% от общего количества SKU.

Классические методы для таких случаев плохо применимы. Их несостоятельность была показана еще в 2008 году. Сейчас вероятностные алгоритмы ушли далеко вперед и позволяют исключить человеческий фактор при управлении ассортиментом.

Ключевые отличия от классических алгоритмов

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

При использовании вероятностной модели на выходе мы получаем распределение вероятностей продаж. Например, мы можем узнать, что вероятность продажи 10 штук в день, составляет 15%, а продать 15 штук товара мы сможем с 22% вероятностью. И если мы хотим покрывать 95% случаев возможного спроса (обеспечивать уровень сервиса первого рода 95%), то нам надо хранить 22 штуки. Это как с прогнозом погоды. Если вам скажут, что завтра солнечно и вы без зонта попадете под дождь, будет неприятно. Но если вас предупредят о возможности дождя в 30%, вы уже будете иметь возможность подстраховаться. Таким образом, мы можем заранее определиться с целевым уровнем сервиса и закупать ровно столько товаров, сколько нам нужно.

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

Приведем пример расчёта товарных запасов для автомобильных свечей.

Рис 19. Пример расчёта товарных запасов для автомобильных свечей на 1 день.

По оси X-требуемый уровень сервиса, по оси Y-требуемый объем запаса.

Как видно из графика, при классическом прогнозировании и небольшом уровне сервиса наблюдается перезатаривание склада. При этом объем запасов по сравнению с вероятностными моделями в некоторых случаях больше в 4 раза. При планировании на большее сроки наблюдается такая же тенденция.

Рис 20. Пример расчёта товарных запасов для автомобильных свечей на 3 дня.

Рис 21. Пример расчёта товарных запасов для автомобильных свечей на 7 дня.

Управление уровнем сервиса

Можете ли вы назначить каждый позиции желаемый уровень сервиса и пытаться его достигнуть? Да, но этот метод устарел еще в в 2012 году.

Различные потери (от дефицита, обслуживания запасов, просрочки и т.п.) также обладают вероятностным распределением и для минимизации суммарных потерь уровень сервиса нужно оптимизировать при каждом заказе!

В отличие от классических прогнозных методов, вероятностные позволяют управлять уровнем сервиса и минимизировать суммарные потери на лету. Компании могут самостоятельно (или автоматически с помощью специализированного ПО) рассчитать оптимальный уровень сервиса для каждого товара. Это поможет сократить риски в тех случаях, когда продажи дополнительного количества товара не покрывают стоимость расходов на хранение и транспортировку.

Рис 22. Пример расчёта оптимального уровня сервиса

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

 

Научная справка. О неприменимости классических методов для прогнозирования редкого спроса

 

Одним из первых методов, применявшихся для прогнозирования спроса на основании временных рядов, является метод экспоненциального сглаживания[1]. Этот метод может использоваться для прогнозирования равномерного спроса.

В 1972 году Кростон[2] показал, что для прогнозирования прерывистого спроса в общем случае модель экспоненциального сглаживания не является адекватной, и предложил свою модель, в которой отдельно прогнозируются интервалы между покупками и их объемы.

В работе 2001 года[3] было показано, что оценки метода Кростона являются смещёнными и предложен усовершенствованный вариант этой модели.

Метод экспоненциального сглаживания опирается на предположение о стационарности временного ряда. В случае наличия тренда требуется его обобщение. Линейный метод Холта[4] опирается на оценку локального среднего значения и скорости роста.

Другим вариантом учёта тренда является использование скользящего среднего. В этом случае прогноз осуществляется не на основании всего объема исторических данных, а с использованием только наиболее свежей части данных.

Одним из наиболее распространённых вариантов обобщения моделей скользящего среднего, экспоненциального сглаживания, линейного тренда и случайного блуждания является модель ARIMA.

Рассмотренные модели были созданы в рамках параметрического подхода к моделированию случайных процессов. Они предполагают, что объемы продаж (и интервалы между ними в модели Кростона и её обобщениях) имеют известное распределение. Разработано множество модификации этих моделей, опирающихся на использование различных классических распределений. Показано, что спрос имеющий разряженный характер плохо описывается с помощью классических распределений.

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

 

Список литературы

 [1]  

R. J. Hyndman, A. B. Koehler, J. K. Ord и R. D. Snyder, Forecasting with Exponential Smoothing: The State Space Approach, Berlin: Springer, 2008.

 [2]  

J. D. Croston, «Forecasting and stock control for intermittent demands,» Operational Research Quarterly, № 23, p. 289–304, 1972.

 [3]  

A. A. Syntetos и J. E. Boylan, «On the bias of intermittent demand estimates,» International Journal of Production Economics, № 71, p. 457–466, 2001.

 [4]  

C. C. Holt, «Forecasting seasonals and trends by exponentially weighted moving averages,» International Journal of Forecast, № 20, p. 5–10, 2004.

 [5]

A. A. Syntetos и J. E. Boylan, «The accuracy of intermittent demand estimates,» International Journal of Forecasting, № 21, pp. 303-314, 2005.

 [6]

R. D. Snyder, «Forecasting sales of slow and fast moving inventories,» № 140, pp. 684-699, 2002.

 [7]

L. Shenstone и R. J. Hyndman, «Stochastic models underlying Croston’s method for intermittent demand forecasting,» Journal of Forecasting, pp. 389-402, 2005.

 

 

Узнайте, как работают вероятностные алгоритмы 4 поколения на ваших данных?

Подробно расскажем о программе и алгоритмах, а также ответим на все ваши вопросы

Заполняя форму, вы даете согласие на обработку ваших персональных данных.