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

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

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

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

За эти 12 месяцев мы видим 2 паттерна:

  • продолжающиеся заказы на одну единицу, которые составляют в среднем 13 заказов в месяц.
  • прерывистые оптовые продажи, которые составляют в среднем +30 заказов.

Среднемесячные продажи составляют 23 заказа в месяц, но если мы исключим фактор оптовых заказов, то средний объем покупок снизится до 13 заказов в месяц.

Теперь, какой же правильный резервный запас в этой ситуации? Если мы рассмотрим классическую формулу расчета резервных запасов с типичными настройками, то у нас будет установлена точка перезаказа примерно на 30 единиц: среднемесячный объем заказов в 23 единицы, плюс сам резервный запас, покрывающий неопределенность спроса. Оптовые закупки в 30 единиц очень вероятно будут пропущены из-за небольшого количества товаров на руках.

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

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

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

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

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

Пусть y``Q будет оптовым количеством, связанным с вероятностью Q (в этой иллюстрации выше у нас y``Q = 30). Технически, y``Q является обратным кумулятивным распределением функции продаж, взятой на квантиль Q. Расчет точки повторного заказа становится:

R = D + MAX(σL * cdf(P); y``Q``)

где σL * cdf(P) оказывается запасом безопасности, рассчитанным на основе неопределенности спроса.

Вычисление y``Q в Excel немного трудоемко, потому что нет эквивалента функции PERCENTILE для обратного кумулятивного распределения. Нам приходится прибегать либо к схеме гистограммы, либо к макросу VBA.

Функция, определенная пользователем ICMD для Excel, приведенная ниже, выполняет расчет y``Q, предполагая, что заказы на продажу перечислены в диапазоне Excel и отсортированы по возрастанию.

’ Обратное кумулятивное распределение
Function ICMD(r As Range, q As Double)
    ’ Вычисление общего
    Dim s As Double
    For Each c In r
        s = s + c.Value
    Next
    ’ Поиск порога
    Dim a As Double
    For Each d In r
        a = a + d.Value
        If a >= (q * s) Then
            ICMD = d.Value
            Exit For
        End If
    Next
End Function

Исходя из этой уточненной формулы, примененной к образцовым данным, мы получаем точку повторного заказа R = 13 (прогноз спроса) + 30 (оптовое количество) = 43, что достаточно для учета массовой закупки с высокой вероятностью, при этом сохраняя запасы на складе как можно ниже.

Есть и бизнес-специфические ограничения? Не стесняйтесь сообщить нам. Мы можем настроить Salescast, чтобы лучше соответствовать вашему бизнесу.


Комментарии читателей (1)

У меня есть похожая проблема в моей торговле. Очень интересная статья. 8 лет назад | Мартин