Архив рубрики: Управление цепочками поставок

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

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

Первый — это первоначальное заполнение буфера.

Я не устаю повторять, что для обеспечения наличия нам нужна значительная защитная мощность. Мощность — это пропускная способность какого-либо ресурса, необходимая для того, чтобы произвести, доставить, обработать, закупить необходимое количество требуемых товаров/продукции. В цепях поставок часто мы имеем дело с недостаточной мощностью складов, транспорта и/или оборотных средств. Между тем при переходе с существовавшей ранее системы заказа/поставки/производства на систему пополнения в соответствии со спросом и обеспечения наличия возможна (и довольно часто встречается) ситуация, когда буферы, особенно по ходовым позициям, оказываются довольно велики, и команде проекта становится очевидно, что по этим позициям иногда требуется кратное превосходство Целевого уровня буфера даже над ранее установленным максимумом в системе «мин-макс».

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

Давайте признаемся сами себе, что до момента запуска проекта компания не отличалась ни хорошим наличием, ни надежностью по этим позициям. Это значит, что у нее есть возможность наращивать эти свои качества постепенно, и это не приведет к ухудшению ценности, создаваемой компанией, с позиции восприятия клиента. Более того, для клиента(ов) ситуация вдруг начнет необъяснимо и постепенно улучшаться. Так что если вы столкнулись со случаем, когда рассчитанный ЦУБ оказался пугающе большим, выдохните и выполняйте следующую последовательность действий:

  1. Отсортируйте номенклатуру с точки зрения скорости генерации Прохода в единицу времени (Проход в дни наличия, Проход на кв. метр склада в день в дни наличия, Проход на метр полки в день в дни наличия).
  2. Отсортируйте номенклатуру с точки зрения показателя ROIDD (см. соответствующий раздел).
  3. Закажите до Целевого уровня буфера всю номенклатуру, имеющую отрицательный показатель IDD (ну, вдруг вам повезло, и такая у вас есть).
  4. Определите бюджет закупок (сумму увеличения запасов, которая будет доступна ПОСЛЕ оплаты Операционных расходов).
  5. Всю остальную номенклатуру закажите до уровня границы желтого, пока отпущенный бюджет на закупку товара не закончится.
  6. Последовательно доводите наполнение буфера (товары «на руках» плюс товары «в пути» плюс товары «в заказе») до Целевого уровня буфера.
  7. Переходите в регулярный режим работы.

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

Те же действия помогут в случае, если вы попали в ситуацию нехватки оборотного капитала. Вообще, ограничение денежных средств — это очень нежелательная и опасная ситуация. Ее разрешение выходит за рамки задач этой книги, но кому интересно, я приведу несколько ссылок, которые могут дать направление мысли и действий[1].

И еще один «особый» случай — это работа с новинками. Если с товарами, по которым мы взяли на себя обязательство по поддержанию постоянного наличия (они — Складские), у нас есть статистика продаж, на которую мы можем опираться при установлении Целевого уровня буфера, то с товарами-новинками такая информация у нас отсутствует. Соответственно, единственное, на что мы можем опираться — это прогноз. Мы можем прогнозировать исходя из данных о продажах товаров-аналогов (точнее было бы сказать: товаров, которые МЫ ДУМАЕМ, что потребитель будет воспринимать как аналоги). Это хороший метод, например, в работе с запасными частями часто происходит замена каталожного номера детали, в результате чего появляется новое SKU, но которое будет просто прямой заменой предыдущему.

Существует классическая матрица определения инновационности товаров: новые-старые для нас, новые-старые для рынка.

В ситуации, когда хотя бы по одному измерению у нас этот товар «старый», то мы можем брать за основу данные по другим рынкам, компаниям и т.д. и опираться на количественный прогноз, основанный на исторических данных (только помнить, что прогноз — это всегда диапазон, а не цифра). Этот количественный прогноз и даст нам первоначальное Целевое значение буфера, которое впоследствии мы будем пересматривать в процессе Динамического управления буфером.

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

Вне зависимости от того, каким образом для товара-новинки был установлен Целевой уровень буфера, в дальнейшем они управляются в том же режиме, что Складские позиции, но… контроль Целевого уровня буфера (Динамическое Управление буфером) выполняется как минимум в два раза чаще, чем для Складских, а клиентам НЕ ГАРАНТИРУЕТСЯ постоянное наличие этих SKU. По истечении установленного в компании времени, которое определяется спецификой рынков, товар-новинка должен быть переведен или в Складскую позицию, или в Заказную, или поставлен на Вывод.


