Найти тему

Отрицательный страховой запас - как такое может быть?

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

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

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

Дано:

· средние продажи продукта — 100 единиц в неделю

· отклонение спроса — 1%

· периодичность размещения — раз в 4 недели

· срок исполнения заказа — 8 недель

· нестабильность срока исполнения — 0

· себестоимость продукции — 1 рубль

· стоимость хранения единицы продукции на складе — 1% в месяц

· стоимость денег (альтернативная доходность) — 1% в месяц

· норма прибыли — 5% (или попросту — наценка).

Требуется: рассчитать размер заказа с целью максимизации чистой прибыли.

-2

Задачу можно решить классическими формулами, но это скучно. Хочу показать вам решение задачи с помощью моделирования цепи поставок с подбором решения через Solver и макросов.

Решение: оно достаточно простое — закупай каждую неделю по 400 единиц продукции, работай без страхового запаса. Но это решение не совсем точное. Правильный ответ — 398 единиц продукции.

-3

Но как такое может быть? Откуда взялся страховой запас — минус 2 единицы?

Постараюсь пояснить математику расчета: данная симуляция реализована путем перебора значения размер заказа с шагом в 1 единицу продукции. Т.е. берем заказ величиной 1 шт., размещаем его, ожидаем несколько недель, фиксируем упущенную прибыль, а также стоимость обслуживания запасов, рассчитываем итоговую чистую прибыль и сравниваем ее с заказом в количестве 2, 3, 4, 5 и т.д. единиц продукции.

Максимальный же размер прибыли и определяет размер заказа. Т.е. 213,2 рублей чистой прибыли мы получим при 398 штук каждые 4 недели. И это максимально возможная чистая прибыль при текущих вводных (стоимость расчета заказа целенаправленно опускается для упрощения).

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

А что, если спрос будет более вариативен, скажем, в 10 раз? Устанавливаем соответствующее значение в модель, генерируем новый спрос и смотрим, как отработает наш “оптимум” на новых данных.

-4

А отработает он с результатом чистой прибыли в 201,7 рубля. Оно? Давайте проверим! Ждем кнопку поиска решения и ….

-5

Получаем следующий результат: нужно снизить размер закупки до 351 единицы (т.е. сработать с отрицательным страховым запасом 49 единиц). Причина проста — таким образом мы получим больше чистой прибыли (202,6 рубля). Разница небольшая. Однако мы зарабатываем больше — продавая меньше… Чистая прибыль выросла при падении уровня сервиса с 98% до 96%!

И это только начало. Дальше будет еще интереснее.

Стабильные поставки — большая редкость. Обычно поставщикам свойственно нарушать согласованные договоренности и срывать сроки поставки. Добавим 1 неделю нестабильности поставок.

-6

Сервис ожидаемо упал. В данном случае потянул за собой прибыль. Но является ли текущий размер заказа оптимальным для новой реальности? Проверим — запускаем макрос с поиском решения.

-7

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

А что, если пришли новые вводные от финансистов и стоимость денег существенно выросла? Например — до 2% в месяц?

-8

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

-9

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

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

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

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

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

Все просто: увеличим норму прибыли до 10%, тем самым дав задание модели исключить по максимуму упущенные продажи, ведь упустив продажу, мы не сможем компенсировать это снижением затрат на хранение и финансирование запасов.

-10

Вот и появился положительный страховой запас размером 99 единиц. Т.о. оптимальный размер заказа в данном случае равен 499! Т.е. мы покупаем 400 штук с заданной периодичностью исходя из нашей модели пополнения запасов и дополнительно 99 штук для компенсации вариативности спроса. Почему так происходит — думаю, уже поняли. Поиск баланса в цепи поставок — наиважнейший челленж!

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

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