Страховой запас
Пример решения задачи на базе аналитической low-code платформы Loginom:
- Скачать бесплатно Loginom Community Edition
- Скачать бесплатно пакет, реализующий описанный сценарий
Страховые запасы предназначены для снижения риска возникновения дефицита, наступающего вследствие непредсказуемого роста потребления запасов или задержек при выполнении заказа. Другими словами, это дополнительный объем сырья и материалов, который может быть использован в качестве буфера до момента поступления следующего заказа.
Классическая модель расходования и пополнения запасов является идеальной при полностью детерминированных параметрах управления запасами. На практике же приходится учитывать неопределенности, вызванные главным образом случайным характером ежедневного спроса и продолжительностью логистического цикла. Случайность основных параметров поставок и спроса, а также логистические риски являются причинами создания страховых запасов.
В приведённом примере расчет страховых запасов в условиях неопределенности осуществляется на основе формулы Бауэрсокса.
Исходные данные
Таблица «Календарь поставок»:
Имя поля | Метка поля |
---|---|
Дата оформления заказа | |
Дата поставки |
Таблица «Продажи»:
Имя поля | Метка поля |
---|---|
Дата продажи | |
Объем продажи |
Таблица «Значения функции потерь f(k) и коэффициента k»:
Имя поля | Метка поля |
---|---|
f(k) | |
k |
Переменные:
Имя поля | Метка поля |
---|---|
Размер заказа | |
Величина дефицита |
Алгоритм
- Рассчитать продолжительность, среднее и среднее квадратическое отклонение значения функционального периода.
- Рассчитать продолжительность, среднее и среднее квадратическое отклонение значения количества продаж продукта в день.
- Рассчитать общее среднее квадратическое отклонение.
- Рассчитать значение функции потерь .
- По рассчитанному значению функции потерь найти соответствующее значение коэффициента .
- Рассчитать значение страхового запаса для заданных значений величины дефицита и размера заказа.
Важно: данное значение страхового запаса получено для фиксированных значений размера заказа и величины дефицита . Для изменения значений размера заказа и величины дефицита в Loginom необходимо в порту Переменные пользователя поменять соответствующие значения переменных.
Сценарий

Исходные данные
В Сценарии используются три узла импорта из текстового файла: Календарь поставок, Продажи и Значения функции потерь и коэффициента k.
В мастере настройки первых двух узлов для полей Дата оформления заказа, Дата поставки, Дата продажи задаются следующие настройки:
- Разделитель даты: Точка (.);
- Формат даты: dd/mm/yyyy.
В узле Значения функции потерь и коэффициента k устанавливается десятичный разделитель Запятая.
СКО общее и Функция потерь, f(k)
Для удобства чтения Сценария объединим узлы в Подмодель:

Продолжительность функционального цикла, Т
В узле производятся следующие расчёты:
Имя поля | Метка поля | Описание |
---|---|---|
T | Расчет полного количества дней между Датой оформления заказа и Датой поставки с помощью функции DaysBetween |
Среднее значение Т и СКО Т
В узле производятся следующие расчёты:
Имя поля | Метка поля | Описание |
---|---|---|
T среднее | Расчет среднего значения продолжительности функционального цикла с помощью функций Round и Stat |
|
ско Т | Расчет среднего квадратического отклонения продолжительности функционального цикла с помощью функций Round и Stat |
Среднее значение продаж D и СКО D
В узле производятся следующие расчёты:
Имя поля | Метка поля | Описание |
---|---|---|
D среднее | Расчет среднего значения количества продаж продукта в день с помощью функций Round и Stat |
|
ско D | Расчет среднего квадратического отклонения значения количества продаж продукта в день с помощью функций Round и Stat |
Объединение поставок и продаж
В узле Слияние производится Полное соединение данных о поставках и продажах. Связующие поля в настройке не указываются. По итогу каждая строка таблицы «Среднее значение продаж, D и СКО D» соединяется с каждой строкой таблицы «Среднее значение Т и СКО Т».
Группировка
Узел Группировка объединяет записи поля «T среднее» в группу, а для оставшихся полей выводит значение первой записи в наборе данных. Мастер настройки узла показан на рисунке:

СКО общее и Функция потерь, f(k)
В узле производятся следующие расчёты:
Имя поля | Метка поля | Описание |
---|---|---|
ско общее | Расчет общего среднего квадратического отклонения | |
f(k) | Расчет значения функции потерь f(k) |
Страховой запас, Q_str
Часть узлов Сценария для удобства объединим в Подмодель:

Объединение с таблицей значений функции потерь
В узле Слияние производится Полное соединение данных о поставках и продажах. Связующие поля в настройке не указываются. По итогу каждая строка таблицы «СКО общее и Функция потерь, f(k)» соединяется с каждой строкой таблицы «Значения функции потерь и коэффициента k».
Разница
В Калькуляторе производится расчет по следующему выражению :
Имя поля | Метка поля | Описание |
---|---|---|
Разница | Расчет разницы между табличной функцией потерь, f(k) табличное и функцией потерь, рассчитанной на основе среднего квадратического отклонения, f(k) |
Определение минимального значения функции потерь
В узле производятся следующие расчёты:
Имя поля | Метка поля | Описание |
---|---|---|
min | Расчет минимального значения функции потерь с помощью функции Stat |
Фильтр строк
В мастере настройки узла Фильтр строк задано условие: «min = ИСТИНА». Таким образом выделяется запись, соответствующая минимальному значению функции потерь, и отсеиваются все остальные.
Страховой запас, Q_str
В узле производятся следующие расчёты:
Имя поля | Метка поля | Описание |
---|---|---|
Страховой запас, Q_str | Расчет страхового запаса как произведения коэффициента k и общего среднего квадратического отклонения sko |
Интерпретация
После удаления вспомогательных полей в выходном порте узла «Страховой запас, Q_str», получим следующие итоговые данные:
Поле | Значение |
---|---|
5,36 | |
5,36 | |
1 | |
0,09 | |
2,56 | |
0,88 | |
4,65 | |
2,16 |