[1] См., например: Эли Шрагенхайм, Рави Гилани «Устраняем активное ограничение денег» http://egorovde.ru/archives/1765, или Дмитрий Егоров «Пять фокусирующих шагов для ограничения Деньги» http://egorovde.ru/archives/1521, или выступление Рави Гилани на конференции в Санкт-Петербурге в 2017 году https://youtu.be/7YEOhmcr5FQ

Учет величины минимальной партии поставки и минимальной транспортной партии при заказах

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

В статье, посвященной расчету Целевого уровня буфера, я уже говорил о том, что нецелесообразно устанавливать ЦУБ на уровне менее чем полторы минимальной партии, установленной для конкретного SKU, и постарался дать этому объяснение.

Таким образом, работа при расчете заказа строится так:

  • Мы ежедневно получаем информацию о потреблении конкретного SKU в звене ниже по цепи поставок.
  • На основе этой информации мы рассчитываем потребность в пополнении. Если эта потребность меньше, чем установленная для SKU минимальная партия поставки, то мы не включаем ее в поставку, если эта потребность больше минимальной партии поставки, то мы округляем ее в соответствии с установленной кратностью поставки и включаем в поставку.
  • По всем SKU, включенным в поставку, проверяется, достаточна ли сформированная поставка по сравнению с установленной минимальной транспортной партией. Если суммарная поставка меньше минимальной транспортной партии, то мы не выполняем заказ/поставку, если она больше или равна ей, то мы округляем ее до установленной кратности поставки и формируем заказ/поставку.

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

Желательно, чтобы контроль за выполнением этих условий выполняла автоматизированная система, так как количество SKU может быть значительным, а транспортная партия может меняться от поставщика к поставщику. Разработанный и реализованный нами программно-методический комплекс NET Stock[1] поддерживает все методические нюансы, о которых я здесь рассказывал.


[1] http://netstock.pro

Как определяется приоритетность заказа?

Система приоритетов строится на механизме Управления буфером, который предоставляет информацию о текущем состоянии буфера запаса и выдает цветовой код.

В системе существует два статуса:

  • статус буфера запаса «на руках»;
  • статус буфера запаса для заказа на пополнение.

Принцип определения статусов в обоих случаях идентичен, он основан на проникновении в буфер.

Для статуса буфера запаса товаров «на руках»:

Статус буфера = (Целевой уровень буфера – Свободный остаток на руках)/Целевой уровень буфера * 100%

Для статуса заказа:

Статус буфера заказа = (Целевой уровень буфера – Свободный остаток на руках – Заказано ранее (в пути))/Целевой уровен буфера * 100%

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

Товар, поставленный в резерв, это товар, обещанный клиенту, в течение какого времени товар должен находиться в резерве, определяется внутренними правилами компании. Его статус лучше всего описывается цитатой из фильма «Не бойся, я с тобой»: «Это не твой зуб, он даже не мой, он — ихний…» Формально этот товар уже не принадлежит компании, он ожидает, пока клиент выполнит все свои обязательства, чтобы быть торжественно ему доставленным и врученным. И если вы знаете, что в вашей компании менеджеры по продажам злоупотребляют резервированием товара, то спросите себя: почему так происходит? Обычно причиной такого поведения является хроническая нехватка товара вкупе с индивидуальной мотивацией специалиста по продажам. Две эти причины вместе взятые приводят к тому, что менеджеры по продажам защищают свои объемы продаж от «нападения» коллег путем избыточного резервирования товаров. Если это про вас, я вас поздравляю — вам предстоит большая и увлекательная работа по разъяснению и обучению. Если же клиент все-таки отказался от покупки, а вы уже заказали товар, то в большинстве случаев — это не трагедия, просто пропустите заказ этого SKU в следующей поставке.

Полученное значение сравнивается с границами зон буфера:

  • если проникновение более 100%, то цветовой код — черный;
  • если проникновение находится между 100% и уровнем красного, то цветовой код — красный;
  • если проникновение меньше, чем уровень красного, но больше или равно уровню желтого, то цветовой код — желтый;
  • если проникновение меньше, чем уровень желтого, но больше или равно нулю, то цветовой код — зеленый;
  • если проникновение отрицательное (такое бывает), то цветовой код — голубой.

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

В идеальном мире, который, к сожалению, в реальности не существует, мы должны заказать все товары/продукцию, которые существуют до целевого уровня буфера. Но в жизни нам иногда не хватает денег, иногда не все помещается в одно транспортное средство, а для того, чтобы заказать второе, нам не хватает объема. Поэтому для повседневной работы мы устанавливаем простое правило работы для наших специалистов по закупкам: вся потребность к заказу одному поставщику сортируется в порядке убывания приоритета (проникновения в буфер), и заказ формируется построчно сверху вниз, пока не наберется транспортная партия и/или не будет исчерпан бюджет доступных денежных средств на оплату заказа поставщику.

