00:00 Введение
02:53 Решения против артефактов
10:07 Экспериментальная оптимизация
13:51 До сих пор
17:01 Решения сегодня
19:36 Манифест количественной цепи поставок
21:01 Проблема розничного распределения товаров
24:49 Экономические силы на SKU магазина
29:35 Воплощение будущего
32:41 Воплощение вариантов - 1/3
38:25 Воплощение вариантов - 2/3
43:02 Воплощение вариантов - 3/3
44:44 Функция вознаграждения запасов - 1/2
51:41 Функция вознаграждения запасов - 2/2
56:19 Приоритетное распределение запасов - 1/4
59:59 Приоритетное распределение запасов - 2/4
01:03:39 Приоритетное распределение запасов - 3/4
01:06:34 Приоритетное распределение запасов - 4/4
01:12:58 Сглаживание потока на складе - 1/2
01:16:48 Сглаживание потока на складе - 2/2
01:22:12 Функция вознаграждения действий
01:25:02 Реальный мир - это беспорядок
01:27:38 Заключение
01:30:00 Предстоящая лекция и вопросы аудитории

Описание

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

Полный текст

Слайд 1

Добро пожаловать на эту серию лекций по цепям поставок. Я Жоанн Верморель, и сегодня я буду представлять “Распределение товаров в розничной торговле с помощью вероятностных прогнозов”. Распределение товаров в розничной торговле - это простая, но фундаментальная задача: когда и сколько товара вы решаете переместить в любой момент времени между центрами распределения и магазинами, которыми вы управляете? Решение о перемещении товара зависит от будущего спроса, поэтому требуется прогноз спроса какого-либо вида.

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

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

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

Слайд 2

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

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

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

Например, давайте начнем с резервного запаса. Этот запас не реален; у вас нет двух запасов, резервного запаса и рабочего запаса. Есть только один запас, и единственное решение, которое можно принять, - это нужно ли его увеличить или нет. Пополнение запасов определенное количество - это реально, но резервный запас - нет. Аналогично, уровень обслуживания тоже не реален. Уровень обслуживания в значительной степени зависит от модели. Действительно, в розничном спросе данные о продажах ограничены. Таким образом, если вы берете определенный артикул, у вас обычно недостаточно данных, чтобы вычислить значимый уровень обслуживания, просто осмотрев артикул. Вы подходите к уровню обслуживания с помощью моделирования и статистических оценок, что вполне нормально, но это артефакт, а не реальность. Это буквально математическая перспектива, которую вы имеете на свою цепь поставок.

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

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

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

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

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

Slide 3

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

Еще более проблематично то, что сама функция потерь в значительной степени неизвестна. Функцию потерь можно как-то оценить, но только сопоставление потери с реальной обратной связью, которую вы можете получить из своей цепочки поставок, даст вам достоверную информацию о соответствии этой функции потерь. Это не вопрос правильности с математической точки зрения; это вопрос соответствия. Адекватно ли эта функция потерь, которая является математической конструкцией, отражает то, что вы пытаетесь оптимизировать для вашей цепочки поставок? Мы рассмотрели этот парадокс выполнения оптимизации, когда мы не знаем переменные и функцию потерь, в Лекции 2.2, под названием “Экспериментальная оптимизация”. Экспериментальная оптимизация утверждает, что проблема не дана; проблема должна быть обнаружена через повторные итерационные эксперименты. Доказательство правильности функции потерь и ее переменных возникает не как математическое свойство, а через серию наблюдений, основанных на хорошо подобранных экспериментах, полученных из самой цепочки поставок. Экспериментальная оптимизация глубоко меняет наше представление об оптимизации, и это перспектива, которую я буду принимать в этой главе. Инструменты и техники, которые я буду представлять здесь, ориентированы на перспективу экспериментальной оптимизации.

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

Slide 4

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

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

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

Slide 5

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

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

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

Slide 6

Манифест количественной цепочки поставок - это документ, который я впервые опубликовал в 2017 году. Эта перспектива была подробно рассмотрена в Лекции 1.2, но для ясности я сегодня предоставлю краткое резюме. Есть пять основных принципов, но только первые три имеют отношение к нашей теме сегодня. Первые три принципа:

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

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

