Оптимальная формула уровня сервиса (Цепочка поставок)
Уровень сервиса (инвентаризация) представляет ожидаемую вероятность отсутствия дефицита товара. Этот процент необходим для расчёта резервного запаса. Интуитивно, уровень сервиса представляет собой компромисс между стоимостью запасов и затратами, связанными с дефицитом (в результате чего теряются продажи, упускаются возможности и возникает разочарование клиентов, среди прочего). В этой статье подробно описано, как оптимизировать значение уровня сервиса. Затем анализ уточняется для специального случая скоропортящихся продуктов.
Модель и формула
Классическая литература по цепочкам поставок довольно размыта в отношении числовых значений, которые следует принимать для уровня сервиса. Ниже мы предлагаем вычислить оптимальный уровень сервиса посредством моделирования соответствующих затрат на запасы и дефицит.
Давайте введем следующие переменные:
— уровень сервиса, то есть вероятность не столкнуться с дефицитом. — стоимость хранения за единицу за период времени поставки (1). — предельная стоимость дефицита на единицу (2).
Скачать Excel-файл: service-level-formula.xlsx (пример расчёта)
(1) Здесь рассматривается временной интервал поставки. Следовательно, вместо обычной годовой стоимости хранения
(2) Затраты при дефиците включают минимум валовую прибыль, то есть мгновенную прибыль, которая была бы получена, если бы дефицита не произошло. Однако потеря валовой прибыли — не единственные затраты: например, следует учитывать разочарование клиентов и потерю лояльности клиентов. Как правило, мы наблюдали, что многие продовольственные ритейлеры принимают
Оптимальный уровень сервиса определяется следующим образом (обоснование приведено ниже):
Где
Функция затрат
Чтобы смоделировать функцию затрат, введем еще две переменные:
— амортизированное количество запасов (3), функция, зависящая от . — средний объем превышающего спроса при дефиците.
(3) Здесь мы применяем подход амортизированного анализа. Уровень запасов постоянно меняется, но наша цель — получить такое значение уровня сервиса, которое не зависит напрямую от прогноза спроса. Поэтому мы будем считать, что
Для заданного уровня сервиса общие затраты
Где
Анализ среднего объёма упущенных продаж
Анализ
Просмотрите функцию на (1).
Этот результат можно интерпретировать следующим образом: если спрос строго подчиняется нормальному распределению, то среднее количество упущенных продаж в условном случае дефицита быстро стремится к нулю по мере роста уровня запасов.
Однако, по нашему опыту, ошибка прогноза не сходится так, как предсказывает нормальное распределение. Поэтому ниже мы будем считать, что
Минимизация функции затрат
Применив вышеуказанные замены к выражению
Затем выражение
Поскольку мы ищем минимальное значение, попытаемся решить уравнение
Что можно упростить, разделив на
И, наконец:
Далее воспользуемся соотношением между
Для визуального доказательства равенства можно сравнить (1) и (2).
Это соотношение позволяет нам получить:
Выбираем положительный корень уравнения (отрицательный корень соответствует локальному максимуму функции):
И, наконец, применяя
Обсуждение формулы
Первый интересный аспект формулы заключается в том, что оптимальный уровень сервиса зависит только от
Во-вторых, более высокие затраты на хранение снижают оптимальный уровень сервиса; и аналогично, более высокие затраты при дефиците повышают уровень сервиса. Такое поведение вполне интуитивно, поскольку уровень сервиса представляет собой компромисс между увеличением запасов и дефицитом.
Следовательно, формула не действительна для всех значений
Практический пример
Рассмотрим упаковку молока объемом 1 л по цене 1,50€ с наценкой 10% (то есть валовая прибыль 0,15€). Предположим, что время поставки составляет 4 дня. Годовая стоимость хранения равна 1,50€ (значение высокое, так как молоко является высоко скоропортящимся продуктом). Мы предполагаем, что затраты при дефиците равны 3-кратной валовой прибыли, то есть 0,45€. Это дает
Исходя из этих значений и формулы оптимального уровня сервиса, полученной выше, получаем
Скоропортящиеся продукты
Вопрос, заданный Вячеславом Гринкевичем, экспертом по цепочкам поставок, 2012-02-13:
Я занимаюсь прогнозированием и планированием поставок для скоропортящихся молочных продуктов, где оптимальный уровень сервиса является очень важным вопросом. Самым интересным и сложным компонентом здесь является H — стоимость хранения и вопрос о её правильном значении на практике.
Например, для скоропортящихся молочных продуктов важная составляющая H должна включать не только чистые финансовые издержки замороженных в запасах денежных средств и операционные логистические затраты на хранение, но и стоимость потенциальных потерь вследствие списания просроченной продукции или продаж со скидками, когда мы пытаемся распродать товар незадолго до истечения срока годности. Это происходит, когда продажи значительно ниже прогноза.
Этот компромисс можно описать как риск потенциального избытка запасов против риска дефицита — два риска, действующих в противоположных направлениях, но по своей природе имеющих один и тот же источник — то есть взаимосвязанных с резервным запасом. В случае значительного завышения прогноза, что обычно приводит к проблеме истечения срока годности, ошибки прогноза не подчиняются нормальному распределению. Поэтому мне интересно, как лучше выразить такой риск потенциального избытка запасов.
Возвращаясь к вашей формуле, ее дальнейшее развитие могло бы заключаться в попытке найти взаимосвязь между H и p или сделать H функцией от p, то есть H(p), прежде чем переходить к минимизации общих затрат C(p). Каковы ваши мысли по этому поводу?
Данная формула уровня сервиса действительно основана на упрощенном допущении, что затраты, как на хранение, так и на дефицит, строго линейны. Однако на практике встречаются резкие нелинейности, такие как:
- Склад заполнен, и существует точка, когда одна дополнительная единица запаса фактически влечет за собой значительные накладные расходы на получение дополнительного складского помещения.
- Дефицит приводит к постепенной потере продаж до такой степени, что еще один дефицит вызывает потерю целого постоянного клиента.
Скоропортящиеся продукты представляют еще один нюанс: если количество дней запаса (то есть запасы, выраженные в днях, а не в единицах товара) приближается к сроку годности продукта, тогда
Действительно,
Чтобы смоделировать влияние скоропортящихся запасов, давайте введем несколько ключевых периодов:
— время поставки. — срок жизни продукта до окончательного истечения (т.е. до нулевой рыночной стоимости). — период, за который изначальная стоимость хранения продукта удваивается из-за утраты его рыночной стоимости. — запас в днях, то есть количество запасов, выраженное в днях, а не в единицах товара. Этот период зависит от коэффициента резервного запаса, следовательно, от .
С учетом этих периодов, мы можем смоделировать стоимость хранения следующим образом:
Давайте подробно рассмотрим неявное предположение, поскольку мы несколько изогнули обычное представление о стоимости хранения, чтобы учесть риск списания.
Во-первых, имеем
Во-вторых, для уровня сервиса
Наконец, по мере того как
В итоге,
Действительно,
В отличие от предыдущей функции затрат, эта функция, по всей видимости, не имеет простого алгебраического минимума. Однако, применяя подход, аналогичный тому, что использовался для расчёта экономичного объёма заказа, достаточно просто найти приблизительное решение, перебирая значения с шагом 0.1% от 80% до 99.9%. Это представляет собой 200 итераций для достижения точности в 0.1%, что будет более чем достаточно для практических целей.
Практическое применение
Формула уровня сервиса содержит несколько приближений, поэтому числовые значения могут оказаться непригодными из коробки: обычно потребуется небольшая настройка. В частности, коэффициент
Таким образом, учитывая характер проведённого выше анализа, мы считаем, что эта формула не применима для продуктов, связанных с низким или нерегулярным спросом. Действительно, такие товары с небольшим объёмом обычно ассоциируются с низкой точкой пополнения запасов, равной 0 или 1 единице; и линейное моделирование затрат на хранение продукта не всегда имеет смысл, поскольку также следует учитывать сложность хранения ещё одной позиции.