Часто возникает вопрос: зачем нам два статуса в Помощнике заказов? Ведь, мол, все равно мы ориентируемся на статус потребности к заказу, а не статус запаса «на руках».

Во-первых, существует часто встречающаяся ошибка считать, что буфер запасов — это запас на какое-то время. Это неверно. Хотя действительно при расчете ЦУБ мы ориентируемся на некоторый временной горизонт, но спрос обычно имеет вероятностное, а не линейное поведение. Это означает, что статус буфера запасов может измениться скачкообразно, просто в силу аномально высокого локального спроса.

Во-вторых, это механизм дополнительного мониторинга правильного использования решения по управлению наличием. Если статус запаса на руках в красном и статус заказа в красном, то это чаще всего означает, что по какой-либо причине был пропущен заказ, который должен был быть сделан раньше, а может быть, мы встретились с «черным лебедем» — маловероятным событием аномально высокого спроса, и тогда, возможно, нам нужно переходить к следующему пункту.

В-третьих, если заказы все были сделаны вовремя, но статус запаса «на руках» в красном или, не дай бог, в черном, то, возможно, нам требуется предпринять дополнительные усилия по экспедированию доставки. Как правило, для большинства SKU неплохо иметь основного и хотя бы одного (а лучше — нескольких) резервного поставщика. Обычно основной поставщик — дешевый, но относительно долгий, поэтому резервные должны быть значительно быстрее, пусть и дороже. Если резервных поставщиков нет, то нужно постараться приложить усилия по ускорению доставки ранее сделанных заказов.

Расчет потребности для заказа

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

Мы рассчитали для них Целевой уровень буфера, и с этого момента у нас есть в компании общепринятое, разделяемое всеми понимание, что такое «много» и что такое «мало». Пока запасы и товары в заказах в пределах Целевого уровня буфера — это не много, когда запасы находятся в красной зоне буфера и в заказах товаров нет — это мало.

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

Количество к заказу = Целевой уровень буфера – Свободный остаток на руках – Количество в исполняющихся заказах

Вот так может выглядеть рабочее место специалиста, который занимается заказами:

Для специалиста по закупкам достаточно ежедневно или по установленному графику формировать этот расчет и отправлять заказ в звено поставки выше по потоку: поставщику или на центральный/региональный склад, а для производства «для наличия» — формировать производственное задание на производство конкретной номенклатуры.

Более того, современные технологии позволяют поставщику самостоятельно сформировать задание на поставку, при условии что клиентское место хранения в цепи поставок обеспечивает его актуальной информацией о потреблении. На этом основан целый пласт решений, который носит обобщающее название «Управление запасами со стороны Поставщика» (Vendor Manegement Inventory — VMI).

Для того чтобы механизм пополнения в соответствии с потреблением заработал, необходимо реализовать два обязательных условия:

  1. Предоставление информации о фактическом потреблении в месте хранения на ежедневной основе.
  2. Реализован механизм учета заказов, находящихся в разном статусе исполнения.

Что касается первого вопроса, то при реализации решения в рамках одной организации он не вызывает никаких проблем, кроме сугубо технических, легко решаемых ИТ-службой организации. В тех случаях, когда мы имеем дело с управлением цепью поставок, выходящей за пределы организации, может потребоваться (и чаще всего — требуется) приложить дополнительные переговорные усилия, чтобы контрагент согласился предоставлять такую информацию, для этого ему нужно ясно показать выгоду от такого сотрудничества, которая с лихвой перекрывает дополнительную трудоемкость от ежедневного формирования и пересылки отчета о потреблении. Повторю еще раз, при наличии желания современные ИТ-технологии, онлайн-кассы и т.п. позволяют автоматизировать этот процесс с сохранением конфиденциальности и практически нулевой трудоемкостью.

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

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

Установление границ буфера

Итак, на предыдущем шаге мы рассчитали и установили Целевой уровень буфера, но это еще не окончательное установление буфера.

Пока мы отработали только прогностическую функцию буфера, но у нас есть еще функции раннего оповещения и установления приоритетов поставки/производства. В Теории ограничений для этого используется цветовая кодировка статуса буфера/заказа. Для этого в буфере выделяются соответствующие зоны.

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

Черный — означает, что товара уже нет в наличии и компания попала в ситуацию упущенных продаж по данному конкретному SKU.