Slide 7

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

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

Естественно, мы предполагаем видимость продаж в магазинах и уровень товарных запасов как на уровне дистрибуционного центра, так и на уровне магазина, что означает, что мы предполагаем наличие транзакционных данных. Мы также предполагаем, что входящие поставки, которые должны быть сделаны в дистрибуционном центре, известны с оценкой времени прибытия (ETA), которые могут быть с некоторой степенью неопределенности. Мы также предполагаем, что доступна вся малозначимая, но критическая информация, такая как цена покупки продукта, цена продажи продукта, категории продуктов, если таковые имеются, и т. д. Вся эта информация может быть найдена в любой ERP, даже тридцатилетней давности, а также в WMS и системах точек продаж.

Сегодня мы не включаем пополнение дистрибуционного центра (DC) в состав проблемы. На практике пополнение дистрибуционного центра и распределение товаров в магазины тесно связаны, поэтому имеет смысл решать эти проблемы вместе. Причина, по которой я не делаю этого сегодня, - это для ясности и краткости в этой лекции; мы сначала решим более простую проблему. Однако, обратите внимание, что подход, который я представляю сегодня, естественным образом может быть расширен для включения пополнения дистрибуционного центра.

Slide 8

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

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

Сглаживание потока товаров также является очень желательным. Центр распределения (ЦР) имеет номинальную мощность, при которой он работает с максимальной экономической эффективностью. Эта максимальная эффективность обусловлена физической организацией ЦР, а также количеством постоянного персонала, связанного с ним. Идеально, ЦР должен работать ежедневно, оставаясь очень близким к своей номинальной мощности, чтобы быть наиболее экономически эффективным. Однако поддержание максимальной эффективности в центре распределения (ЦР) требует сглаживания потока от ЦР к магазинам. Экономическая перспектива отличается от традиционных перспектив, ориентированных на уровень обслуживания, часто встречающихся в основной литературе по цепям поставок. Мы ищем долларовую отдачу, а не процентные пункты. Единственный способ определить, разумно ли изменить схему распределения запасов на сетевом уровне для снижения операционных затрат по сравнению с незначительным снижением качества обслуживания в магазинах, - это принять экономическую перспективу, представленную здесь. Если вы принимаете перспективу уровня обслуживания, она не может дать такие ответы. Наша цель на данном этапе - установить числовые рецепты, которые позволят оценить экономические результаты для любого принятого решения по распределению запасов.

Slide 9

В предыдущей главе, пятой главе, мы обсудили, как создавать вероятностные прогнозы и представили специализированный тип данных “ranvar”, который представляет одномерные дискретные вероятностные распределения. Вкратце, ranvar - это специализированный тип данных, используемый для представления простого одномерного вероятностного прогноза в Envision.

Envision - это язык программирования, разработанный компанией Lokad исключительно для предиктивной оптимизации цепей поставок. Хотя в этих лекциях нет ничего фундаментально уникального в Envision, он используется для ясности и краткости презентации. Описанные сегодня числовые рецепты могут быть реализованы на любом языке, таком как Python, Julia или Visual Basic.

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

Основное свойство ranvar по сравнению с гистограммой заключается в том, чтобы ограничивать как стоимость ЦП, так и стоимость памяти и делать их как можно более низкими. Также важно обеспечить, чтобы числовая аппроксимация не имела существенного значения с точки зрения цепи поставок. Важно отметить, что здесь мы не занимаемся научными вычислениями, а вычислениями в области цепей поставок. Хотя числовые расчеты должны быть точными, нет необходимости в крайней точности. Имейте в виду, что мы не занимаемся научными вычислениями здесь; мы занимаемся вычислениями в области цепей поставок. Если у вас есть аппроксимация с точностью до одной части на миллиард, это не имеет существенного значения с точки зрения цепи поставок. Числовые расчеты должны быть точными, но нет необходимости в крайней точности.

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

Slide 10

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

