Как спрогнозировать запасы в нескольких местах Shopify
Разделение одного прогноза на несколько мест делает каждую историю более тонкой и зашумленной. Когда прогнозировать общую сумму и распределять ее, а когда местоположение зарабатывает самостоятельно.
Ваш прогноз на уровне магазина не нарушается, когда вы открываете второе заведение. Это перестанет быть тем числом, которое вам нужно. Shopify прямо объясняет, почему: «Инвентарь каждой локации независим и не может быть использован совместно или объединен с другими локациями». Одного прогноза по 5 единиц в день было достаточно, когда было одно место для их размещения. В случае двух вам также придется ответить, сколько из них куда идет, и для этого ответа требуется представление спроса по каждому местоположению, и у вас может не хватить данных для построения.
Настройка местоположений, редактирование количества для каждого местоположения, приоритет выполнения заказа и выполнение перемещения — это механика, описанная в управление запасами в нескольких местах Shopify. После этого этот пост начинается с вопроса планирования, приведенного ниже: спрогнозировать магазин и разделить результат или спрогнозировать каждое местоположение на основе его собственной, более тонкой истории.
Почему местоположения не соответствуют прогнозу
Возьмите один SKU. Cedar & Fig, 250 г, продается в магазине примерно 5 штук в день, стоит 7 долларов, продается в розницу по 18 долларов, а доставка занимает 12 дней. У вас два филиала: Портленд, где выполняется большинство онлайн-заказов, и Остин, более новый и меньший по размеру.
| неделя | Портленд | Остин | Всего в магазине |
|---|---|---|---|
| 1 | 27 | 12 | 39 |
| 2 | 22 | 13 | 35 |
| 3 | 26 | 8 | 34 |
| 4 | 23 | 9 | 32 |
| 5 | 27 | 9 | 36 |
| 6 | 22 | 12 | 34 |
| 7 | 25 | 10 | 35 |
| 8 | 24 | 11 | 35 |
| Всего восемь недель | 196 | 84 | 280 |
Это 280 единиц за восемь недель, 35 в неделю, 5 в день. В Портленде в среднем 24,5 в неделю, а в Остине — 10,5, поэтому соотношение составляет 70/30. Теперь посмотрите на колебание, а не на среднее значение. В Портленде число варьируется от 22 до 27, в Остине — от 8 до 13. Одинаковый разброс в пять единиц в обеих колонках, но пять единиц — это пятая часть среднего недельного показателя Портленда и почти половина показателя Остина. В Остине ничего не пошло не так. Это меньшая серия, а меньшая серия несет больший относительный шум при том же поведении.
Это первая проблема: деление одной истории на количество локаций делает каждую результирующую серию тоньше. Если в каком-либо месте товар продается по одному или по два с пустыми неделями между ними, вы перешли в непостоянный спрос, где стандартные методы усреднения перестают применяться. ABC-XYZ-анализ — это обычный способ определить, какие SKU достаточно устойчивы для традиционного прогнозирования, прежде чем приступить к работе.
Вторая проблема заключается в том, что ряд продаж по каждому местоположению не является рядом спроса по каждому месту. Маршрутизация заказов определяет, в какое место будет доставлен заказ после того, как заказ уже существует, и одно из установленных правил Shopify заключается в том, что «Местоположения, в которых есть все товары на складе, имеют приоритет над теми, в которых их нет». Когда запасы в Портленде заканчиваются, заказы, которые Портленд мог бы отправить, вместо этого уходят из Остина, и история Остина незаметно поглощает спрос, который никогда не был у Остина. Этому посвящен отдельный раздел ниже.
Централизованное прогнозирование и прогнозирование на уровне местоположения
Есть два способа получить число для каждого местоположения.
Централизовано, затем распределено. Прогноз магазина. Cedar & Fig продает 5 единиц в день. Затем разделите этот прогноз на историческую долю спроса в каждом регионе: 70 процентов в Портленде и 30 процентов в Остине, что даст 3,5 и 1,5 единиц в день. Номер каждой локации получается из одной серии, подходящей для всех 280 единиц истории.
Уровень местоположения. Прогнозируйте каждое местоположение самостоятельно. Сопоставьте 196 единиц Портленда за восемь недель как одну серию и 84 единицы Остина как другую. Две истории, два прогноза, никакого общего предположения о том, как распределяется спрос.
Централизованная версия рассчитана на больший объем данных, поэтому она более устойчива и менее подвержена случайным ошибкам. Цена в том, что разделение представляет собой фиксированное соотношение, взятое из прошлого. Если доля Остина действительно растет, распределение 70/30 будет продолжать обеспечивать ее недостаточное предложение, пока кто-нибудь не изменит соотношение вручную. Версия на уровне местоположения это замечает, потому что собственные числа Остина перемещаются. Он также реагирует на шум: серия, которая колеблется от 8 до 13, радостно сообщит о росте спроса на 30 процентов за неделю, когда ничего не изменилось.
Прогноз магазина, разделенный по фиксированному коэффициенту, хорош ровно настолько, насколько хорош этот коэффициент, а этот коэффициент — это история.
Тот же выбор переходит на уровень ниже, где тонкая серия принадлежит размеру или цвету, а не местоположению: прогнозирование на уровне варианта сравнивает прогнозирование родительского продукта и разбиение по кривой размера с подбором каждого варианта на его собственную историю.
Здесь нет универсально правильного ответа. Все решает то, насколько коррелируют ваши местоположения. Если они растут и падают одновременно, под влиянием одной и той же сезонности и одних и тех же рекламных акций, общая сумма продаж уже содержит почти всю информацию, и централизованный прогноз с преднамеренным разделением потеряет очень мало. Если они будут двигаться независимо друг от друга, поскольку один из них представляет собой розничный торговый зал с местной посещаемостью, а другой — склад, обслуживающий национальную онлайн-аудиторию, серия на уровне магазина представляет собой среднее значение двух разных предприятий, и разделение на обоих концах будет неправильным.
Какой подход подходит вашему магазину
Три теста в том порядке, в котором стоит их применять.
- Глубина истории для каждого местоположения. Возьмите еженедельные данные по местоположению, измерьте разницу между самой высокой и самой низкой неделей и сравните этот разрыв со средним недельным значением. Разрыв, составляющий большую часть среднего значения, означает, что ряд в основном состоит из шума. Остин не проходит этот тест; Портленд его пропускает.
- Требуйте независимости. Выберите несколько недель, когда общий объем продаж в магазинах резко изменился, и проверьте, изменились ли вместе с ним обе локации. Если они будут двигаться вместе, центральный прогноз плюс дробление акций охватят почти все. Если один движется, а другой нет, это место имеет свою собственную модель и получает свой собственный прогноз, как только у него будет объем для его поддержки.
- Цена ошибки. Если переезд между локациями занимает день и стоит недорого, плохой сплит — это неудобство, которое вы исправляете во вторник. Если это займет неделю, то тот же самый плохой сплит — это дефицит.
Большинству магазинов с двумя или тремя точками продаж, один из которых явно доминирует, лучше обслуживать централизованный прогноз и преднамеренное разделение. Прогнозирование на уровне местоположения приносит пользу, когда местоположение имеет достаточный объем для читаемой серии и реальную причину отличаться от остальной части магазина. Какой метод дает базовый прогноз, это отдельное решение, описанное в выбор метода прогнозирования.
Распределение центрального прогноза
Разделитель по умолчанию представляет собой долю прошлого спроса каждого местоположения, и обычно он правильный. Проверка того, что разделение сработало, заключается не в том, чтобы подразделения выглядели соразмерно, а в том, что в обоих местах в конечном итоге будут одни и те же дни прикрытия, что является арифметикой, полученной в решение, в каком месте должен храниться какой инвентарь.
Здесь важно знать, когда доля является неправильным разделителем. Пять случаев, все общие.
- Новое местоположение не имеет доли. Первые несколько распределений представляют собой суждение, основанное на водосборе, для которого вы его открыли, а не на данных, которых у вас нет.
- Доля, измеренная через дефицит, дважды ошибочна. Место, где закончилось место, выглядит меньше, чем есть на самом деле, место, где оно закончилось, выглядит больше, и обе ошибки записываются в следующее распределение.
- Розничный торговый зал не продает один и тот же ассортимент. Его доля в вашем общем спросе и его доля спроса на один SKU — это разные числа. Разделение на уровне SKU.
- Сезонность может проявляться в разных календарях. Два местоположения в разных климатических условиях не достигнут пика на одной неделе, и годовая доля полностью это скрывает.
- Изменение правила маршрутизации приводит к сбросу общего ресурса в одночасье. Приоритет выполнения повторного заказа и доля, которую вы разделяете, описывают магазин, которого больше не существует.
Все зависит от того, насколько правильно будет установлена ставка на уровне магазина. Превращение данных о продажах Shopify в ежедневную ставку охватывает эту работу и более широкую руководство по прогнозированию запасов рассказывает, что с этим делать.
Проблема с шумом передачи
Трансфер не увеличивает ваши продажи. Передачи Shopify перемещают запасы между магазинами, и каждое изменение отображается в вашей истории корректировок, поэтому перемещение 60 единиц из Портленда в Остин ничего не добавляет к чьим-либо показателям спроса. Шум исходит откуда-то менее очевидно.
Это происходит из-за маршрутизации. Поскольку Shopify отдает приоритет местоположениям, в которых есть все товары на складе, место, куда отправляется заказ, частично зависит от того, в каких местах в тот день был товар, а не от того, где находился покупатель. Каждый час, потраченный Портлендом на ноль, увеличивает количество заказов в списке выполнения Остина. Наивно читая историю Остина, можно сказать, что спрос там вырос. Это не так. Портленд закончился.
Прежде чем доверять любому номеру местоположения, стоит проверить второе искажение. То, что клиент может купить онлайн, — это сумма доступных запасов в местах, где разрешено выполнять онлайн-заказы, и отключение этого переключателя для каждого местоположения имеет задокументированные последствия: «Предотвращение выполнения онлайн-заказов для местоположения удаляет все запасы, назначенные этому местоположению, из онлайн-количества продукта». Создайте прогноз на основе данных, доступных в Интернете, и отключенное местоположение будет невидимым для него, запасов и всего остального.
После изменения, опубликованного в мае 2026 года, имеющиеся запасы в местоположении, которое не соответствует варианту, «теперь отображается и может быть обновлено», а доступное количество не отображается, «потому что это местоположение не используется для выполнения новых заказов», отображается в виде тире с предупреждением «Местоположение не соответствует этому варианту». Большинство опубликованных рекомендаций не соответствуют действительности, поэтому, если вы прочитали, что запасы в невыполненном месте невидимы, значит, они устарели.
Одна вещь, которую нельзя брать ни из одного блога, включая этот: какие отчеты по местоположениям включены в ваш план. Собственная документация Shopify противоречит сама себе, поэтому проверьте своего администратора.
Практическое решение состоит в том, чтобы реконструировать спрос, а не читать его выполнение. Отметьте каждый период, в течение которого местоположение было на нуле, исключите эти недели из его истории и сделайте то же самое для местоположения, в котором наблюдался провал. Вручную это утомительно, и это одна из причин, по которой многие магазины останавливаются на центральном прогнозе.
Объединение страхового запаса
Страховой запас не делится. Это стандартный результат теории запасов, и это самый сильный аргумент против более широкого распределения запасов, чем необходимо: один буфер, покрывающий совокупную изменчивость, меньше, чем сумма отдельных буферов, поддерживаемых на одном и том же уровне обслуживания, потому что тяжелая неделя в одном месте может быть поглощена спокойной неделей в другом только в том случае, если единицы находятся в одном и том же месте. Разделите один и тот же спрос на два места, и ваш общий резервный запас увеличится, а не уменьшится.
Насколько он увеличится, зависит от того же вопроса корреляции, который определил метод прогнозирования. Когда местоположения перемещаются независимо, объединенный буфер выполняет большую работу, и его разделение обходится дорого. Когда они объединяются, объединение никогда особо не спасает. Формула для определения размера буфера и выбора уровня обслуживания, лежащего в ее основе, находятся в руководство по страховому запасу.
Прежде чем приступить к планированию собственных инструментов Shopify: у него нет поля точки повторного заказа для каждого местоположения, а его справочный центр не документирует прогнозирование для каждого местоположения или какое-либо планирование распределения запасов. Он направляет заказы на уже существующие запасы. Он не дает рекомендаций, какая часть входящей партии куда должна быть отправлена, не выполняет перебалансировку и не помечает локацию, которая вот-вот закончится, в то время как другая находится под прикрытием месяцами. Маршрутизация — это решение, принимаемое во время выполнения, а не планирования.
Процедура проверки
Какой бы подход вы ни выбрали, он приходит в упадок. Большинству магазинов достаточно месячного пропуска на четыре вещи.
- Пересчитайте долю спроса каждого местоположения на ваши лучшие SKU с учетом коэффициента, по которому вы распределяете. Акция, которая переместилась на несколько пунктов, нуждается в изменении.
- Перечислите комбинации местоположений и недель, когда акции достигли нуля, и высчитайте эти недели, прежде чем вносить что-либо в акцию.
- Повторно запустите тест на шум в любом прогнозируемом вами месте отдельно. Локация, которая затихла, могла опуститься ниже точки, на которой можно прочитать ее серию.
- Убедитесь, что в каждом месте, где хранятся запасы, настроено так, как вы планируете для онлайн-выполнения, поскольку этот переключатель решает, будут ли его единицы учитываться при расчете того, что покупатели могут купить.
Четыре события должны ускорить рассмотрение: открытие или закрытие точки, изменение правила маршрутизации, включение или выключение точки для онлайн-выполнения заказов и смена поставщика, которая сдвигает время выполнения заказа.
Большинство магазинов делают это вручную в реальном каталоге, поэтому стоит точно определить, какое программное обеспечение удаляет. StockCue прогнозы и оповещения на уровне SKU в вашем магазине с учетом сезонности для каждого плана, включая бесплатный, а Growth добавляет объяснимую разбивку каждого рекомендуемого количества. Это централизованная половина этого поста. Он не прогнозирует местоположение по местоположению и сегодня не имеет точек повторного заказа для каждого местоположения. Подсчеты запасов в нескольких местах начинаются в Starter, а переносы — это функция Scale. Решение о распределении остается за вами.
STOCKCUE
Центральный прогноз — это та половина, которую вы можете автоматизировать. StockCue сохраняет прогноз на уровне магазина с актуальной сезонностью из вашей собственной истории продаж для каждого плана, включая бесплатный, поэтому единственное, что остается для решения каждого цикла, — это разделение.
Установите StockCue на Shopify →Часто задаваемые вопросы
Должен ли я прогнозировать каждое местоположение Shopify отдельно?
Только если у этого магазина достаточный объем, чтобы его собственную историю продаж можно было прочитать, и есть реальная причина отличаться от остального магазина. Для большинства магазинов с двумя или тремя точками продаж и одним явно доминирующим, прогнозирование общего количества магазинов и разделение его по доле спроса в каждом месте является более устойчивым, поскольку комбинированный ряд подбирается на основе всех данных. Сделка — это оперативность: фиксированное разделение остается неверным до тех пор, пока кто-нибудь не обновит соотношение вручную.
Сколько истории продаж нужно одному месту, чтобы сделать собственный прогноз?
Нет подсчета месяцев, который стоит цитировать, и любое число, которое вы видели, является чьим-то эмпирическим правилом, а не открытием. Полезным тестом является собственный еженедельный ряд местоположения: измерьте разрыв между самой высокой и самой низкой неделей и сравните этот разрыв со средним недельным значением. Если колебание составляет значительную часть среднего значения, ряд в основном представляет собой шум, и разделение прогноза магазина превзойдет его. Если локация продается по одному или по два с пустыми неделями, это прерывистая серия и нужен совершенно другой метод.
Искажают ли перемещения между филиалами мои данные о продажах?
Передача перемещает запасы, поэтому она попадает в историю корректировки запасов, а не в данные о продажах, и не увеличивает спрос ни в одном из местоположений. Настоящее искажение возникает из-за маршрутизации заказов. Shopify отдает приоритет местам, в которых есть все товары на складе, поэтому, когда в одном месте товар заканчивается, заказы, которые он должен был бы отправить, заполняются другим, и история этого места поглощает спрос, который никогда не был его собственным.
Означает ли наличие большего количества локаций, что мне в целом понадобится больше страхового запаса?
Для того же уровня обслуживания — да, и это стандартный результат теории запасов. Один буфер, покрывающий совокупную изменчивость, меньше суммы отдельных буферов, поскольку тяжелая неделя в одном месте может быть поглощена спокойной неделей в другом только тогда, когда единицы находятся в одном и том же месте. Сколько дополнительных ресурсов вам понадобится, зависит от того, насколько независимы локации: если они объединяются, объединение все равно не сэкономит много.