Красный — существует риск не успеть пополнить запасы по данной номенклатуре.

Желтый — запасы находятся в «правильном» состоянии.

Зеленый — запас достаточен.

Голубой — запасы превышают целевой уровень буфера (излишки — овербуфер).

Традиционно Целевой уровень буфера делится на три равные части: нижняя треть красная, средняя — желтая, верхняя — зеленая. Черная граница обычно проходит на нуле, а голубое — все, что больше ЦУБ.

В большинстве случаев этого достаточно, но есть нюансы.

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

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

Что это будет означать? Это означает, что если остатки у нас ниже рекомендованной границы черного, то с вероятностью 95% мы не сможем обеспечить суточный спрос и получим упущенные продажи. В практике розничной торговли иногда добавляют еще одну — серую зону, которая равна величине выкладки на полках. В отличие от черной зоны, попадание в серую зону не означает высокую вероятность упущенных продаж.

Вторая ситуация связана с величиной зеленой зоны. Бывают ситуации, когда товар имеет очень большую минимальную партию поставки относительно срока пополнения и потребления за срок пополнения. Например, потребление за срок пополнения составляет 100 литров, а минимальная партия поставки 1000 литров. Что делать в такой ситуации?

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

Другой вариант — установить ЦУБ на уровне потребления, но тогда закупка минимальной партии а) никогда не наступит, пока товар не кончится; б) система постоянно будет сигнализировать о наличии значительных излишков, этот шум нужно будет постоянно отсеивать, о нем нужно будет помнить, а внимание менеджмента — это ключевое ограничение организации.

Мы выработали на практике вариант, который показал свою работоспособность. Если рассчитанный Целевой уровень буфера оказался меньше, чем полторы минимальных партии поставки SKU, то мы рекомендуем границы черной, красной и желтой зон установить в соответствии с рассчитанным ЦУБ, а величину зеленой зоны установить в размере минимальной партии поставки, то есть приплюсовать минимальную партию к уровню желтого. Это позволит установить правильные приоритеты и не рисковать ни отсутствием, ни избытком запасов, а также избежать излишнего «шума» в системе управления буферами.

И, наконец, третья ситуация — граница красного при очень длинных сроках пополнения. Когда сроки пополнения слишком большие, то большая часть товара при правильной работе будет находиться в пути, а «на руках» будет 20%, а иногда и меньше. В этом случае классическое зонирование будет также генерировать слишком много предупреждающих сигналов, которые будут отвлекать и напрягать менеджеров. В книге «Управление цепями поставок с невероятной скоростью»[1] Эли Шрагенхайм рекомендует в этом случае сдвинуть границу красного с 33% до 20% или даже 15% от буфера, но делать это не в самом начале, а когда убедились в процессе эксплуатации, что нахождение в этой зоне при правильном пополнении никогда не приводит к попаданию в ситуацию отсутствия товара «на руках».

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


[1] Eli Schragenheim, William H. Detmer, Wayne J. Patterson. Supply Chain Management At Warp Speed: integrating the system from end to end, 2009.

Первоначальный расчет Целевого уровня буфера

Хотелось бы напомнить одно важное правило, которым мы руководствуемся при расчете всех значений в решениях Теории ограничений: лучше быть приблизительно правым, чем абсолютно точно ошибаться. Это означает, что не следует стремиться к абсолютной точности рассчитываемых значений. Нужно учитывать, что все эти значения носят вероятностный характер и, следовательно, неизбежно имеют некоторую естественную и неустранимую погрешность. Лично я руководствуюсь правилом, что нужно опираться на достаточно пессимистические сценарии при оценке сроков пополнения и на обоснованно оптимистические при расчете спроса. Со мной можно и нужно не соглашаться, но я считаю необходимым обозначить основную свою исходную посылку: нехватка товара гораздо вреднее, нежели его незначительный избыток, особенно на старте проекта, когда все исходные данные ненадежны и недостоверны.

Итак, теперь, когда у нас есть рассчитанный надежный срок пополнения, мы можем приступать к расчету Целевого уровня буфера.

Если мы обратимся к типовым Деревьям Стратегии и Тактики, вынесенным в дополнение, то мы увидим там рекомендацию по расчету:

Целевой уровень запасов (Целевой уровень буфера) равен среднедневному потреблению за последний месяц, умноженному на надежный срок пополнения в днях, плюс три сигмы вариации потребления за срок пополнения и умноженному на коэффициент паранойи. В случае нормального распределения (а три сигмы говорят о гипотезе нормального распределения) отклонение в три сигмы составляет коэффициент 1,5. То есть мы получаем формулу:

ЦелевойУровеньБуфера = СреднедневноеПотребление * НадежныйСрокПополнения * 1,5

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

Например, товар у нас был в наличии всего несколько дней месяца. Следует ли нам при расчете среднего потребления брать только дни наличия или считать среднее потребление за весь период? В последнем случае это приведет к явному занижению уровня спроса, но если взять в расчет среднее потребление только в дни наличия, то это может привести к еще очень большому завышению расчетной величины ЦУБ. В ситуации с короткими сроками пополнения — это не критично, но что делать, если ваши сроки пополнения превышают полгода? Тут требуется более универсальное решение.

В ситуации, когда:

  • у нас явно присутствует сезонность в спросе;
  • были длительные перерывы в наличии товара или вообще уровень наличия данного товара был крайне низкий;
  • у нас длительные сроки пополнения (из моего личного опыта длительным можно считать срок пополнения более 30 дней — Д.Е.);

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

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

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

Итак:

Целевой уровень буфера — это максимальное потребление товара в данном месте хранения за надежный период пополнения.

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

Этот способ также не защищает вас на все 100% от искажений. Например, в анализируемом периоде могла находиться ситуация с аномально большой продажей, и если вы положитесь на автоматический расчет величины ЦУБ — он будет завышен. Но есть и плюсы:

  • наглядно видно влияние сезонности и трендов изменения спроса;
  • если изначально задать уровень надежности, который вы хотите обеспечивать, в формате персентиля надежности (например, 0,95, что означает, что вы хотите гарантированно обслуживать 95% обычного спроса), то можно отбрасывать пики с помощью автоматизированной обработки.

Для примера приведу несколько графиков из реальных проектов.

Вот, например, достаточно хорошо продающаяся позиция:

А вот ее противоположность: редко продающаяся, с большими всплесками:

А вот пример аномального выброса продаж, когда требуется принятие управленческого решения:

Расчет надежного срока пополнения (RRT)

Итак, давая определение понятию «буфер запасов», мы установили два параметра, влияющих на величину Целевого уровня буфера: надежный срок пополнения и спрос на конкретный SKU в конкретном звене цепочки поставок (месте хранения).

Надежный срок пополнения (reliable replenishment time (RRT)) — это время, в течение которого единица товара при необходимости может быть надежно пополнена (с вероятностью 90–95%)[1].

Наиболее часто встречающаяся ошибка — это отождествление срока поставки с надежным сроком пополнения. Это совершенно неверно. Обычно срок поставки — это время с момента размещения заказа у поставщика (звене цепи поставок выше по потоку) до момента поступления товара/продукции на склад. Надежное время пополнения — это время, которое пройдет с момента, когда товар прибыл на склад, до момента поступления следующей партии товара. Как правило, RRT значительно длиннее срока поставки. Занижение времени пополнения на старте проекта по внедрению решений по обеспечению наличия чревато высоким риском получить нехватку товара!!!

Что включает в себя надежный срок пополнения? Вот типовой состав (с конца процесса):

  • время приходования товара на складе;
  • время в пути;
  • время исполнения заказа поставщиком;
  • время согласования заказа;
  • время ожидания между заказами.

Давайте рассмотрим эти пункты подробнее.

Время приходования товара на склад включает в себя:

  • разгрузку транспортных средств;
  • приемку товара на складе по качеству и количеству;
  • отражение поступлений в учетной системе компании.

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

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

Время в пути — это чистое время транспортировки с момента выезда транспортного средства из ворот поставщика до момента прибытия на склад компании. Эта самая простая и очевидная составляющая надежного срока пополнения, по сути, определяется только расстоянием и транспортной доступностью между двумя звеньями цепи поставок и видом используемых транспортных средств. Часто поглощается параметром «время исполнения заказа поставщиком».

Время исполнения заказа поставщиком — это время с момента, когда поставщик подтвердил приемку заказа, до момента, когда заказ погружен и отправлен в следующее звено цепи поставок. При производстве «для наличия» это время равно производственному циклу (production lead time).

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

Время ожидания между заказами — это самое «хитрое» время во всем надежном сроке пополнения. Его величина определяется как объективными, так и субъективными факторами. К объективным факторам следует отнести размер минимальной партии и минимальной транспортной партии. Минимальную партию заказа для SKU устанавливает, как правило, поставщик. Причины могут быть как экономические (внутренние нормы и правила, оптимизация переналадок на производстве, фасовка и упаковка), так и технологические. Например, при производстве творога, независимо от того, какой размер партии вы запустите в производство, при определенном типе оборудования вы 2 килограмма размажете по стенкам. Очевидно, что существует некая минимальная партия, где запуск заказа в производство — нецелесообразен. Кроме того, в химической и пищевой промышленности существует проблема точности дозировок: погрешность дозаторов примерно постоянна, но на больший объем запуска эта погрешность дает меньшую ошибку, а следовательно, более стабильное качество.

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