Простой способ организации этих вариантов - поместить их в список, как показано на экране. Список охватывает несколько SKU, и для каждого SKU вы добавляете одну строку на каждый вариант. Каждый вариант представляет собой количество для выделения. Вы можете выделить ноль, одну, две, три и так далее. На самом деле вам не нужно идти до бесконечности; вы можете остановиться на количестве товара на складе в дистрибуционном центре. Более реалистично у вас обычно есть нижняя граница, такая как максимальная вместимость полки для продукта в магазине.

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

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

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

Slide 11

Таким образом, одним из решений, принятых Lokad для работы с большим количеством вариантов, являются zedfuncs. Этот тип данных, как и ranvars, является аналогом ranvar с точки зрения принятия решений. ranvars представляют все возможные будущие события, а zedfuncs представляют все возможные решения. В отличие от ranvars, представляющих вероятности, zedfunc представляет все экономические результаты, связанные с одномерной дискретной серией вариантов.

Zedfunc, или zedfunction, технически является функцией, отображающей целые числа, как положительные, так и отрицательные, в вещественные значения. Это техническое определение. Однако, как и в случае с ranvars, невозможно представить любую произвольную или сложную функцию, такую как zedfuncs, с конечным количеством памяти. В этом случае также существует компромисс между точностью и разрешением.

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

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

Алгоритм сжатия, используемый Lokad для zedfuncs, отличается от используемого для ranvars, потому что мы не решаем те же числовые проблемы. Для ranvars нам в основном важно сохранить массу вероятностей наших смежных сегментов. Для zedfunc фокус другой. Мы обычно хотим сохранить количество вариации, наблюдаемой от одной позиции к другой, потому что именно с этой вариацией мы можем решить, является ли это последним прибыльным вариантом или мы должны остановиться. Поэтому алгоритм сжатия также отличается.

Slide 12

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

График, который вы видели на предыдущем слайде, был сгенерирован сценарием. В строках один и два мы объявляем две линейные функции, f и g. Функция “linear” является частью стандартной библиотеки, а “linear of one” - это просто функция идентичности, полином первой степени. Функция “linear” возвращает zedfunc, и с zedfunc можно добавить константу. У нас есть два полинома первой степени, f и g. В строке три мы строим полином второй степени через произведение f и g. Строки с 5 по 10 - это вспомогательные функции, в основном шаблонный код, для построения графика zedfunc.

На этом этапе у нас есть контейнер данных для zedfunc и экономических результатов. Zedfunc - это контейнер данных, так же как ranvar был для вероятностного прогноза. Однако нам все еще нужны числовые методы для вычисления этих экономических результатов. У нас есть контейнер данных, но я еще не описал, как мы вычисляем эти экономические результаты и заполняем zedfuncs.

Slide 13

Функция вознаграждения за запас - это небольшая структура, предназначенная для вычисления экономической отдачи для каждого уровня запаса одного SKU с учетом вероятностного прогноза и небольшого набора экономических факторов. Функция вознаграждения за запас была введена в Lokad для объединения наших практик. Еще в 2015 году Lokad уже несколько лет работал с вероятностными прогнозами, и через проб и ошибок мы уже выявили ряд числовых методов, которые хорошо работали. Однако они были не совсем унифицированы; это был некоторый беспорядок. Функция вознаграждения за запас объединила все эти идеи в чистую, аккуратную, минималистическую структуру. С тех пор были разработаны более совершенные методы, но они также более сложные. В целях ясности все же лучше начать с функции вознаграждения за запас и представить эту функцию первой.

Функция вознаграждения за запас действительно заключается в поиске числового метода, который даст нам расчет экономических результатов, связанных с этими вероятностными прогнозами. Функция вознаграждения за запас подчиняется уравнению, которое вы видите на экране, и определяет экономическую отдачу в момент времени t, которую вы можете получить для запаса на руках, k. Переменная R представляет собой экономическую отдачу, выраженную в долларах или евро. Функция имеет две переменные: время (t) и запас на руках (k). Мы хотим вычислить это вознаграждение для всех возможных уровней запаса.

Существует четыре экономических переменных, которые нужно учитывать:

