Формула оптимальной вероятности обслуживания (цепи поставок)

Жоаннес Верморель, последняя редакция — январь 2012 г.

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

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

Модель и формула

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

Введем следующие переменные:
  • $p$ - вероятность обслуживания, т.е. вероятность того, что не возникнет ситуация дефицита.
  • $H$ - издержки на хранение нереализованных товаров в пересчете на единицу в течение времени выполнения заказа (1).
  • $M$ - предельные удельные затраты на единицу дефицит товарных запасов (2).

Скачать таблицу Excel: service-level-formula.xlsx (вычисления с графическими материалами)

(1) Здесь рассматривается временной отрезок равный времени выполнения заказа. Следовательно, вместо более привычных годовых издержек на хранение нереализованных товаров $H_y$ мы берем $H = \frac{d}{365}H_y$, допуская при этом, что $d$ - время выполнения заказа, выраженное в днях.

(2) Издержки дефицита включают минимум валовой прибыли, т.е. моментальную прибыль, которая была бы получена если бы не возник дефицит товарных запасов. Однако потеря валовой прибыли не является единственной проблемой. Необходимо также учитывать неудовлетворенность клиентов и потерю их лояльности. На практике мы увидели, что многие розничные продуктовые магазины уверены, что значение переменной $M$ в 3 раза превышает валовую прибыль.

Оптимальная вероятность обслуживания вычисляется по следующей формуле (обоснование приведено ниже): $$p=\Phi\left(\sqrt{2\ln\left(\frac{1}{\sqrt{2\pi}}\frac{M}{H}\right)}\right)$$, Где $\Phi$ - это функция общего распределения, связанная с нормальным распределением. Это значение можно легко рассчитать в Excel, где $\Phi$ - это функция NORMSDIST. Также, для удобства цифрового расчета: $\sqrt{2 \pi} \прибл. 2,50$

Функция стоимости

Для моделирования функции стоимости следует ввести две дополнительных переменных:
  • $Q$ - количество амортизированных товарных запасов (3), функция с зависимостью от $p$.
  • $O$ - средний избыточный спрос в ситуации дефицита товарных запасов.

(3) Рассмотрим эту ситуацию с точки зрения амортизированного анализа. Уровень товарных запасов постоянно изменяется, но наша цель - разработать практическое применение анализа, поэтому мы стремимся получить значение вероятности обслуживания, не связанное с самим прогнозированием спроса. Поэтому предположим, что переменная $Q$ равна точке возобновления (см. наши рекомендации по резервному запасу).

На заданном уровне вероятности обслуживания совокупная стоимость $C(p)$, которая объединяет издержки на хранение запасов и дефицит можно представить в виде: $$C(p) = Q(p)H + (1-p)MO$$, где $Q(p)H$ - стоимость товарных запасов, а $MO$ - издержки дефицита, происходящие с вероятностью $1-p$. С помощью формулы, представленной в пособии по резервному запасу, а также у учетом, что $Q(q)$ равна точке возобновления, получаем $Q(p) = Z + \sigma \Phi^{-1}(p)$, где $Z$ - это спрос в ходе выполнения заказа, $\sigma$ - допустимая ошибка прогноза, а $\Phi(p)^{-1}$ - обратное значение функции общего распределения, связанное со стандартным нормальным распределением (математическое ожидание равно нулю и отклонение равно единице).

Анализ среднего числа упущенных продаж

Анализ $O$, среднего числа упущенных продаж, дает довольно неопределенные результаты. Учитывая, что распределение спроса является нормальным распределением $\mathcal{N}$, а $q$ - доступными товарными запасами, $O(q)$ является условным средним спроса $x$ если $x > q$ (минус доступные товарные запасы $q$), то есть: $$O(q)=\frac{\int_q^\infty{x\mathcal{N}(x)dx}}{\int_q^\infty{\mathcal{N}(x)dx}}-q=\frac{1}{q}+\mathcal{o}\left(\frac{1}{q}\right)$$ См. функцию по ссылке (1).

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

Однако наш опыт показывает, что ошибка прогноза не позволяет обеспечить хорошее схождение, сопоставимое с результатом, который может предсказать нормальное распределение. Поэтому далее мы предположим, что $O=\sigma$, т.е. среднее количество упущенных продаж равно средней ошибке прогноза. Очевидно, что это в большей мере является эмпирическим правилом, а не глубоким анализом. Но практика также показывает, что аппроксимация зачастую дает хорошие результаты.

Минимизация функции стоимости

Применяя определенные ранее подстановки к выражению $C(p)$, мы получим: $$C(p) = \left(Z + \sigma \Phi^{-1}(p)\right)H + (1-p)M\sigma$$ Тогда выражение $C(p)$ можно дифференциировать в $p$ с помощью: $$\frac{\partial C}{\partial p} = \sigma H \partial \Phi^{-1}(p) - \sigma M$$ Так как мы пытаемся вычислить минимальное значение, то нам нужно решить $\frac{\partial C}{\partial p} = 0$, что дает: $$\sigma H \partial \Phi^{-1}(p) - \sigma M = 0$$ Полученный результат можно упростить до $\sigma$. Получаем: $$H \partial \Phi^{-1}(p) - M = 0$$ И, наконец: $$\partial \Phi^{-1}(p) = \frac{M}{H}$$ Затем мы будем использовать отношение между $\partial \Phi^{-1}$ и $\Phi^{-1}$ : $$\partial \Phi^{-1}(p)=\sqrt{2\pi}e^{\frac{1}{2}\Phi^{-1}(p)^2}$$ Для наглядного доказательства равенства можно сравнить (1) и (2).