К субъективным же факторам относятся внутренние правила компании или правила (расписание) приемки заказов поставщика, продиктованные оптимизацией работы специалистов по формированию/приемке заказов.

Таким образом, время ожидания между заказами складывается из времени накопления минимальной партии поставки и/или минимальной транспортной партии и времени ожидания между заказами. Существуют два подхода: один рассматривает среднее время, второй опирается на максимальное.

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

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

Давайте разберем на примерах.

Пример 1.

Компания поставляет в розничные магазины. Время с момента получения заказа до момента появления товара на полке (согласование заказа, исполнение заказа, путь и приходование) — 3 дня. Минимальная партия поставки и транспортная партия от одной штуки, соответственно, времени ожидания накопления минимальной партии в компании нет, но… заказы компания принимает один раз в две недели. То есть время ожидания между заказами составляет 14 дней.

Считаем надежный срок пополнения. Если мы возьмем среднее время между заказами, то надежный срок пополнения, округленный до целых дней, составит (14+1)/2+3=11 дней, если же мы не будем усреднять время между заказами, то надежный срок пополнения составит 14+3=17 дней.

Обратите внимание, что большую часть надежного срока пополнения составляет время ожидания между заказами, установленное внутренними правилами поставщика. Если бы в этой компании было внедрено типовое Дерево Стратегии и Тактики для поставщика потребительских товаров, а в розничной сети соответствующее Дерево Стратегии и Тактики, то просто ежедневное предоставление информации о потреблении сократило бы срок пополнения до 1+3=4 дней!!! А это позволило бы сократить запас без ухудшения уровня наличия в торговых точках минимум в два раза, то есть как минимум в два раза поднять оборачиваемость запасов.

Пример 2.

Компания дистрибутирует продукцию из Китая и Юго-Восточной Азии. Продает компания два контейнера в месяц. Срок выполнения заказа поставщиком — 120 дней, срок согласования заказа — 14 дней, время в пути — 45 дней, время растаможивания и приходования на складе — 21 день. Частота заказа — один раз в месяц (раз в 30 дней).

Считаем надежный срок пополнения. Сложность здесь в расчете времени ожидания между заказами: мы можем заказывать каждые две недели, но заказываем раз в месяц. Я не буду в этом расчете считать среднее время ожидания между заказами и сразу возьму максимальное. Соответственно, сравнивая срок накопления минимальной транспортной партии и время между заказами — время между заказами больше, поэтому используем в расчете его. Получаем: 21+45+120+14+30 = 230 дней.
И возможностей для сокращения срока пополнения здесь у нас очень немного — мы можем сэкономить 14 дней и получить 216 дней, что на общем фоне выглядит почти так же много. Но… И здесь мы можем получить эффект от внедрения решений управления наличием. При таких длинных сроках поставки правильно рассчитанный буфер плюс частая поставка позволяет обеспечить относительно небольшой склад при постоянном наличии. Но вот эффект от сокращения запасов и рост оборачиваемости мы здесь вряд ли поймаем, нашим основным конкурентным преимуществом станет более высокий, по сравнению с конкурентами, уровень наличия, а следовательно, меньший объем упущенных продаж и дополнительная прибыль.

Я могу порекомендовать посмотреть на Ютубе ролик о результатах внедрения решения в Великобритании, где устранение стокаутов по 30% товарной матрицы привело к кратному росту прибыли[1].


[1] https://youtu.be/ceFhhPEtEKM


[1] THE TOCICO DICTIONARY. Second Edition, 2012 © TOCICO.

Буфер запасов. Определение, функции и подходы к расчету

После того как мы определились со статусами режимов управления номенклатурой, можно переходить к расчету Целевого уровня буфера запасов, или просто Целевого уровня буфера (ЦУБ), для каждой номенклатуры, имеющей статус «Складская», на каждом месте хранения, участвующем в нашем проекте.