M - это валовая маржа с проданной единицы. Это маржа, которую вы заработаете, успешно обслуживая одну единицу. S - это штраф за отсутствие товара на складе, своего рода виртуальная стоимость, которую вы понесете, когда не сможете обслужить клиента. Даже если вам не нужно платить штраф клиенту, существует стоимость, связанная с неудачным предоставлением должного обслуживания, и эту стоимость нужно моделировать. Один из самых простых способов моделирования этой стоимости - назначить штраф за каждую единицу, которую вы не смогли обслужить. C - это стоимость хранения, стоимость за единицу за период времени. Если у вас есть одна единица на складе в течение трех периодов, это будет три раза C; если у вас есть две единицы на складе в течение трех периодов, это будет шесть раз C. Alpha используется для дисконтирования будущих отдач. Идея заключается в том, что то, что происходит в далеком будущем, имеет меньшее значение, чем то, что собирается произойти в ближайшем будущем. Функция вознаграждения за запас настолько проста, насколько это возможно, не будучи чересчур упрощенной. Уравнение указывает, что если спрос превышает запас на руках, отдача включает маржу для всего запаса, который у нас есть.

Это означает, что у нас есть k марж, поэтому мы продаем все единицы, которые у нас есть, а затем понесем штраф, который будет равен Y(t) - k за все единицы, которые мы не смогли обслужить.

В противном случае, если запас на руках превышает спрос, мы можем получить выгоду от Y(t) умножить на M, что представляет собой маржу от продажи сегодня. Затем нам придется заплатить за стоимость хранения. Стоимость хранения на сегодня будет равна тому, что останется в конце дня, то есть k - Y(t) умножить на C, плюс альфа умножить на функцию вознаграждения за запас R* для следующего дня.

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

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

Альфа-коэффициент временной скидки очень полезен, потому что он позволяет избежать необходимости указывать конкретный временной горизонт. Функция вознаграждения за акции не работает с конечным временным горизонтом; вы идете до бесконечности. Благодаря альфа, который является значением, строго меньшим единицы, экономические результаты, связанные с событиями в очень отдаленном будущем, становятся бесконечно малыми, поэтому они становятся незначительными. У нас нет никакого вида отсечки, которая всегда произвольна, такой как сокращение горизонта вашей поставочной цепи до 60 дней, 90 дней, одного года или двух лет.

Slide 14

В Envision функция вознаграждения за акции принимает ranvar в качестве входных данных и возвращает zedfunc. Функция вознаграждения за акции является небольшим строительным блоком, который превращает вероятностный прогноз (ranvar) в zedfunc, который является контейнером для оцененных экономических доходов от ряда вариантов. Как следует из названия, функция вознаграждения за акции является экономическим доходом, связанным с каждой отдельной акцией: что произойдет, если у меня нет акций, одна акция, две акции, три акции и так далее. Zedfunc будет отражать экономические результаты для каждого уровня акций, кодируя экономический доход, связанный с соответствующим уровнем акций.

Процесс вычисления этих zedfunc иллюстрируется на экране. На строке 1 мы вводим фиктивный спрос на один день, который представляет собой случайное пуассоновское распределение. На строках 2-7 мы вводим экономические переменные, и, кстати, у нас есть две альфы. Есть еще одна подводная ловушка: у нас есть рычаговый эффект на запасах. Как только запасы были направлены в магазин, их обычно очень дорого вернуть. Это отражает то, что любое выделение, сделанное для магазина, практически окончательно. Что касается затрат на хранение, альфа не должна быть слишком маленькой, потому что мы действительно понесем эти затраты на хранение, если мы переборщим с запасами. Мы не можем отменить это решение. Однако, когда речь идет об альфа, связанной с маржой, реальность такова, что, как и у нас будет другие возможности решить будущие дефициты товара, у нас будет другие возможности привезти больше товара и получить ту же самую маржу с товаром, который будет доставлен позже. Таким образом, нам нужно намного более агрессивно учитывать все, что происходит на стороне маржи, по сравнению с тем, что происходит со стоимостью хранения.