Благодаря этому отношению, мы получаем: $$\sqrt{2\pi}e^{\frac{1}{2}\Phi^{-1}(p)^2}=\frac{M}{H}$$ $$\frac{1}{2}\Phi^{-1}(p)^2=\ln\left(\frac{1}{\sqrt{2\pi}}\frac{M}{H}\right)$$ Мы выводим решение формулы с положительным корнем (отрицательный корень соответствует локальному максимуму функции) через: $$\Phi^{-1}(p)=\sqrt{2\ln\left(\frac{1}{\sqrt{2\pi}}\frac{M}{H}\right)}$$ И, наконец, применяя $\Phi$ с обеих сторон, мы получаем оптимальную вероятность обслуживания с помощью формулы: $$p=\Phi\left(\sqrt{2\ln\left(\frac{1}{\sqrt{2\pi}}\frac{M}{H}\right)}\right)$$

Обсуждение формулы

Первым интересным аспектом этой формулы является то, что оптимальная вероятность обслуживания зависит только от $H$ (стоимость товарных запасов) и $M$ (издержки дефицита). Несмотря на это, существует скрытая зависимость от времени выполнения заказа, так как $H$ была определена издержки на хранение нереализованных товаров как „“в период времени выполнения заказа.

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

Помимо этого, данная формула неприменима для всех значений $M$ и $H$. Нам понадобится $\sqrt{2\pi}\frac{M}{H} > 1$ или результатом логарифма будет отрицательное значение, которое, с учетом внешнего квадратного корня, не поддается обработке. В результате $M > \sqrt{2 \pi} H$, что можно приблизительно представить как $M > 2,5 H$. Если это условие не подтверждено, то значит, что исходная функция стоимости $C(p)$ не имеет минимального значения или даже что минимальное значение $-\infty$ для $p=0$. С практической точки зрения, $M < 2,5 H$ можно интерпретировать как патологическую ситуацию, в которой наиболее прибыльным уровнем товарных запасов является нулевой уровень (т.е. 100% дефицит).

Пример



Пакет молока объемом 1 л с ценой 1,50€ был продан с маржой 10% (т.е. 0,15€ от валовой прибыли). Допустим, что время выполнения заказа составляет 4 дня. Ежегодные издержки на хранение нереализованных товаров составляют 1,50€ (это значение настолько высоко, так как молоко является товаром с очень коротким сроком годности). Мы предполагаем, что издержки дефицита в 3 раза превышают валовую прибыль, которая составляет 0,45€. Получается, что $M=0,45$ и $H=\frac{4}{365} 1,5\approx 0,0055$.

Используя эти значения и полученную ранее формулу оптимальной вероятности обслуживания, мы получим $p\approx 98,5\%$, что является типичным значением для
обязательных свежих продуктов, хранящихся на складах сетей продовольственных магазинов.

Скоропортящиеся продукты

Вопрос, который задал Вячеслав Гринкевич, эксперт по цепям поставок, 2012-02-13:

Я занимаюсь прогнозированием и планированием поставок скоропортящихся молочных продуктов. Для меня очень важно обеспечить оптимальную вероятность обслуживания. Самым интересным и непредсказуемым компонентом в этой цепочке является H – издержки на хранение нереализованных товаров и вопрос его собственного значения на практике.

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

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

Если взять предложенную вами формулу, то при ее дальнейшей разработке можно попытаться установить отношение между H и p или представить H в виде функции p, т.е. H(p), перед решением задачи по минимизации совокупной стоимости C(p). Что вы думаете по этому поводу?


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

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

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

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

Для моделирования эффекта
склонности товарных запасов к порче необходимо ввести несколько ключевых временных отрезков:

  • $\lambda$, время выполнения заказа.
  • $\lambda_\infty$, срок годности продукта до достижения его окончательной порчи (т.е. нулевой рыночной стоимости).
  • $\lambda_½$, временной отрезок, удваивающий исходные издержки на хранение продукта по причине потери им рыночной стоимости.
  • $\lambda_c(p)$, покрытие запасами, то есть запасы, выраженные в днях, а не в единицах продуктов. Временной отрезок зависит от фактора резервного запаса, то есть - от $p$.

С помощью эти временных отрезков издержки на хранение нереализованных товаров можно моделировать в виде:

$$ H(p) = H \left(1 - \frac{\lambda_\infty - \lambda_½}{\lambda_\infty - \lambda} + \frac{\lambda_\infty - \lambda_½}{\lambda_\infty - \lambda_c(p)} \right) $$ Давайте подробнее рассмотрим скрытое здесь допущение, так как мы довольно нестандартно интерпретируем привычное понятие издержек на хранение нереализованных товаров с целью расчета риска списания.

