Оптимизация запасов распределительного центра
Валерий Разгуляев, Логистик-аналитик компании «МН», Москва ©ЛОГИСТИКА и управление www.logistpro.ru
Распределительный центр – это склад, с которого идут отгрузки на другие склады компании. Непосредственно же торговля с него не осуществляется. А если и осуществляется, то все равно логисты хотя бы виртуально разделяют остатки распределительного центра и торгового склада (обычно же они разделены и физически – из-за различий в минимальной отгрузочной упаковке).
Кроме того, распределительные центры бывают двух типов: собственно распределительные центры и перевалочные базы. В их общие функции, кроме хранения запасов и поставок на другие склады компании, входят также дополнительные услуги:
Два типа РЦ различаются только тем, что на распределительном центре осуществляется хранение крупных текущих и страховых запасов для всех филиалов, а на перевалочной базе – только операционных запасов обрабатываемой поставки, так как вся работа перевалочной базы ведется по принципу «пришло–обработали–отправили». Обычно на перевалочных базах происходит концентрация транспортных потоков для оформления таможенных документов или перегруза товара с одного типа транспортного средства на другой.
В оптимизации работы перевалочной базы основными задачами являются:
Оптимизировать работу распределительного центра гораздо сложнее, так как перед логистом кроме вышеперечисленных задач стоит еще одна, причем самая главная, – оптимизация запасов РЦ.
Планирование запасов
Логисту распределительного центра необходимо максимально эффективно использовать имеющиеся ресурсы для обеспечения полноценной торговли товаром – как и при оптимизации запасов торгового склада компании. Однако, несмотря на общность задач, в работе этих двух типов складов есть существенные различия (см. таблицу 1).
Таблица 1. Различия в работе торгового склада и распределительного центра
Фактор | Торговый склад | Распределительный центр |
Вариация клиентов | Большая: от штучных до паллетных и от разовых до постоянных | Небольшая: все очень крупные и постоянные (клиенты для РЦ – это филиалы или магазины компании) |
Количество клиентов | Большое (нестабильное) | Небольшое (стабильное) |
Операционная доступность клиентов | Обычно дневная; иногда вообще мгновенная (когда осуществляется самовывоз) | От нескольких дней до нескольких месяцев, в зависимости от удаленности филиалов |
Объемы отгрузок | Отгрузки одного филиала (магазина) | Отгрузки всех филиалов (магазинов) компании, пополнение которых происходит из данного РЦ |
Кратность отгрузок | Определена правилами минимальной партии отгрузки в филиале (обычно единичная неделимая упаковка) | Определена правилами отгрузок в распределительном центре (часто с округлением до короба, паллеты или даже контейнера) |
Регулярность отгрузок | Нерегулярные (определяются потребностью клиента) | Регулярные (определены правилами отгрузок в распределительном центре) |
Пики отгрузок | Острые | Сглаженные |
Ассортимент | Только те позиции, которые продаются в данном филиале (магазине) | Только те позиции, поставка которых в филиалы (магазины) осуществляется через данный РЦ |
Для оптимизации запасов необходимо продумать три составляющие планирования попол-нения запасов: прогнозирование спроса —> расчет потребностей —> расчет необходимых запасов. Исходя из вышеперечисленных различий рассмотрим специфику подходов к управлению запасами распределительного центра. Для примера произведем вычисления для одной позиции, продаваемой в 20 филиалах и отгружаемой в них с одного распределительного центра (таблица 2).
Таблица 2. Различные подходы в управлении запасами РЦ
Ф | Оф | Рф | Пф | Сф | Мф |
№ филиала | Текущие остатки в филиале, шт. | Время доставки из РЦ, дней | Время доставки от поставщика, дней | Средние продажи за день, шт/день | Максимальные продажи за день, шт/день |
1 | 665 | 8 | 28 | 95 | 185 |
2 | 70 | 10 | 30 | 36 | 70 |
3 | 476 | 3 | 23 | 68 | 119 |
4 | 9 | 0 | 20 | 36 | 69 |
5 | 936 | 5 | 25 | 62 | 156 |
6 | 1899 | 8 | 28 | 65 | 211 |
7 | 35 | 8 | 28 | 8 | 15 |
8 | 1120 | 7 | 27 | 83 | 140 |
9 | 296 | 1 | 21 | 46 | 148 |
10 | 2170 | 9 | 29 | 60 | 217 |
11 | 20 | 9 | 29 | 37 | 72 |
12 | 150 | 4 | 24 | 18 | 30 |
13 | 730 | 9 | 29 | 15 | 73 |
14 | 2695 | 10 | 30 | 60 | 245 |
15 | 616 | 7 | 27 | 65 | 77 |
16 | 6 | 7 | 27 | 1 | 2 |
17 | 230 | 4 | 24 | 28 | 46 |
18 | 1107 | 2 | 22 | 100 | 369 |
19 | 180 | 8 | 28 | 13 | 20 |
20 | 1290 | 4 | 24 | 44 | 258 |
ВМЕСТЕ (В) | . | . | . | Св = 940 | Мв = 1133* |
* Максимальные продажи всех филиалов вместе не равны сумме максимальных продаж из-за того, что рассчитываются как максимум суммы (а не сумма максимумов). |
Кроме указанных в таблице значений при расчетах мы будем использовать следующие:
Итак, допустим, у нас текущие остатки распределительного центра Ов = 10 000 шт., а время доставки от поставщика до распределительного центра Пв = 20 дней. Очередная доставка осуществляется сразу после окончания предыдущей. Нам необходимо рассчитать заказ (потребность до следующей поставки с учетом имеющихся остатков).
Расчет необходимых запасов
Использование распределительного центра позволяет снижать страховые запасы. Это связано с тем, что пики спроса в разных филиалах (магазинах) при суммировании сглаживаются. Происходит это по закону больших чисел. Правда, этот закон начинает работать, когда число переменных становится больше 15–20, то есть при значительно меньшем количестве филиалов (или магазинов) это свойство распределительного центра будет проявляться в меньшей степени. Однако в нашем примере выгода очевидна. Так, для стопроцентного удовлетворения воз-можных всплесков спроса нам понадобится без распределительного центра: Пф· Мф = 65 188 шт., что значительно больше, чем с распределительным центром: Рф · Мф + Пв · Мв = 14 748 + 20 · 1133 = 14 748 + 22 660 = 37 408. Следовательно, при расчете страхового запаса распределительного центра надо брать все филиалы (магазины) вместе, рассматривая их как один общий центр и рассчитывая для него страховой запас по стандартной схеме, выработанной в компании, а затем класть на склады филиалов такую его часть, которая застрахует от пиков продаж на время подвоза из распределительного центра.
Расчет потребностей
Благодаря тому что количество клиентов у распределительного центра небольшое и мы сами планируем объем и дату начала поставок, можем просчитать потребности и спланировать их удовлетворение. Следовательно, потребность распределительного центра получаем как простую сумму потребностей филиалов (магазинов), обслуживаемых из него. Однако мы не можем, как в предыдущем расчете, рассматривать распределительный центр как один общий филиал (магазин): ведь остатки одного филиала (магазина) не могут обеспечивать продажи другого. А отсутствие мгновенной операционной доступности филиалов из распределительного центра (когда мы операцию продажи проводим сегодня, а ситуация с остатками филиала в результате изменится в лучшем случае через несколько дней) делает формулу расчета потребностей распределительного центра гораздо сложнее. Остатки в филиале через Рф дней равны: max(Оф – Рф x Сф; О) остатки в распределительном центре через Пв дней равны: max(Ов – max(Пв · Сф – max(Оф – Рф· Сф; 0); 0); 0).
Остатки в филиале через (Пв + Рф) дней будут равны: max(Оф – (Пв + Рф) · Сф; 0) потребность в филиале на следующие Пв дней после поставки в распределительный центр (до следующей поставки) равна: max(Пв· Сф – max(Оф – (Пв + Рф) · Сф; 0); 0) потребность распределительного центра на эти Пв дней будет равна: max( max(Пв· Сф – max(Оф – (Пв + Рф) · Сф; 0); 0) – max(Ов – max(Пв· Сф – max(Оф – Рф· Сф; 0); 0); 0); 0).
В нашем примере нам надо рассчитать, какое количество по позиции надо привезти через 20 дней, чтобы хватило еще на 20 дней до следующей поставки. Просто подставляем исходные данные в нашу формулу и получаем: max(15 632 – max(10 000 – 9018,0); 0) = max(15 632 – 982,0) = 14 650. Именно такое количество нам необходимо сейчас заказать, чтобы его хватило на следующие после поставки 20 дней (до прихода следующей поставки).
Прогнозирование спроса
При прогнозировании спроса проводить сравнение данных о продажах в разных филиалах за прошлые периоды особенно полезно, чтобы различать случайные всплески спроса в отдельных филиалах (магазинах) и общий для всех филиалов (магазинов) сезонный рост. Соответственно, если случайные всплески вы учли и заложили в страховом запасе, сезонный рост надо обязательно учитывать при прогнозировании спроса. Расчет производится по приведенному ниже алгоритму для каждой позиции в каждом филиале отдельно. Обозначения представлены в таблице 3.
Таблица 3. Обозначения
Переменная | Назначение |
RК | Рабочих дней в К-м месяце |
DК | Дней обеспеченного спроса в К-м месяце |
SК | Объем продаж за К-й месяц |
СК | Фактический спрос за К-й месяц |
QК | Прогноз спроса на К-й месяц |
Для прогнозирования спроса в будущем нам предварительно надо рассчитать, каков был спрос в прошлом. Он не равен продажам, так как продажи не всегда были возможны по причине отсутствия товара на складе. Для корректировки таких данных будем рассчитывать спрос по следующей формуле:
Тогда, если товар весь месяц был в достаточном количестве на складе (DК = RК), то по формуле получаем, что спрос равен нашим продажам (СК = SК), иначе данные по продажам корректируются с учетом количества дней обеспеченного спроса. Значения NULL нам необходимы, чтобы разделять разные случаи: в первом – это реальный нулевой спрос (когда позиция в достаточном количестве лежала в складском остатке, но при этом не продавалась), во втором – неизвестный спрос (когда его расчет был невозможен из-за отсутствия на складе остатков по позиции весь месяц).
Свой прогноз спроса мы делаем по всем нашим данным, начиная с самых ранних расчетных (включая расчетные нули). Пропущенные же данные не могут использоваться в качестве отправной точки, а те из них, которые были уже после самых ранних расчетных, нам надо обязательно заполнять. Делать это нужно последовательно с первого пропущенного месяца по формуле, приведенной на рисунке 1, где К – номер пропущенного месяца, который заполняется в данный момент.
Рисунок 1. Формула заполнения пропущенных данных и расчета прогнозов
Расчет нужно начинать с нижней строчки формулы. В случае если при расчете один из знаменателей оказался равен нулю, то СК надо рассчитывать по формуле на строчку выше. Чтобы не производить ежемесячно эти расчеты заново, можно данные с заполненными пропусками сохранять в отдельной таблице, тогда каждый раз придется заполнять только пропуски за прошедший месяц.
После заполнения всех пропусков можно делать прогноз. Мы рассчитываем его по той же формуле, по которой заполняли пропуски для спроса в прошлом: QК = CК. Получив данные прогноза QК, мы можем, опираясь на С1, С2, …, СК-1 и QК, построить прогноз и на следующий за К-ым месяц: QК+1, воспользовавшись теми же формулами, считая СК равным QК. И можем продолжать делать так же хоть до бесконечности, предсказывая спрос все дальше и дальше, помня при этом, что с каждым следующим месяцем точность прогноза снижается. Однако часто для прогнозирования потребностей распределительного центра нам как раз нужен прогноз на достаточно отдаленный период, пусть и не самый точный, так как время поставки от иностранных поставщиков обычно составляет несколько месяцев.
Дополнительные возможности оптимизации
Благодаря тому что отгрузки из распределительного центра регулярные и постоянные, а закупки мы тоже планируем сами, появляется возможность выравнивать работу складских отделов и таким образом снижать пиковые нагрузки на склад и транспорт. Данная тема очень хорошо была освещена в разделе «Особенности составления и внедрения графика» статьи В. Гречина «Оптимизация внутригородских перевозок» («Логистика и управление» № 7/июль 2007). Приведенные в статье алгоритмы можно применять и для нашей задачи, мысленно заменив склад отгрузок распределительным центром, а клиентов – филиалами.
Благодаря тому что мы сами решаем, какое количество по каждой позиции отгружать из распределительного центра в филиал, а объемы отгрузок по основным позициям достаточно большие, мы можем укрупнять поставки до кратности коробу или паллете для уменьшения нагрузки на склад. Ведь отгрузить целую коробку или паллету значительно проще, чем пересчитывать единичные упаковки. Кроме того, в результате уменьшается и количество ошибок в складских документах.
Однако упрощая работу отделу отгрузки распределительного центра и отделу приемки филиала, нельзя забывать, что этим мы замораживаем некоторые оборотные средства предприятия и увеличиваем загрузку складских площадей филиала – правда, за счет освобождения складских площадей распределительного центра. Поэтому, округляя количество поставок, надо обязательно учитывать загруженность склада филиала и стоимость каждой позиции (что правильно сделать в отношении дешевого товара, оказывается непозволительной роскошью для дорогого).
Также отдельного упоминания требует ситуация, которая встречается в крупных компаниях, когда распределительный центр обслуживает другие распределительные центры: например, центральный распределительный центр обслуживает региональные, а они в свою очередь – городские, откуда осуществляется отгрузка на магазины компании (см. рисунок 2). В таком случае при планировании поставок на центральный распределительный склад нужно последовательно рассчитывать формулы пополнения запасов сначала для городских распределительных центров, затем для региональных и только в финале – для центрального РЦ