На строках 9-11 мы вводим саму функцию вознаграждения за акции. Эта функция, функция вознаграждения за акции, которую я представил на предыдущем слайде, может быть линейно разложена на три компонента, соответственно обрабатывающие маржу, стоимость хранения и штраф за дефицит товара отдельно. Действительно, у нас есть линейное разделение, и в Envision эти три компонента вычисляются отдельно. Мы можем умножить zedfunc на фактор M, который будет валовой маржей.

На строках 13-15 окончательное вознаграждение восстанавливается путем сложения трех экономических компонентов. В этом скрипте мы используем тот факт, что у нас есть векторное пространство zedfunc. Эти zedfunc не являются числами; они являются функциями. Но мы можем их складывать, и результатом сложения является другая функция, которая также является zedfunc. Переменная вознаграждение является результатом сложения этих трех компонентов. Под капотом вычисление функции вознаграждения за акции выполняется с помощью анализа с фиксированной точкой, который может быть выполнен за постоянное время для каждой компоненты. Это постоянное время вычисления может показаться незначительной технической деталью, но когда вы имеете дело с большой розничной сетью, это делает разницу между модным прототипом и фактическим решением, готовым к производству.

Slide 15

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

Например, предположим, у нас уже есть два товара на складе, и если мы добавим третий товар, мы повысим ожидаемый уровень обслуживания с 80% до 90%. Это хорошо, и, возможно, большинство в сети согласится с идеей привезти одну дополнительную единицу, чтобы уровень обслуживания мог повыситься с 80 до 90. Это кажется очень разумным, поэтому они скажут, что это хороший шаг. Однако, что если эта единица, которую мы собираемся переместить, эта третья единица, на самом деле является последней доступной на центре распределения? У нас уже есть другой магазин в сети, который уже столкнулся с нехваткой товара, и если мы переместим эту единицу в магазин, где она станет третьей единицей, мы продлеваем нехватку товара для магазина, который уже полностью распродал этот продукт. В этой ситуации почти наверняка перемещение единицы в магазин, который уже полностью распродал товар, является более разумным решением и должно иметь более высокий приоритет.

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

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

Slide 16

Ранжирование вариантов выделения запасов относительно просто с помощью соответствующих инструментов. Давайте рассмотрим этот скрипт Envision. В строке 1 мы создаем три SKU с названиями A, B и C. В строке 2 мы генерируем случайные цены покупки от 1 до 10 в качестве фиктивных данных. В строке 3 мы генерируем фиктивные zedfuncs, которые должны представлять вознаграждение за каждый из этих SKU. На практике zedfunc должен вычисляться с помощью функции вознаграждения за запасы, но чтобы сделать код кратким, мы используем здесь фиктивные данные. Вознаграждение представляет собой убывающую линейную функцию, которая достигнет нуля при уровне запаса 6. В строке 4 мы создаем таблицу G, сокращение для сетки, которая представляет наши запасы на складе. Мы предполагаем, что уровни запасов выше 10 не стоит оценивать. Это предположение разумно, учитывая, что в терминах фиктивных данных у нас есть функция вознаграждения, которая становится отрицательной при уровне запаса на складе 6. В строке 6 мы извлекаем предельное вознаграждение за любую единицу на складе, чтобы получить эту таблицу сетки. Мы используем zedfunc, функцию, представляющую вознаграждения, чтобы извлечь значение для позиции запаса G.N. Стоит отметить, что начиная с строки 6, не имеет значения, как были изначально сгенерированы данные. Строки с 1 по 4 - это просто фиктивные данные, которые не будут использоваться в рабочей среде, но начиная с строки 6, это будет суть того же, что и в рабочей среде.

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

Наконец, в строках с 9 по 15 мы отображаем таблицу, отсортированную по убыванию оценок. Важно отметить, что в скрипте нет сложной логики. Первые четыре строки - это просто генерация фиктивных данных, и последние шесть строк - это просто отображение приоритезированного выделения. Как только zedfuncs присутствуют, и у нас есть функция, представляющая экономический доход за уровень запаса, превращение этих zedfuncs в приоритезированный список является полностью простым.

Слайд 17