Во-первых, мы имеем $H(0,5)=H$. Это утверждение получено из представленного ранее определения. Очевидно, что при $\lambda_c(0,5)=\lambda$ с вероятностью обслуживания 50%, покрытие запасами равняется времени выполнения заказа. Поэтому мы утверждаем, что в этой модели $H$ представляет издержки на хранение нереализованных товаров, где издержки а списание, связанные с вероятностью обслуживания 50%, уже были взяты в расчет издержек $H$. Примечательно, что нулевые резервные запасы не подразумевают нулевых списаний, а могут обеспечить только
редкие случаи списания.

Во-вторых, при вероятности обслуживания $p_½$, таком как $\lambda_c(p_½) = \lambda_½$, мы получим $H(p_½)=2H$. Опять же, это было выведено из определения, принятого для $H(p)$. Очевидно, что $\lambda_½$ представляет временной отрезок, удваивающий сочетание издержек на хранение нереализованных товаров и списаний (сравним с ситуацией
нулевого резервного запаса). Ясно, что на практике увеличение издержек, связанных со скидками, позволяющими продать продукты с заканчивающимся сроком годности, и списания проходят через определенное количество этапов. Однако мы полагаем, что попытки выражения этого увеличения через стандартный временной отрезок (который на практике можно определить как определенную долю срока годности продукта) будут гораздо более устойчивы к различным аппроксимациям, лежащим в основе всего подхода. Особенно в сравнении с более точной моделью, основанной на еще более неопределенных переменных.

Наконец, по мере того, как $p$ приближается от $p_\infty$ с $\lambda_c(p_\infty)=\lambda_\infty$, $H(p)$ стремится к бесконечности. Это также следует из определения, данного для $H(p)$. На первый взгляд, наличие издержек на хранение нереализованных товаров, превышающих стоимость единицы продукта, кажется странным, но здесь нет никакого парадокса. Значение $H(p)$ представляет косвенные издержки на поставку одной единицы клиенту. Если по причине огромного количества списаний для доставки конечному клиенту 1 единицы складу в среднем требуется 3 единицы (срок годности двух 2 единиц истекает до момента доставки), то косвенные издержки будут значительно превышать исходную стоимость единицы продукта.

В итоге, $\lambda_½$ является единственной вводимой
неопределенной переменной. Можно уверенно заявить, что $\lambda$ и $\lambda_\infty$ известны. Мы уверены, что данная модель $H(p)$ является самой простой из возможных моделей, которые можно получить в результате добавления всего лишь 1 дополнительной переменной. Таким образом, учитывая $\lambda_c(p)$ с умеренной аппроксимацией, мы получаем:

$$\lambda_c(p) = \lambda \left(1 +\frac{\sigma}{Z}\Phi^{-1}(p)\right)$$ Очевидно, что при $\lambda_c$, покрытие запасами можно рассматривать в качестве коэффициента для времени выполнения заказа, который включает спрос в ходе выполнения заказа и
нормализованный фактор резервного запаса. Это позволяет получить альтернативную функцию стоимости:

$$C^*(p) = \left(Z + \sigma \Phi^{-1}(p)\right)H\left(1 - \frac{\lambda_\infty - \lambda_½}{\lambda_\infty - \lambda} + \frac{ \lambda_\infty - \lambda_½}{\lambda_\infty - \lambda \left(1 +\frac{\sigma}{Z}\Phi^{-1}(p)\right)} \right) + (1-p)M\sigma$$ В отличие от предыдущей функции стоимости, кажется, что данная функция не имеет простого алгебраического минимума. Однако при использовании подхода, схожего с методом для расчета экономичного размера заказа, можно относительно легко вычислить
приблизительное решение за счет циклического движения от 80% до 99,9% с шагом 0,1%. Таким образом, для достижения точности 0,1% требуется 200 итераций, которых более чем достаточно для практического применения.

Практическое применение

Формула вероятности обслуживания содержит несколько аппроксимаций, поэтому численные значения не следует использовать
в исходном виде. Как правило, необходимо выполнить небольшую настройку. В частности, по мере необходимости можно регулировать фактор $\frac{1}{\sqrt(2\pi)}\approx0,4$. Тем не менее, мы полагаем, что эта формула позволяет получить адекватное представление о методах сравнения соответствующих уровней вероятности обслуживания единиц. Например, если при наличии двух продуктов (A и B) вероятность обслуживания составляет 95% (для A) и 90% (для B), то при завершающей организации производства будет логично предположить, что вероятность обслуживания для A будет превышать вероятность обслуживания для B.

Значит, учитывая принцип рассмотренного ранее анализа, мы полагаем, что эта формула неприменима для продуктов с низким или нерегулярным спросом. На самом деле, такие продукты с низким спросом обычно связаны с низкой точкой возобновления для 0 или 1 единицы, а
линейное'' моделирование стоимости хранения продукта не обязательно имеет смысл, так как необходимо брать в расчет и сложности, связанные с хранением одного дополнительного артикула.