Если вы не пролистали главы, посвященные типовым Деревьям Стратегии и Тактики, то вы должны были обратить внимание на сущность, которая там называется «целевой уровень запасов». Собственно, это и есть целевой уровень буфера. Коротко напомню основные функции, которые выполняет буфер в решениях Теории ограничений:

  • Прогнозирование — прогноз потребления, спроса, сроков завершения на коротком горизонте планирования (ЛИД-тайм, или надежный срок пополнения). Работает на этапе планирования.
  • Защита от обычной и предсказуемой неопределенности — запас времени, мощности, материалов и т.д., который должен обеспечить выполнение обязательств, но не учитывающий экстраординарные выбросы вероятности. Обычно мы говорим о вероятности в 90–95%. Работает на этапе планирования.
  • Инструмент раннего оповещения о том, что ситуация готова выйти за рамки обычной и предсказуемой определенности и необходимо предпринимать дополнительные управленческие усилия по корректировке ситуации. Работает на этапе исполнения.
  • Инструмент установления приоритетов для заказов, поставок. Работает на этапе исполнения.
  • Инструмент анализа наличия/отсутствия достаточной защиты от неопределенности. На этапе непрерывного улучшения.

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

Действительно, работа с прогнозами часто не учитывает ряд неизбежных последствий, определяемых самой «математикой» прогнозирования.

Во-первых, очень часто при работе с прогнозами работают с «математическим ожиданием» и стандартным отклонением. Причем в качестве математического ожидания рассматривают среднее (арифметическое) значение, то самое, которое выдает стандартная функция Excel СРЗНАЧ. Но… среднее значение делит всю выборку с вероятностью 50/50 — в половине случаев будет больше, а в половине меньше.

Во-вторых, часто в какой-то момент теряют такую переменную, как «ошибка прогноза». Дело в том, что прогноз в реальности дает нам диапазон значений (например, ±3 сигмы), в который мы с заданной вероятностью попадем. Но это ВСЕГДА ДИАПАЗОН, и этот диапазон часто достаточно большой.

В-третьих, это само использование стандартного отклонения и нормального распределения. Дело в том, что методы, основанные на нормальном распределении и стандартном отклонении, исходят из исходной посылки о симметричном распределении отклонений относительно математического ожидания, что верно только при а) большом количестве наблюдений; б) наличии физического ограничения диапазона возможных значений. Во всех социально-экономических средах эти исходные посылки не соответствуют действительности. Об этом прекрасно написал Нассим Талеб в своем «Черном лебеде».

В-четвертых, горизонт прогнозирования в компаниях, как правило, привязан к периодам планирования, принятым в компании, обычно — месяц, квартал, полугодие, год. Но… чем длиннее горизонт планирования, тем больше ошибка прогноза. Любой из читателей может сам проверить это на краткосрочном и долгосрочном прогнозе погоды. Да и кроме того, надежный срок пополнения редко совпадает с горизонтами и периодами планирования, основанными на циклах финансовой отчетности.

Означает ли это, что нужно отказаться от прогнозирования? Абсолютно точно — нет! Но нужно устранить ряд предпосылок: нужно максимально сократить горизонт прогноза, а также отказаться от расчета на основе математического ожидания и перейти к расчету с заданной вероятностью.

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

Отсюда мы получаем определение буфера запасов:

БУФЕР ЗАПАСОВ — это максимальный объем потребления конкретного SKU в конкретном месте хранения за надежный срок пополнения.

Нужно учитывать, что хотя в названии присутствует термин «запасы», буфер запасов — это не запас, который находится на складе. Запасы «на руках» — это лишь часть буфера, Буфер запасов включает в себя весь объем товаров/продукции, находящийся в обороте между двумя звеньями цепи поставок: запасы на складах; товары/продукция, находящиеся в пути из одного звена цепи поставок в другой; товары/продукция, находящиеся в процессе изготовления; а также объем, необходимый к заказу. Все это вместе и составляет буфер запасов. Принято считать, что в норме «на руках» находится от трети до двух третей Целевого уровня буфера (в среднем — половина), остальное находится в пути, в процессе исполнения заказа или должно быть заказано. Единственная ситуация, когда у вас «на руках» будет находиться полный буфер — это внезапно остановившиеся за период пополнения продажи, в этом случае к вам прибудет весь заказанный объем и ляжет на склад…

И еще раз напомню: буфер рассчитывается для каждого SKU, имеющего статус «Складская» или «Новинка», в каждом месте хранения.

Установление статуса режима управления номенклатуры

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

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

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

  • складская;
  • заказная;
  • новинка;
  • вывод.

Эти статусы определяют наши обязательства перед клиентами.

Номенклатура со статусом «Складская» — это те SKU, по которым мы гарантируем нашим клиентам в данном конкретном месте хранения постоянное наличие. Для номенклатуры с этим статусом режима управления мы применяем в полном объеме все действия, предусмотренные типовым решением Теории ограничений: рассчитываем целевой уровень буфера, пополняем в соответствии с потреблением, используем динамическое управление буфером, а также рассчитываем все показатели, связанные со структурой статуса наличия, упущенными продажами и т.п.