На экране таблица, полученная при выполнении предыдущего скрипта Envision, показывает, что SKU с названием C занимает первое место. Все SKU имеют одинаковую экономическую отдачу за свою первую единицу, а именно $5 прибыли. Однако C имеет самую низкую цену покупки в размере $3.99, и поэтому, разделив вознаграждение в размере $5 на $3.99, мы получаем оценку примерно 1.25, что является самой высокой оценкой в сетке. Вторая единица C имеет оценку примерно 1, что является второй по высоте оценкой.

На третьем месте в сетке у нас есть еще одно SKU с названием B. B имеет более высокую цену покупки, и поэтому его оценка за первую единицу составляет только 0.96. Однако из-за убывающей отдачи, которую мы получаем, распределяя первые две единицы на SKU C, первая единица B получает более высокую оценку, чем третья единица C, и поэтому она занимает более высокое место, чем третья единица C. По сути, этот список приоритетов идет очень глубоко, но предназначен для обрезки с помощью порога. Например, мы можем решить, что существует минимальная ожидаемая отдача от инвестиций, и только единицы, превышающие эту ожидаемую отдачу от инвестиций, получают выделение. После определения порога мы можем взять все строки, которые находятся выше порога, и посчитать количество строк для каждого SKU. Это дает нам общее количество единиц, которые должны быть выделены для каждого отдельного SKU. Мы вернемся к этой проблеме обрезки через минуту, но идея заключается в том, что после определения порога вы агрегируете количество по SKU, и это дает вам общее количество, которое должно быть выделено для каждого отдельного SKU. Именно это ожидает ваша система управления складом или система планирования ресурсов предприятия, которая существует в центре распределения, чтобы организовать отгрузку на следующий день в магазины.

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

Слайд 18

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

На этом экране у нас есть вариант предыдущей таблицы, полученный с помощью другого скрипта Envision, который является минимальным вариантом того, что было представлено два слайда назад. По сути, я разбиваю экономические факторы, которые вносят вклад в вознаграждение. Здесь у нас есть три дополнительных столбца: маржа, стоимость хранения и дефицит товара. Маржа - это ожидаемая средняя валовая маржа для этой одной выделяемой единицы. Стоимость хранения - это ожидаемая средняя стоимость размещения этой одной единицы на складе в магазине. Дефицит товара - это ожидаемый штраф, который будет избежан, поэтому штраф за дефицит товара здесь положительное значение. Итоговое вознаграждение - это просто сумма этих трех компонентов, и все эти значения выражены в денежных суммах, таких как доллары. Столбец, который представляет собой доллары маржи, доллары стоимости хранения, доллары дефицита товара и вознаграждение, представляет собой общую сумму долларов, которую вы можете ожидать, поместив эту одну единицу в магазин.

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

Приоритизированный список распределения, который декомпозирует экономические факторы, является мощным инструментом аудита. Он позволяет практикам в сфере цепей поставок напрямую вызывать сомнения в основах, а не заниматься техническими деталями. Вы можете задавать вопросы напрямую, например: У нас есть затраты на хранение, которые имеют смысл, учитывая ситуацию, в которой мы находимся? Соответствуют ли эти затраты виду рисков, которые мы принимаем? Вы можете забыть о прогнозе, сезонности, о том, как вы моделируете сезонность, о том, как вы учитываете убывающий тренд и так далее. Вы можете напрямую вызывать сомнения в конечном результате, который представляет собой долларовые показатели для этих затрат на хранение. Они реальны? Они имеют смысл? Очень часто вы можете обнаружить числа, которые не имеют смысла, и исправить их напрямую.

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

