Bullwhip Effect или эффект хлыста

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

Итак, что же это такое, Bullwhip Effect?

 

Суть его состоит в том, что если рассматривать движение товара по цепочке, можно заметить, что даже небольшое колебание спроса на ее конце приводит к бОльшему колебанию на вышестоящем уровне. И чем дальше мы продвигаемся от конца цепочки, тем больше становится размах этого колебания. Если рассмотреть цепочку из 4х уровней, где нулевой — это тот, который обслуживает конечного клиента, то характерная картина процесса будет такой:

 

Каковы же внутренние причины такого поведения?

Возьмем простейший пример:
1 магазин, текущий запас 1000 ед., прогноз продаж 1000 ед. за период.
1 поставщик, текущий запас 1000 ед.
суммарное время реакции поставщика — 3 периода.

Тогда сбалансированный план будет выглядеть следующим образом:

 

Предположим, что в этот момент по каким-то причинам меняется спрос — становится 500 ед. Тогда магазин в течение 4 периодов не будет заказывать вообще. Сравним заказы, поступающие на эти два уровня:

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

Обычно при классическом изложении сути эффекта на этом и останавливаются. Я же категорически не согласен с такой формулировкой. На самом деле, если вдуматься, эффект имеет две причины, причем основная — это прежде всего ошибка в прогнозе. Если бы мы спрогнозировали снижение спроса заранее (критическая точка — момент изменения спроса минус время реакции), то и такого колебания не возникло бы. Таким образом, эффект пропорционален величине ошибки прогноза, накопленной за время реакции системы, фактически пропорционален обеим этим величинам.

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

А далее мы будем играть. В интересную игру, изобретенную в Massachusetts Institute of Technology где-то в 60х годах 20го века. Уж не знаю, из каких соображений они выбрали именно такое название, но называется она

The beer distribution game

 

Правила игры.

Играют 4 участника:

0.Магазин
1.Оптовик
2.Дистрибьютор
3.Производитель

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

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

На каждом шаге считаются общие издержки содержания цепочки:
Стоимость хранения единицы товара везде одинакова и составляет 0.5 условного лаптя (далее — улап). Штраф за недопоставку составляет 1 улап за единицу товара.

Цель игры — минимизировать совокупные издержки при заданном (но неизвестном участникам!) поведении спроса конечных потребителей.

Стандартный сценарий игры:
25 ходов обычно достаточно для показательных результатов
начальные значения у всех уровней одинаковые:
запас — 12 ед.
в пути — 1 транспорт (4 ед.) с временем прибытия на следующем ходу и 1 траспорт (4 ед.) под разгрузкой на складе.
Заказ — 4 ед.

а теперь запускаем процесс: спрос конечных потребителей — по 4 ед. в первые 5 ходов, далее по 8 ед. Не забываем, что эта информация игрокам неизвестна!

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

Типичные результаты представлены на графиках

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

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

То есть полное отсутствие стокаутов, начиная с некоторого шага запасы отсутствуют (просто JIT какой-то получается!).

Не давайте себя запутать! Как авторам публикаций о Bullwhip effect, так и ведущим всяческих семинаров. Заметьте, как подобраны исходные данные для игры. Ошибка прогноза составляет 4 ед., что при умножении на время реакции в 3 хода дает в точности 12 ед. начального запаса. Измени хоть одну цифру или модифицируй входной поток заявок от конечного потребителя — и вся эта «стратегия» летит ко всем чертям. Я уж не говорю о том, что работать без страхового запаса — это надо знать, что дальше все будет абсолютно ровно.

Но вернемся к анализу. На рисунке показаны некоторые результаты (совокупная стоимость в пересчете на одного игрока) команд только людей и команд с участием роботов.

По оси X отложена стоимость хранения, по оси Y — штраф за недопоставку. Поскольку результат игры — сумма этих цифр, серая линия показывает прямую одинаковых результатов.

Лучший результат, как мы уже говорили, показал компьютер — 228 улап.

Результаты с участием людей как правило лежат в пределах 600-900. Впрочем, зафиксирован рекорд в 4000 улап. Причем, чем больше людей в игре, тем результат хуже. Каковы же причины того, что люди в целом показывают худшие результаты, чем роботы? Исследователи отмечают две крайние тенденции «улучшательства», которые четко видны:

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

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


Итак, каковы же причины возникновения эффекта хлыста? Перечислим их еще раз

  • Наличие времени реакции системы - как времени прохождения информации по цепочке, так и времени прохождения материального потока
  • Ошибки в прогнозе потребления
    • в том числе увеличение страховых запасов из-за ошибки прогноза
    • в том числе из-за неучета промоактивности (распродаж, рекламных мероприятий) — увеличение размаха колебаний
    • увеличение размаха колебаний из-за существования минимальных партий поставки
    • увеличение размаха колебаний из-за ажиотажного спроса в период отсутствия товара у поставщика (и частой отменой заказов после появления такого запаса)
  • Отсутствие общей информации о состоянии цепочки

Устранение или минимизация влияния этих причин поможет по крайней мере уменьшить влияние Bullwhip effect. Самое большое влияние, конечно же, имеет последний пункт. Единое информационное пространство, в котором находятся партнеры по цепочке обеспечения поставок, позволяет выиграть всем.
 

Интересно, ведь наверное, существуют какие-то математические модели "хлыста". Скажем, при относительно небольших отклонениях от равновесного уровня наверняка процесс описывается линейным разностным уравнением. Устойчивость которого хорошо изучена - по спектру собственных чисел. Если бы я знал хоть чуть поподробнее характер реакции типичного звена, то и сам бы его набросал.

In reply to by Михаил Ермилов

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

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

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