У планера сотни товаров и одни и те же 160 часов в месяц. Если всем уделять одинаково, на воду, которая продаёт треть объёма, уйдёт столько же внимания, сколько на сироп, который продаётся раз в три месяца. А общая цель «85 % для всех» сделает хвост вечно красным. В этом уроке разделим портфель на группы по важности и по предсказуемости, научимся не путать сезон с капризностью и для каждой группы назначим метод, частоту обзора, время и цель.
A planner has hundreds of items and the same 160 hours a month. Give them all equal attention and the water that sells a third of the volume gets as much care as the syrup that sells once a quarter. And a common "85% for everyone" target keeps the tail red forever. In this lesson we split the portfolio by importance and by predictability, learn not to confuse seasonality with erratic demand, and assign each group its method, review frequency, time and target.
Сегментацию для моделей машинного обучения и редкий спрос подробно разбирают уроки 04-13 и 03-16. Здесь — версия для планера с Excel: как разделить портфель и что с этим делать каждый месяц.
Segmentation for machine learning models and intermittent demand are covered in detail in lessons 04-13 and 03-16. Here is the planner's Excel version: how to split the portfolio and what to do with it every month.
В автопарке десять грузовиков возят 80 % груза, а сорок легковушек — остальное. Грузовики обслуживают по графику и проверяют каждую неделю: поломка одного остановит половину перевозок. Легковушки — по пробегу, раз в полгода. А старый прицеп, который выезжает раз в квартал, вообще не ставят в график — его смотрят перед выездом. Никто не делит механиков поровну между всеми машинами.
In a fleet, ten trucks carry 80% of the cargo and forty cars carry the rest. Trucks are serviced on schedule and checked weekly: one breakdown stops half the deliveries. Cars are serviced by mileage, twice a year. And the old trailer that goes out once a quarter is not on the schedule at all — it is checked before the trip. Nobody splits mechanics equally across all vehicles.
Складываем продажи за год, считаем долю каждого и долю накоплением — от самого крупного вниз. Правило урока: A — пока накопленная доля не больше 80 %, B — до 95 %, остальное — C.
Add up the year's sales, take each item's share and the cumulative share — from the largest down. The lesson rule: A while the cumulative share is at most 80%, B up to 95%, the rest is C.
| ТоварItem | Продажи, тыс. шт.Sales, k units | ДоляShare | НакоплениемCumulative | ABC |
|---|---|---|---|---|
| Вода 1,5 лWater 1.5 L | 400 | 40 %40% | 40 %40% | A |
| Газировка 1 лSoda 1 L | 250 | 25 %25% | 65 %65% | A |
| Сок 1 лJuice 1 L | 150 | 15 %15% | 80 %80% | A |
| Холодный чай 1 лIced tea 1 L | 80 | 8 %8% | 88 %88% | B |
| Лимонад 0,5 лLemonade 0.5 L | 50 | 5 %5% | 93 %93% | B |
| Квас 0,5 лKvass 0.5 L | 40 | 4 %4% | 97 %97% | C |
| Морс 0,2 лBerry drink 0.2 L | 20 | 2 %2% | 99 %99% | C |
| Сироп 0,5 лSyrup 0.5 L | 10 | 1 %1% | 100 %100% | C |
Три товара из восьми — 80 % объёма. Это и есть принцип Парето: немногие важные и многие остальные. Пороги 80 и 95 % — договорённость, а не закон: кому-то удобнее 70/90.
Three items out of eight are 80% of the volume. That is the Pareto principle: the vital few and the useful many. The 80 and 95% thresholds are a convention, not a law: some prefer 70/90.
=СУММЕСЛИ($C$2:$C$41;">="&C2)/СУММ($C$2:$C$41) — сумма всех товаров, которые не меньше этого, делённая на итог. Класс: =ЕСЛИ(D2<=0,8;"A";ЕСЛИ(D2<=0,95;"B";"C")). Таблицу можно не сортировать. Условие — у двух товаров не должно быть одинаковых продаж. Cumulative share for row 2: =SUMIF($C$2:$C$41,">="&C2)/SUM($C$2:$C$41) — the sum of all items that are not smaller than this one, divided by the total. Class: =IF(D2<=0.8,"A",IF(D2<=0.95,"B","C")). No need to sort the table. Condition — no two items may have exactly the same sales. CV = стандартное отклонение ÷ среднее. Ровный ряд даёт маленький CV, рваный — большой. Правило урока: X — CV не больше 0,15, Y — не больше 0,35, остальное — Z.
CV = standard deviation ÷ mean. A steady series gives a small CV, a choppy one a large CV. The lesson rule: X — CV at most 0.15, Y — at most 0.35, the rest is Z.
| РядSeries | 1 | 2 | 3 | 4 | 5 | 6 | СреднееMean | Откл.St. dev. | CV | XYZ |
|---|---|---|---|---|---|---|---|---|---|---|
| РовныйSteady | 100 | 104 | 96 | 100 | 98 | 102 | 100 | 2,82.8 | 0,030.03 | X |
| КолеблетсяFluctuating | 80 | 120 | 90 | 110 | 75 | 125 | 100 | 20,620.6 | 0,210.21 | Y |
| КапризныйErratic | 40 | 170 | 60 | 150 | 30 | 150 | 100 | 60,360.3 | 0,600.60 | Z |
Excel: =СТАНДОТКЛОН(C2:Z2)/СРЗНАЧ(C2:Z2) (EN: =STDEV(C2:Z2)/AVERAGE(C2:Z2)). У всех трёх рядов среднее 100 — разница только в разбросе.
Excel: =STDEV(C2:Z2)/AVERAGE(C2:Z2) (RU: =СТАНДОТКЛОН(C2:Z2)/СРЗНАЧ(C2:Z2)). All three series have a mean of 100 — they differ only in spread.
Вода 1,5 л летом продаётся в 1,4 раза больше среднего, зимой — в 0,7 раза. Это не каприз: сезон повторяется каждый год, и любой метод с сезоном его предскажет. Но CV считает все колебания одинаково — и сезон, и акции, и настоящий шум.
1.5 L water sells 1.4 times the average in summer and 0.7 times in winter. That is not erratic: the season repeats every year and any seasonal method will forecast it. But CV counts every swing the same — season, promos and genuine noise alike.
| SKU «Долины напитков», 24 месяца"Valley Beverages" item, 24 months | CV сыройCV raw | КлассClass | CV очищенныйCV cleaned | КлассClass |
|---|---|---|---|---|
| Кристалл вода 1,5 лKristall water 1.5 L | 0,220.22 | Y | 0,040.04 | X |
| Искра холодный чай 1 л (акции)Iskra iced tea 1 L (promos) | 0,360.36 | Z | 0,090.09 | X |
| Родник квас 0,5 лRodnik kvass 0.5 L | 0,480.48 | Z | 0,410.41 | Z |
Очистка — те же шаги, что в уроках 02-07 и 03-03: делим продажи на сезонный индекс, а месяцы акции и провала после неё заменяем средним обычных месяцев. После этого вода и чай стали X, а квас остался Z — у него капризен сам спрос.
Cleaning uses the same steps as lessons 02-07 and 03-03: divide sales by the seasonal index and replace promo and post-promo dip months with the average of normal months. After that, water and tea became X, while kvass stayed Z — its demand itself is erratic.
CV — только намёк. Прямая проверка: насколько ошибается самый простой прогноз «как год назад» (урок 03-06). Если даже он точен — товар легко прогнозировать. Если ошибается на треть — так и будет у любого метода, и цель надо ставить мягче.
CV is only a hint. A direct check: how wrong the simplest "same as last year" forecast is (lesson 03-06). If even that is accurate, the item is easy to forecast. If it misses by a third, so will any method, and the target must be softer.
| Группа по очищенному CVGroup by cleaned CV | Ошибка «как год назад», среднее по SKU"Same as last year" error, average per item |
|---|---|
| AX · BX · CX | 8 % · 11 % · 11 %8% · 11% · 11% |
| AY · BY · CY | 23 % · 24 % · 27 %23% · 24% · 27% |
| BZ · CZ | 70 % · 33 %70% · 33% |
От X к Y ошибка растёт в 2–3 раза, к Z — ещё выше. Поэтому одна цель на весь портфель не работает: для X «85 %» легко, для Z — недостижимо (урок 05-09). Excel для одной строки: =СУММПРОИЗВ(ABS(O2:Z2-C2:N2))/СУММ(O2:Z2) — второй год против первого.
From X to Y the error grows 2–3 times, and further still towards Z. That is why one target for the whole portfolio does not work: for X "85%" is easy, for Z it is impossible (lesson 05-09). Excel for one row: =SUMPRODUCT(ABS(O2:Z2-C2:N2))/SUM(O2:Z2) — the second year against the first.
Это те же 40 товаров, что в книге Excel. Двигайте пороги, переключайте основу CV и смотрите, как меняются матрица, доля объёма в клетках, ошибка «как год назад» и часы планера в месяц. Новинки и редкий спрос в матрицу не входят — для них свои методы (раздел 9).
These are the same 40 items as in the Excel workbook. Move the thresholds, switch the CV basis and see how the matrix, volume share per cell, "same as last year" error and planner hours per month change. New items and intermittent demand stay out of the matrix — they have their own methods (section 9).
Сама матрица ничего не меняет — меняет политика, которую вы к ней прикрепили. Ниже — правило урока, его удобно взять за основу и подстроить под себя.
The matrix itself changes nothing — the policy you attach to it does. Below is the lesson's rule; use it as a starting point and tune it.
| КлеткаCell | МетодMethod | ОбзорReview | Минут на SKU в месяцMin per item per month | ЦельTarget | ЗапасStock |
|---|---|---|---|---|---|
| AX | статистика, только исключенияstatistics, exceptions only | ежемесячноmonthly | 10 | высокаяhigh | низкийlow |
| AY | статистика + событияstatistics + events | ежемесячноmonthly | 20 | средне-высокаяmedium-high | среднийmedium |
| AZ | статистика + суждение, разбор причинstatistics + judgement, root causes | ежемесячно, глубокоmonthly, in depth | 40 | своя, мягчеown, softer | высокий или под заказhigh or to order |
| BX | статистика автоматическиautomatic statistics | раз в кварталquarterly | 5 | высокаяhigh | низкийlow |
| BY | автоматически + исключенияautomatic + exceptions | по исключениямby exception | 10 | средняяmedium | среднийmedium |
| BZ | укрупнить: прогноз группы и долиaggregate: group forecast and shares | по исключениямby exception | 20 | мягкаяsoft | средний-высокийmedium-high |
| CX | простой метод автоматическиsimple automatic method | раз в полгодаtwice a year | 2 | без отдельнойno separate one | низкийlow |
| CY | автоматическиautomatic | раз в кварталquarterly | 3 | без отдельнойno separate one | точка заказаreorder point |
| CZ | прогноз группы или Кростон / SBAgroup forecast or Croston / SBA | раз в кварталquarterly | 3 | без отдельнойno separate one | под заказ или минимумto order or minimum |
Главное правило: глубокое внимание — туда, где объём большой, а спрос капризный (AZ, AY). AX почти не трогаем — правка ровного ряда чаще вредит, чем помогает (урок 05-04). Хвост C не ведём вручную вообще.
The key rule: deep attention goes where volume is large and demand erratic (AZ, AY). AX is barely touched — editing a steady series hurts more often than it helps (lesson 05-04). The C tail is not managed by hand at all.
Правило урока: нет продаж в первый год истории. У новинки нули до запуска и разгон — CV огромный, но это не каприз. Её ведут по аналогам и кривой разгона (уроки 03-21, 04-14), а через полгода она переходит в обычную матрицу.
The lesson rule: no sales in the first year of history. A new item has zeros before launch and a ramp-up — the CV is huge, but it is not erratic. It is managed by analogues and a ramp-up curve (lessons 03-21, 04-14), and after six months it joins the regular matrix.
ADI = месяцев в истории ÷ месяцев с продажами. Если ADI больше 1,32, продажи бывают не каждый месяц — это редкий спрос (порог классификации Syntetos, Boylan и Croston, 2005). Такой товар прогнозируют темпом: Кростон, SBA, TSB (урок 03-16).
ADI = months of history ÷ months with sales. If ADI is above 1.32, sales do not happen every month — that is intermittent demand (the Syntetos, Boylan and Croston classification threshold, 2005). Such items are forecast as a rate: Croston, SBA, TSB (lesson 03-16).
В портфеле урока 2 новинки и 3 редких SKU. Если оставить их в матрице, они займут клетки CZ и «испортят» её ошибку — а метод для них всё равно другой.
The lesson portfolio has 2 new items and 3 intermittent ones. Leave them in the matrix and they fill the CZ cell and "spoil" its error — while their method is different anyway.
ABC/XYZ отвечает на вопрос «как прогнозировать». Бизнесу важно ещё «зачем этот товар»: новинка для роста, прибыльный атакующий товар, основа объёма, хвост. Это сегментация по роли, и цели точности часто ставят именно по ней (урок 05-09).
ABC/XYZ answers "how to forecast". The business also needs "why this item exists": a launch for growth, a profitable attack item, the volume core, the tail. That is segmentation by role, and accuracy targets are often set by it (lesson 05-09).
| ГруппаGroup | РольRole | Где обычно в ABC/XYZWhere it usually sits in ABC/XYZ |
|---|---|---|
| Атака: новинкиAttack: launches | рост, новые вкусы и форматыgrowth, new flavours and formats | вне матрицы, потом B–C, Y–Zoutside the matrix, then B–C, Y–Z |
| Атака: прибыльAttack: profit | маржа, продвижениеmargin, promotion | A–B, часто Y из-за акцийA–B, often Y due to promos |
| ОсноваCore | объём, загрузка заводовvolume, plant utilisation | A–B, XA–B, X |
| ХвостTail | ассортимент, кандидаты на выводrange, delisting candidates | C, Y–Z, редкий спросC, Y–Z, intermittent |
Две сегментации не спорят: группа задаёт цель и приоритет для бизнеса, клетка ABC/XYZ — метод и время планера. Если «Атака: прибыль» сидит в AZ, это сигнал: акции делают товар капризным, и их надо планировать отдельно.
The two segmentations do not conflict: the group sets the business target and priority, the ABC/XYZ cell sets the method and planner time. If "Attack: profit" sits in AZ, it is a signal: promos make the item erratic and must be planned separately.
Классы пересматривают раз в квартал на скользящих 24 месяцах. Проблема — товары у границы: CV 0,149 в одном квартале и 0,151 в следующем, и товар каждые три месяца меняет метод и цель. Правило урока: менять класс, только если товар два квартала подряд вне своей полосы, или ввести «коридор» ±0,02 вокруг порога.
Classes are reviewed quarterly on a rolling 24 months. The problem is items near a boundary: CV 0.149 one quarter and 0.151 the next, and the item changes method and target every three months. The lesson rule: change the class only if the item is outside its band for two quarters in a row, or use a ±0.02 "corridor" around the threshold.
| РукамиBy hand | НазваниеName |
|---|---|
| «Эти несколько товаров — почти весь объём»"These few items are almost all the volume" | ABC-анализ, принцип ПаретоABC analysis, Pareto principle |
| «Этот товар продаётся ровно, а этот скачет»"This item sells steadily, that one jumps" | XYZ-анализ, коэффициент вариацииXYZ analysis, coefficient of variation |
| «Даже прошлый год его не угадывает»"Even last year does not predict it" | прогнозируемость, эталон «как год назад»forecastability, seasonal naive benchmark |
| «Продаётся не каждый месяц»"Does not sell every month" | редкий спрос, классификация ADI / CV²intermittent demand, ADI / CV² classification |
| «Сначала смотрю важное и капризное»"I look at the important and erratic first" | сегментация спроса, управление по исключениямdemand segmentation, management by exception |
Визуальная проверка обязательна. Прежде чем утвердить классы, откройте графики трёх товаров из каждой клетки Z и трёх из AX. Если у Z видна правильная волна сезона — история не очищена. Если у AX вдруг провал до нуля — это дефицит или смена кода, и класс посчитан на грязных данных.
A visual check is mandatory. Before approving the classes, open the charts of three items from each Z cell and three from AX. If a Z item shows a neat seasonal wave, the history is not cleaned. If an AX item suddenly drops to zero, that is a shortage or a code change, and the class was calculated on dirty data.
Источники: Syntetos, Boylan, Croston, «On the categorization of demand patterns», JORS, 2005 — по документации R-пакета m5 и разборам; Szabłowski, VN2 Winner Report, arXiv:2601.18919, 2026.
Sources: Syntetos, Boylan, Croston, "On the categorization of demand patterns", JORS, 2005 — via the m5 R package documentation and reviews; Szabłowski, VN2 Winner Report, arXiv:2601.18919, 2026.
Победитель соревнования VN2 (2025) прогнозировал все ряды одной глобальной моделью бустинга и отдельно учитывал недели дефицита, а заказы считал от стоимости нехватки и хранения. То есть «свой метод на каждую клетку» уже не единственный путь: одна модель может выучить разное поведение сама. Но сегментация от этого не исчезает — время планера, частота обзора, цель точности и политика запаса по-прежнему зависят от клетки.
The VN2 (2025) competition winner forecast all series with one global boosting model, handled stockout weeks separately and calculated orders from the cost of shortage and holding. So "a separate method per cell" is no longer the only way: one model can learn different behaviours on its own. But segmentation does not disappear — planner time, review frequency, accuracy target and stock policy still depend on the cell.
Три случая из работы планера в компании-производителе напитков. Названия изменены.
Three cases from planning work at a beverage manufacturer. Names are changed.
В книге: «параметры», «сезон», «история» (сырые продажи 40 SKU × 24 месяца), «очищено», «товары» (ABC, CV, XYZ, класс, особые, ошибка «как год назад»), «матрица», «итоги», «политика».
The workbook has: "parameters", "season", "history" (raw sales of 40 items × 24 months), "cleaned", "items" (ABC, CV, XYZ, class, special, "same as last year" error), "matrix", "summary", "policy".
1. A — 11, B — 11, C — 13 (плюс 2 новинки и 3 редких); AX — 10 SKU, 73,5 % объёма; весь класс A — 79,0 %.
2. X — 0, Z — 10 (было 20 и 4): сезон сделал из ровных товаров «колеблющиеся».
3. AX — 7 SKU, 64,5 % объёма.
4. CX 11,5 %, CY 27,2 %, CZ 32,9 %. Отдельную цель для CZ лучше не ставить: прогноз группы и запас под заказ. Если цель нужна — не выше точности «как год назад», то есть около 67 %.
1. A — 11, B — 11, C — 13 (plus 2 new items and 3 intermittent); AX — 10 items, 73.5% of the volume; the whole class A — 79.0%.
2. X — 0, Z — 10 (was 20 and 4): the season turned steady items into "fluctuating" ones.
3. AX — 7 items, 64.5% of the volume.
4. CX 11.5%, CY 27.2%, CZ 32.9%. Better not to set a separate target for CZ: group forecast and stock to order. If a target is needed — not above the "same as last year" accuracy, i.e. about 67%.
Считает Excel формулами книги (или скрипт Python, если товаров тысячи). Claude может помочь написать формулы и проверить их. Решает и утверждает классы планер — и смотрит графики (раздел 14).
Excel calculates it with the workbook formulas (or a Python script if there are thousands of items). Claude can help write and check the formulas. The planner decides, approves the classes and looks at the charts (section 14).
Единых нет. 80/95 и 0,15/0,35 — правило урока. Подберите так, чтобы в A было немного SKU с большой долей объёма, а ошибка «как год назад» заметно росла от X к Z.
There are no universal ones. 80/95 and 0.15/0.35 are the lesson's rule. Tune them so that A holds a few items with a large share of the volume and the "same as last year" error grows clearly from X to Z.
Для плана производства и запасов — штуки или литры. Для приоритета маркетинга — деньги. Главное — одна основа для всей компании и записанная в правилах.
For production and stock planning — units or litres. For marketing priority — money. What matters is one basis for the whole company, written into the rules.
04-13 — сегментация для выбора моделей машинного обучения и семейство Кростона. Здесь — версия для планера: очищенный CV, прогнозируемость, политика клеток и время.
04-13 is segmentation for choosing machine learning models and the Croston family. This is the planner's version: cleaned CV, forecastability, cell policy and time.