Если ваша инструментация цепи поставок исключительно сосредоточена на точности прогнозирования спроса, вы ослеплены для 90% (или более) реальных проблем. В масштабной цепи поставок это оценка, вероятно, составит около 99%. Инструментация цепи поставок абсолютно необходима для выявления ключевых факторов, которые влияют на принятие решений, и эти факторы должны иметь экономическую природу, если вы хотите сосредоточиться на том, что делает вашу компанию прибыльной. В противном случае, если вы работаете с процентами, вы не сможете определить приоритеты своих действий, и вы будете решать проблемы без разбору. Речь идет о масштабной цепи поставок, поэтому всегда есть множество числовых проблем. Если вы безразлично решаете все эти проблемы, это означает, что вы всегда работаете над вещами, которые в значительной степени несущественны. Вот почему вам нужно иметь долларовые показатели доходов и затрат. Именно так вы можете определить приоритеты своей работы и усилий по разработке ваших числовых рецептов. Иногда вам даже не нужно решать, стоит ли исправлять ошибку; если речь идет о нескольких долларах в год, это даже не ошибка, которую стоит исправлять на практике.

Slide 19

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

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

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

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

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

Slide 20

Опыт Lokad показывает, что сглаживание потока на складе с помощью плоской отсечки мощности хорошо работает в большинстве розничных ситуаций. На экране вы можете увидеть типичную экономическую кривую доходности, которую вы наблюдаете, когда рассматриваете все возможные отсечки. На оси X у нас количество единиц, отправляемых со склада. Мы концептуально предполагаем, что единицы отправляются по одной, чтобы мы могли наблюдать предельный вклад каждой отдельной единицы. Естественно, в производстве единицы отправляются пакетами, а не по одной, но это просто для того, чтобы мы могли построить график. На оси Y у нас предельные экономические результаты на уровне магазина, для n-й единицы, отправляемой в магазин, любой магазин в сети. Первые выделенные единицы генерируют основную часть дохода. На практике верхняя часть списка всегда состоит из ситуаций с отсутствием товара, требующих немедленного решения. Вот почему первые единицы решают проблемы с отсутствием товара, и вот почему экономический доход очень высок. Затем доходы уменьшаются, и мы входим в плоскую часть кривой.

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

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

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

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

Slide 21

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

В 2021 году один из нас в Lokad опубликовал функцию вознаграждения за действия. Функция вознаграждения за действия является духовным наследником, можно сказать, функции вознаграждения за запасы, но эта функция имеет более детализированную перспективу на сами вероятностные прогнозы. Действительно, все вероятностные прогнозы не равны. Сезонность, изменяющиеся сроки поставки и ожидаемые даты приема в центрах распределения учитываются в функции вознаграждения за действия, в то время как они не учитывались в функции вознаграждения за запасы.

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

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

Slide 22

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

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

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

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

Slide 23

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

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

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

Slide 24

Думаю, это все на сегодня. Следующая лекция состоится в среду, 6 июля, в то же время, в 15:00 по парижскому времени. Я перейду к седьмой главе, чтобы обсудить тактическое выполнение количественной инициативы в снабжении. Кстати, я вернусь к главе 5, где будут обсуждаться вероятностные прогнозы, и главе 6, где будут обсуждаться методы принятия решений, на последующих лекциях. Моя цель - иметь полную перспективу на все элементы на начальном уровне, прежде чем углубляться в какую-либо конкретную тему.

Так что на этом этапе я реально посмотрю на вопросы.

Вопрос: У zedfunc может быть бесконечное количество возможностей. В этом случае все решения будут краткосрочными?

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

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

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

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

Вопрос: В функциях вознаграждения за запасы, помимо прямых параметров, таких как маржа, мы также имеем дело с штрафами за отсутствие товара. Как мы можем научиться оптимизировать эти сложные параметры?

Это очень хороший вопрос. Действительно, штрафы за отсутствие товара реальны; в противном случае никто бы даже не заморачивался с высокими уровнями обслуживания. Причина, по которой вы хотите иметь уровни обслуживания, заключается в том, что с экономической точки зрения каждый розничный продавец, которого я знаю, убежден, что штрафы за отсутствие товара реальны. Клиенты не любят отсутствие высококачественного обслуживания. Но я бы не сказал, что они сложные; они сложны. Они по своей сути сложны, и часть их сложности заключается в том, что на кону находится долгосрочная стратегия розничной сети. С большинством моих клиентов, например, штраф за отсутствие товара - это то, о чем я обсуждаю непосредственно с генеральным директором компании. Это доходит до самого верха; это стратегия супердолгосрочной розничной сети, которая находится под угрозой.