Номенклатура со статусом «Заказная» — это SKU, которые мы привозим только под конкретный заказ конкретного клиента и не гарантируем ее наличие на постоянной основе. Более того, если вдруг у нас на складе образовался незарезервированный под заказ конкретного клиента остаток номенклатуры, имеющей статус «Заказная», то это означает наличие проблемы: или клиент отказался от своего заказа, или сотрудник, занимающийся управлением запасами в компании, совершил ошибку при заказе.

Статус «Новинка» используется для товаров, статистика продаж по которым отсутствует. Управляются товары-Новинки в таком же режиме, как и Складские позиции, но по этой номенклатуре компания не обещает клиентам постоянное наличие, соответственно, эти SKU не включаются в расчет упущенной прибыли и излишков. Время нахождения товаров в этом статусе должно быть ограничено внутренними политиками компании, устанавливающими продолжительность этапа рыночного тестирования. По окончании этого времени номенклатура со статусом «Новинка» должна быть переведена в один из трех оставшихся статусов: Складская, Заказная или Вывод, в зависимости от результатов рыночного тестирования.

Статус «Вывод» — это статус, который предназначен для защиты от ошибки снабженцев в автоматизированных системах автозаказа. Номенклатура с этим статусом подлежит распродаже без пополнения, а это означает, что она не должна попадать во вновь формируемые заказы.

Еще один момент, на который, я считаю, важно обратить внимание, это тот факт, что все параметры, касающиеся пополнения, статусов номенклатуры, устанавливаются для каждого места хранения (склада — собственного или контрагента, неважно, будет ли это Поставщик или Покупатель). Если у вас сеть из 10 точек плюс один центральный склад и 10 тыс. SKU, то это означает, что у вас 11х10 000 = 110 000 точек управления, статусов номенклатуры, надежных сроков пополнения, целевых уровней буфера и т.д. Конечно, делать это вручную — задача слишком трудоемкая, но для этого существует специализированное программное обеспечение.

 При этом при установлении статусов для SKU в конкретном месте хранения существует определенная взаимозависимость, определяемая логикой управления цепью поставки.

Номенклатура, имеющая статус «Вывод» на «корневом» складе цепи поставок (дальше для простоты будем говорить: на центральном складе), не может иметь никаких других статусов ниже по цепи поставок. Номенклатура, имеющая статус «Новинка» на центральном складе, ниже по цепи может иметь статус или «Новинка», или «Вывод» (если мы решили, что в какое-либо место хранения мы ее поставлять не будем).

Если на центральном складе номенклатура имеет статус «Заказная», то ниже по потоку она может иметь статусы «Заказная», «Новинка», «Вывод». Теоретически возможна ситуация, когда в месте хранения выше по потоку номенклатура имеет статус «Заказная», а ниже — «Складская», но это возможно только в том случае, если срок изготовления заказа МНОГО меньше, чем существующий срок надежного пополнения звена ниже по потоку, что в цепях поставок, управляемых в режиме «для наличия», большая редкость. Поэтому на старте следует принять за правило: если статус выше по потоку «Заказная», то ниже по потоку статус режима управления не может быть выше, чем «Заказная». И лишь потом, в процессе непрерывного улучшения, можно проверить допустимость инверсии статусов.

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

И еще один важный момент, связанный с управлением статусами режимов управления номенклатурой — это возможность работы с ассортиментом и собственными обязательствами в условиях, когда защитная мощность в компании невелика. В этом случае компания устанавливает определенный перечень SKU, по которому гарантирует своим клиентам постоянное наличие, и этот перечень должен быть составлен таким образом, чтобы гарантировать достаточную защитную мощность для выпуска требуемого для пополнения спроса объема продукции, а весь остальной ассортимент производится только под заказ, и сроки выполнения рассчитываются из доступной защитной мощности. Это позволяет решать ситуацию, когда компания находится в реальном активном действующем ограничении времени (см. раздел «Типы ограничений»), но мощность ее недостаточна, чтобы обеспечить наличие всего ассортимента (фактически — очень грустная ситуация взаимодействующих ограничений).

Но это отдельная большая тема, выходящая за рамки задачи, решаемой в данной книге[1].


[1] См., например: Эли Шрагенхайм. Управление смешанной средой «Производство на заказ (МТО)» и «Производство для наличия (МТА)» http://egorovde.ru/archives/1885