Отправить статью

Расчёт уровня логистического сервиса (уровень удовлетворения спроса запасами)

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

1. Постановка задачи

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

Склад стоит денег. Хранение и обработка: принять, разгрузить, отгрузить, пересчитать товар – всё это стоит денег. И вам для расчётов понадобится цена обслуживания товара. Можно рассчитывать всё очень детально, но это потребует большого времени и затрат просто на расчет. Поэтому произведём примерную оценку. Например: средний складской остаток в ценах себестоимости – 15 миллионов, затраты на склад – 2,25 миллионов в год, – это составляет 15% от себестоимости продукции. Но это только прямые затраты. Есть ещё и косвенные: пока товар лежит на складе, мы ничего не можем делать с деньгами, которые истратили на этот товар. И за год просто от «заморозки» 15 миллионов рублей мы потеряем 3,75 миллионов рублей – ещё 25% от себестоимости продукции. То есть к первоначальным 15% надо прибавить ещё 25% годовых. Но это не всё, есть ещё затраты связанные со складскими фондами: строительство, покупка и обслуживание техники, непредвиденные затраты. Такие затраты составят ещё примерно 1,5 миллиона, что составит 10% от себестоимости продукции.

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

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

Задача. Разработать критерий оптимального объёма складских остатков и способ расчёта нормы складского запаса для каждой позиции, который можно было бы использовать для определения объёма необходимого дозаказа у поставщика.

2. Пример неэффективности 100%-ного уровня удовлетворения спроса остатками

Спрос – количество единиц по позиции, которое было бы продано за период, если бы эта позиция лежала на складе в течение всего периода в необходимом количестве.

Уровень удовлетворения спроса остатками – это отношение суммированных продаж компании за период к суммированному спросу за тот же период в той же компании.

Теперь через этот уровень удовлетворения спроса остатками надо определить, какое количество определённой позиции нам необходимо держать на складе. Если это количество будет равно максимально возможному спросу за период между заказами этой позиции, то мы сможем обеспечить 100%-ный уровень удовлетворения спроса остатками. Но дело в том, что зависимость необходимого складского запаса для удовлетворения определённого уровня спроса остатками растёт не линейно. То есть для обеспечения 100%-ного уровня вместо 90%-ного может понадобиться увеличить складские запасы не на те же 10-11%, а удвоить или даже утроить их – так происходит, когда наблюдается большая неравномерность спроса. А следствием из удвоения объёмов запасов служит и удвоение стоимости его обслуживания, которое может и не окупиться дополнительной маржой от удовлетворения большего спроса.

Например, на этом графике, мы видим, что маржа, которую мы получаем при обеспечении уровня удовлетворения спроса остатками в 90% – наибольшая. А, значит, если перед нами не стоит стратегическая задача непрерывного процесса обеспечения этой позицией наших клиентов – то наиболее выгодным будет поддержание остатка на уровне удовлетворения спроса остатками именно в 90%. Это может быть не позволительно, когда мы обеспечиваем собственное производство, или у нас есть жёсткая договорённость с клиентами. Для большинства же складских позиций обеспечение 100%-ного уровня удовлетворения спроса остатками – обычно не обязательно и как мы видим из графика – менее прибыльно, а в ряде случаев – даже убыточно.

Простейший пример, хорошо подтверждающий такую ситуацию – продажи при каждодневном довозе до нормы складского остатка. В данном примере рассмотрены четыре стратегии, задаваемые нормой складского остатка в 50, 100, 150 и 200 единиц. Эта норма означает, что на каждое утро в точке продаж было это количество, которым и торговали в течение дня. Соответственно, продажи за день равны минимуму между спросом и этим нормативом. При этом маржа от продажи единицы товара равна трём рублям, а затраты на хранение единицы товара в течение дня равна одному рублю:

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

3. Алгоритм расчета

Нахождение критического максимума, больше которого хранить на складе не рентабельно.

Мы имеем статистику ежедневных продаж за месяц A:

Какие из них нам есть смысл обслуживать со склада, а какие – нет? – Всё зависит от рентабельности продаж по позиции R и стоимости содержания запасов H. Если рентабельность – огромная, а затраты – копеечные, то нам надо держать запасы под максимально возможные продажи – 27 штук. А как быть в случае, если наоборот: рентабельность – маленькая, а содержание запасов встаёт в копеечку? – Надо считать тот уровень, когда эта маржа от продажи уже не сможет покрыть хранение в течение всего срока до продажи. Например, если мы зарабатываем с продажи 8% от себестоимости, а каждый день отдаём 1% за хранение, то мы можем позволить себе хранить позицию только 8 дней. После этого срока, даже если мы успешно продадим эту позицию, то маржа не покроет затраты на хранение – мы сработаем себе в убыток. А как нам получить этот граничный срок? – Надо разделить маржинальную рентабельность (в процентах) на затраты хранения (в процентах за день) – таким образом мы получим этот граничный срок, измеренный в днях. Справедливости ради стоит сказать, что основную часть затрат на хранение составляет обслуживание замороженных в запасы денег. А, как известно, наши поставщики могут дать нам отсрочку платежа W, тем самым увеличив этот срок на эту отсрочку. Кстати, это хороший довод на переговорах для её увеличения: «Вы хотите, чтобы ваш товар всегда лежал у нас на складе? – Давайте отсрочку!» К сожалению, ту отсрочку, которую мы даём своим клиентам Y, приходится вычитать из этого срока, тем самым уменьшая его. Правда, это хороший повод объяснить продавцам, что, чем запланированней будут продажи, тем больший срок отсрочки они смогут дать клиентам – так как это всё взаимосвязано. В итоге окончательный вариант формулы максимального срока хранения будет выглядеть так:

, где:

M’ – критический срок по позиции, дольше которого хранить на складе убыточно [Дней];

R – средняя маржинальная рентабельность продаж по позиции [%];

Н – альтернативная доходность вложенных в запасы денег [% / День];

W – отсрочка платежа у поставщика [Дней];

Y – средняя отсрочка платежа клиентам компании [Дней];

Zпеременные затраты на хранение, выраженная в процентах от себестоимости [% / День].

R / (H + Z) в формуле – это, просто, количество дней, которое вы можете себе позволить держать деньги в запасах этой позиции – дальше вы начинаете делать это себе в убыток, так как заработок от продажи позиции R не покроет затрат на заморозку средств H и хранение Z в течение такого длительного периода. Причём Z – это только переменные затраты и только на хранение – не надо путать их с общими затратами на склад. Соответственно, если поставщик даёт нам отсрочку платежа, то весь срок этой отсрочки в наши остатки вложены не наши деньги, а его. А, значит, никаких убытков мы от заморозки своих денег в это время не несём и можем дополнительно положить на остатки на этот срок продаж или поделиться этими деньгами с клиентами, дав отсрочку платежа им – правда за хранение мы всё равно должны будем платить. Теперь с помощью этого значения М’ вы сможете очистить входной поток данных от пиковых продаж, которые вам не выгодно обслуживать со склада. Но нам надо получить значение в штуках, а не днях – как это сделать? – А сколько времени товар лежит на складе для каждого уровня продаж? Так как мы не знаем, когда произойдёт продажа, то это зависит от частоты продаж. То есть, когда мы принимаем решение о поддержании запасов для удовлетворения определённого уровня продаж, то задаём эту частоту полного опустошения наших запасов. То есть для каждого уровня продаж, товар для обеспечения этого уровня лежит на складе в течение срока, равном частоте такой продажи:

Эта таблица получена простым подсчётом частоты продаж в предыдущей таблице. Так какой максимальный уровень продаж мы собираемся обеспечивать со склада? – Если мы вернёмся к нашему примеру, где граничный срок М’ оказался равным 8 дням, и предположим, что всю отсрочку платежа мы отдаём клиентам, то критический максимум М окажется равным 7 штукам. Это следует из таблицы, так как уже восьмая единица продукции будут продаваться в среднем 15 дней, а значит маржи от её продажи не хватит для покрытия затрат на её хренине. А что же будет со всеми продажами, которые будут больше 7 единиц? Неужели мы их, просто, потеряем? – Нет, для таких продаж мы будем отдельно подвозить товар под заказ клиента – то есть зарабатывать на продаже будем, а тратиться на хранение и заморозку денег – нет. А если клиент откажется? Ну значит мы на нём не заработаем, зато и не получим заведомый убыток, оплачивая хранение на складе под эту продажу. А чтобы клиент не отказался, надо его как-то простимулировать давать заявки на крупные поставки заранее – чтобы мы могли вовремя всё подвезти. Заодно неплохо было бы простимулировать и продавцов, чтобы они эту информацию активно добывали, а не, просто, продавали со склада – как в магазине. Также рекомендуется вводить регламент для отгрузок, превышающих это значение, по их обслуживанию за счёт спецпоставок под заказ клиента. Это позволяет не опустошать при таких запросах склад и не отказывать в этой позиции остальным клиентам до прихода следующей поставки.

Нахождение критического минимума, необходимого для осуществления продаж.

Если дефицит – не редкий случай в вашей компании, то временной ряд продаж надо очищать и от заниженных значений, которые были обусловлены недостаточным наличием позиции на остатках. При длительных периодах дефицита – искажение может быть очень значительным и занижать потребность в разы. Если мы посмотрим на ситуацию со свободными утренними остатками на складе S в нашем примере, то увидим, что с 7 по 12 число и 30 числа товара не было на складе:

А значит нулевые продажи, которые мы видим в эти дни – это не статистика спроса С – он мог быть, просто продажа не состоялась из-за отсутствия товара. А так как мы делаем заказ, чтобы удовлетворять будущий спрос, а не прошлые продажи, то должны считать именно СПРОС. Более того, далее мы будем говорить о складском спросе – то есть спросе, который мы собираемся удовлетворять со склада, а не отдельно закупая под заказ клиента. При этом будем называть «складской спрос», просто, «спросом», так как все наши заказы на склад будем делать только из расчёта на него. И как нам получить временной ряд этого складского спроса из имеющегося у нас ряда продаж? – Всё просто: если остатки на утро были не достаточными для продажи, то мы не знаем какой был спрос в этот день; а если – нет, то спрос равнялся продажам, так как продажи – это удовлетворённый спрос – и какой спрос был, такой мы и удовлетворили. Разумеется, речь идёт не просто об остатках, а о свободных остатках, то есть таких, которые любой клиент с улицы сможет прийти и купить. А как понять, какое количество достаточно для продаж? – При определении этого критического минимума возможны различные подходы, но всегда анализируются продажи в день, когда хотя бы одна продажа была. Причём мы будем анализировать только тот спрос, который мы собираемся удовлетворять со склада – то есть мы отбрасываем все значения продаж больше 7 единиц:

, где:

mкритический минимум остатков, необходимых для осуществления продаж по позиции [Единиц];

Ai – суммарные отгрузки из документов расхода за i-тую дату по позиции [Единиц];

Mкритический максимум остатков по позиции, выше которого хранить на складе убыточно [Единиц].

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

Мы берём медиану – срединное значение – число, которое оказывается по середине списка после сортировки числового ряда по убыванию или возрастанию. То есть в 50% случаев, а обычно и больше, нам хватит срединного значения, чтобы удовлетворить дневной спрос по позиции.

Расчёт истории спроса

После того, как вы получили верхнюю и нижнюю границы для очистки временного ряда продаж, остаётся только применить их обе для расчёта временного ряда спроса по позиции на каждую дату:

, где:

Ci – спрос по позиции за i-тую дату [Единиц];

Ai – суммарные отгрузки из документов расхода за i-тую дату по позиции [Единиц];

Mкритический максимум остатков по позиции, выше которого хранить на складе убыточно [Единиц];

Si – остатки по позиции на утро i-той даты без учёта оплаченных резервов [Единиц];

mкритический минимум остатков, необходимых для осуществления продаж по позиции [Единиц].

Если оба граничных условия выполняются, то спрос равен, просто, суммарным продажам за эту дату. Если не выполняется хотя бы одно из условий, то есть остатков вместе с приходами на дату было не достаточно для осуществления продаж в этот день или вы осуществляли отгрузку по спец-поставке под заказ клиента, то мы считаем спрос за эту дату – неизвестным (NULL). Получим теперь числовой ряд спроса за день – мы будем брать все значения продаж меньше 7 единиц, когда свободные остатки на утро плюс продажи за день были больше 2 единиц:

Расчёт точек заказа при заданных уровнях удовлетворения спроса остатками.

Ну, наконец-то можно считать среднее значение и неравномерность полученного спроса? – А зачем, это будет среднее значение и неравномерность дневного спроса, а мы-то заказываем на четыре дня. Да, есть формулы перевода одних значений в другие, но они действуют только для нормально распределённых случайных величин. Поэтому мы будем оценивать показатели спроса суммированного за столько дней, на сколько мы делаем анализ – например, за 4 дня. Но для этого нам придётся убрать все пробелы, в числовом ряду спроса, когда мы не знали, каким он был:

Значения Ci сортируются по возрастанию даты, а индексы присваиваются по порядку без пропусков, после чего на основании этого ряда создаётся новый ряд суммированного спроса за L дней – {С0j}:

, где:

C0jj-тая сумма спроса по позиции за количество дней, необходимое для её производства и поставки [Единиц];

Ci – спрос по позиции за i-тую дату [Единиц];

L – время реакции, то есть срок от момента заказа позиции у поставщика и до момента, когда позиция поступает в свободную продажу [Дней].

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

Теперь заказывая, мы знаем, под какой норматив это делать – 15 штук. Причём, как мы видим это значение вовсе не равно максимальному спросу за один день, умноженному на четыре. Ощутимо снижается и относительное среднее отклонение.

4. Полученый результат

Использование данного алгоритма позволило у многих наших клиентов снизить объёмы и неликвидов, и дефицита, а самое главное – сделало всю их торговую деятельность заведомо выгодной. Кроме снижения непосредственных издержек, увеличивается и уровень удовлетворения спроса остатками там, где это, действительно, надо, а через него и оборота компании. Кроме того, за счёт снижения лишних запасов выросла оборачиваемость, а за счёт увеличения уровня удовлетворения спроса остатками по ключевым позициям выросла и лояльность клиентов. В любом случае такая система закупок уменьшает возможность появления новых значительных неликвидов – так как каждый раз закупается ровно то количество, которое должно быть продано в ближайшее время и только по тем позициям, которые имеют спрос. Если же продажи не осуществились, то заказ прекращается. Лояльность клиентов оценке поддаётся с трудом, но определённо можно сказать, что в любом случае увеличение уровня удовлетворения спроса остатками по ключевым позициям сказывается положительно на образе компании, и, соответственно, на лояльности клиентов. А лояльность клиентов уже можно конвертировать в рост оборотов и маржи.

Деловой мир в
и
Деловой мир в
и
0 комментариев
Отправить
Чтобы оставить комментарий, авторизируйтесь или зарегистрируйтесь