Так что это не так сложно, но определенно сложно, потому что это очень важное обсуждение. Что мы хотим сделать? Как мы хотим обращаться с клиентами? Хотим ли мы сказать, что у нас самые лучшие цены и извините, если качество обслуживания не такое хорошее, какое вы можете получить, но то, что у вас есть, - это что-то уникальное с очень низкими ценами? Или вы хотите иметь новизну? Если у вас есть новизна, это означает, что все время поступают новые продукты, и если у вас все время поступают новые продукты, это означает, что старые продукты устаревают, и, следовательно, это означает, что вам следует терпеть возникновение дефицита товара, потому что именно так вы вводите новизну.

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

Вы видите, здесь идет обсуждение туда и обратно. Обычно ученый в области цепей поставок будет тестировать ряд значений, представлять экономические результаты и объяснять макро-затраты, связанные с фактором. Они могут сказать: “Хорошо, мы можем установить очень большой штраф за дефицит товара, но будьте осторожны, если мы это сделаем, это означает, что наша логика распределения запасов всегда будет направлять много товара в магазины”. Потому что если сообщение состоит в том, что дефициты товара смертельны, это означает, что мы должны сделать все возможное, чтобы предотвратить их возникновение. В основном, нам нужно провести это обсуждение с большим количеством итераций, чтобы руководство могло проверить реальность: “Является ли моя долгосрочная стратегия экономически целесообразной с учетом того, что моя розничная сеть фактически может сделать?” Вот как вы постепенно сходитесь. Кстати, это не что-то, что застывает. Компании меняют и корректируют свою стратегию со временем, поэтому то, что вы устанавливаете фактор штрафа за дефицит товара в 2010 году, не обязательно должно быть таким же значением в 2022 году.

Особенно, например, с развитием электронной коммерции. Есть много розничных сетей, которые просто говорят: “Ну, я стал намного терпимее к дефицитам товара в своих магазинах, особенно для специализированных магазинов”. Потому что, по сути, когда товар отсутствует, особенно вариант по размеру, люди просто заказывают его онлайн на электронной площадке. Магазин становится похожим на выставочный зал. Таким образом, качество обслуживания выставочного зала сильно отличается от ожидаемого, когда магазин был буквально единственным способом продажи товаров.

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

Понимание тенденции чего именно? Если это тенденция спроса, функция вознаграждения за запасы - это функция, которая использует вероятностный прогноз. Так что, какая бы тенденция спроса у вас ни была, это обычно зависит от того, как вы моделируете спрос. Что касается функции вознаграждения за запасы, вероятностный прогноз уже включает все это, независимо от наличия или отсутствия тенденции.

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

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

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

Вопрос: Сглаживание потоков на складе требует сглаживания производственного потока. Учитывает ли эту модель принятие решений?

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

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

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

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

Я считаю, что проблема с цепями поставок заключалась в том, что до появления интернета цепи поставок по своей природе были географически распределены, с магазинами, центрами распределения и т. д. Раньше 1995 года было возможно, но очень сложно передавать данные через интернет для компаний. Это было осуществимо, но делать это надежно, дешево и иметь корпоративные системы, позволяющие объединить все эти данные, было редкостью. Таким образом, цепи поставок были очень рано цифровизированы, как в 80-х годах, но они не были сильно сетевыми. Сетевой элемент и вся инфраструктура пришли относительно поздно, я бы сказал, после 2000 года для большинства компаний.

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

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

Вопрос: Что насчет стоимости отсутствия товара на складе, в основном рассчитанной по стоимости неправильного размещения?

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

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

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

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

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

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

Пока товар находится на центре распределения, вы можете изменить свое мнение. Однако, как только он распределен в конкретный магазин, стоимость транспортировки его обратно на склад часто является запретительно дорогой и чем-то, чего вы хотели бы избежать.

Большое спасибо, и надеюсь увидеть вас в следующий раз. Мы обсудим, как осуществлять тактические стратегии и начать реальную количественную инициативу в цепи поставок в реальной компании. Увидимся в следующий раз!