Чому прогнозування попиту ламається на реальних даних
Прогноз попиту рідко ламається на моделі — він ламається на вхідних даних. Замовлення, залишки, відвантаження та плани промоакцій живуть у різних системах, вивантажуються вручну таблицями планування і зводяться в одну книгу, де кожна цифра правиться руками.
Планувальник підлаштовує значення під останню розмову з відділом продажів, а не під історію, тому фактична помилка прогнозу взагалі не вимірюється: незрозуміло, наскільки цифра в таблиці розходиться з тим, що було.
Сезонність поставок у такій схемі враховується «на око»: агрегат за середнім за період згладжує піки та провали, а лаг між замовленням і надходженням на склад у розрахунку просто відсутній.
Промоакція, яка підніме попит удвічі, і наступний за нею провал живуть в окремому файлі маркетингу й до моделі не доходять — у результаті система закуповує за усередненим профілем, який не збігається з жодним реальним місяцем.
Окрема причина — розрив між відділами. Продажі, закупівлі та склад рахують свої версії плану з різними горизонтами й правилами округлення, і кожна версія йде в роботу як єдино правильна.
Помилка на цьому стику не гаситься, а накопичується: неточність за однією групою товарів тягне за собою замовлення за суміжними позиціями, а розходження виявляється вже за фактом надходження.
Далі ланцюгом поставок накопичена помилка перетворюється на два дорогі стани складу. У пік сезону — дефіцит на складі: втрачені продажі та ручні прискорені закупівлі. У спад — затоварювання: заморожений обіг, терміни придатності та розпродажі. Нижче розбираємо, як це закривається на рівні даних, моделі та регламенту планування.
Ефект від впровадження: точність, запаси, втрачені продажі
Впровадження прогнозування попиту вимірюється не «розумністю» моделі, а чотирма числами, які видно у звіті через один-два квартали: точність прогнозу, обсяг страхового запасу, оборотність складу та частка втрачених продажів. Перший зріз знімаємо до старту — на історичних даних, інакше ефект нема з чим порівнювати.
Скорочення страхових запасів без втрати рівня сервісу
Точність прогнозу на горизонті 4–12 тижнів зазвичай піднімається з 60–70% до 80–90% за зваженою помилкою — цього достатньо, щоб страховий запас за ходовими позиціями скоротився на 20–35% за того самого рівня сервісу.
Ключ у переході від єдиного нормативу до прогнозу з інтервалом: там, де попит стабільний, запас ріжеться, а за волатильними позиціями залишається незмінним. Оборотність при цьому покращується на 15–25%, списання за термінами придатності падають.
Скільки ручних правок іде з плану
Частка ручних правок — індикатор недовіри до прогнозу, тому рахуємо її до і після: типово план правлять у 30–40% рядків, після впровадження залишається 5–10%, і то переважно на акціях та разових поставках.
Кожну правку логуємо з причиною, і ці причини йдуть у ознаки моделі — точність зростає без ручного підгону.
Базову лінію та сезонність беремо з відкритих реалізацій на кшталт Prophet, поверх — градієнтний бустинг на цінах та акціях. Метрики рахуємо за ковзним вікном, щоб разовий викид не спотворював картину.
Формати моделей: статистика, ансамблі, нейромережі
Жоден формат не виграє за всіма категоріями — вибір задають горизонт планування, довжина історії продажів і частка рідкісних позицій. Нижче три підходи, між якими реально обирають на старті.
На практиці їх майже завжди змішують: статистична модель тримає базовий рівень за регулярним попитом, ансамбль моделей уточнює сезонність та акції, а нейромережева модель підключається там, де потрібно врахувати зовнішні фактори.
| Варіант | Коли підходить | Обмеження |
|---|---|---|
| Статистична модель | Стабільний попит, довга історія, горизонт від тижня до місяця | Не бачить акцій і зовнішніх подій, розсипається на рідкісних позиціях |
| Ансамбль моделей | Багато груп з різною сезонністю, потрібен стійкий прогноз | Потребує регулярного перенавчання та розмітки акцій |
| Нейромережева модель | Коротка історія, багато пов'язаних факторів, короткий горизонт | Потрібні обсяги даних, рішення складніше пояснити |
Як вибрати формат під горизонт і категорію
Чим довший горизонт, тим важливіша стійкість: на місяці вперед статистика та ансамблі дають рівнішу картину, нейромережа — на дні та тижні.
Далі формат закріплюють за категоріями: для ходових товарів один, для повільних інший, інакше середня точність по складу приховує провали в окремих групах.
Що робити з рідкісними та новими позиціями
Рідкісні позиції прогнозують не за власною історією, а через групу аналогів: об'єднують схожі товари й переносять на них загальний профіль попиту.
Новинки до накопичення даних ідуть за планом запуску та експертною оцінкою, а модель підключається, коли набирається достатньо спостережень.
Етапи впровадження системи планування поставок
Роботи йдуть послідовно: кожен етап закривається перевіркою, і перехід до наступного можливий лише після того, як попередній підтверджено на реальних даних замовника. Так помилки в даних і постановці виявляються раніше, ніж у них почнуть вкладати сили в розробку та налаштування.
Аудит даних і постановка задачі
- Аудит даних — звіряємо історію продажів, залишків і поставок за глибиною, повнотою та розходженнями між обліковими системами; на виході перелік прогалин і періоди, придатні для навчання.
- Підготовка даних — приводимо ряди до єдиної гранулярності (склад, товарна група, день або тиждень), закриваємо пропуски та викиди, розмічаємо акції та перебої поставок окремими ознаками.
- Постановка задачі та метрик — фіксуємо горизонт прогнозу і цільову помилку на рівні складу та товарної групи, домовляємося про прийнятну якість.
- Складання та налаштування моделі — порівняння підходів на відкладеній вибірці, відбір ознак, окреме налаштування на сезонність і локальні сплески попиту.
Перевірка на історичних періодах і передача
- Валідація моделі — прогін на історичних відрізках у режимі, наближеному до реального: модель бачить лише ті дані, що були доступні на той момент, і не підглядає вперед.
- Регламент оновлення — фіксуємо частоту перенавчання, відповідального за подання свіжих даних і порядок дій при погіршенні якості.
- Передача в експлуатацію — розгортання, моніторинг відхилень прогнозу від факту, навчання команди замовника та передача документації.
Що передаємо команді замовника: конфігурації та регламенти
Проєкт із прогнозування попиту живе довго, лише якщо його можна розвивати без авторів. Тому передаємо не «працюючу модель», а комплект артефактів, за якими ваш інженер перенавчить модель, підключить нове джерело даних і розбере інцидент без листування з нами.
Комплект документації та схеми даних
- Схема даних — джерела продажів, залишків, промо та зовнішніх факторів: гранулярність, ключі, лаги, правила обробки пропусків і сплесків.
- Опис ознак — що подається на вхід моделі, як рахуються лаги та ковзні вікна, які ознаки вимкнено і чому.
- Конфігурації перенавчання — горизонт прогнозу, частота перезбирання, розбиття на навчальну та перевірну вибірки, пороги якості, за яких модель іде на донавчання.
- Політика доступу — ролі на читання сирих даних, вивантаження прогнозів і зміну налаштувань; де зберігаються ключі та хто їх видає.
- Регламент моніторингу — метрики чергового: відхилення факту від прогнозу, частка пропусків, дрейф вхідних розподілів; періодичність перевірки та поріг тривоги.
Навчання команди та передача знань
- Розбір інцидентів — типові збої: зсув попиту, неповний день у даних, зміна структури промо; що перевіряється першим.
- Практикуми на ваших даних — аналітики самі проганяють перенавчання і викочують нову версію прогнозу під наглядом наших інженерів.
- Журнал рішень — чому вибрано поточні горизонти та пороги і які альтернативи відхилено, щоб через півроку ніхто не гадав.
Кейс: як зросла точність після переробки моделі
Задача надійшла від роздрібної мережі: прогноз на чотири тижні за кількома тисячами позицій потрібен був не «загалом», а за кожною точкою, щоб планувати закупівлю та полицю.
Спочатку прогноз рахувався ковзним середнім за минулими продажами — модель не бачила промо, свят і зміни асортименту.
Що було до: розходження та ручні правки
За ключовими групами розходження з фактом на горизонті чотирьох тижнів сягало 32%. Категорійні менеджери щотижня вручну правили близько 40% рядків прогнозу — цифри «доводили руками» до стану, в який вірили. Термінові дозамовлення йшли майже щодня, а частина позицій осідала на полиці.
Причина — в ознаках: у модель не потрапляли промо-календар і локальні свята, а сплески попиту усереднювалися зі звичайними днями. Сезонні позиції страждали окремо: середня за минулий період не описувала поточний попит.
Що стало після: показники та режим супроводу
Прогноз перезібрали: замість однієї моделі — набір за класами попиту (стабільні, сезонні, промо-залежні, новинки), базовий шар на Prophet з ознаками календаря, промо та цін.
Якість перевіряли ретроспективно: навчання на минулому відрізку, звірка з фактом на наступному, без заглядання вперед.
Розходження на тому самому горизонті знизилося з 32% до 9–12% за групами, частка ручних правок — приблизно втричі, термінові дозамовлення — удвічі.
Прогноз оновлюється щодня, помилка за кожною групою порівнюється з історичним розкидом: вихід за межі дає повідомлення та перенавчання на свіжому вікні. Раз на місяць — звіт за точністю з розбором просівших груп, тому деградація видна на першому тижні, а не в кінці кварталу.
Чим відрізняється прогнозування попиту від планування поставок?
Прогнозування попиту відповідає на питання «скільки продамо», планування поставок — «що і коли закупити, щоб цього вистачило». Перше — статистична задача: за історією продажів, сезонністю, акціями та зовнішніми факторами будується розподіл попиту за днями й точками продажів.
Друге — задача оптимізації під обмеження: строки та кратність поставки, мінімальна партія, терміни придатності, ємність складу.
| Критерій | Прогнозування попиту | Планування поставок |
|---|---|---|
| Горизонт прогнозу | від дня до кварталу, оновлення ковзне | від тижня до сезону, прив'язаний до строку поставки |
| Вхідні дані | історія продажів, акції, ціна, залишки, зовнішні фактори | прогноз, строки поставки, розмір партії, складські ліміти |
| Зона відповідальності | якість передбачення потреби | рівень сервісу та обсяг запасів |
| Результат | розподіл попиту, а не одна цифра | точка замовлення, розмір партії, страховий запас |
| Метрика якості | помилка прогнозу за інтервалами | рівень сервісу, оборотність, частка дефіциту |
Межа проходить рівно за точкою замовлення. Модель дає розподіл попиту та його розкид, а правило поповнення вирішує, за якого залишку запускати закупівлю і який страховий запас тримати, щоб утримати цільовий рівень сервісу.
Змішувати ці зони не можна: навіть точний прогноз не витягне рівень сервісу, якщо точка замовлення порахована на око, а зростання запасів спишуть на «погану модель».
Тому в проєкті ми розводимо відповідальність явно: у прогнозу — дані, ознаки та контроль якості передбачення, у планування — правила, обмеження та узгоджений з бізнесом рівень сервісу за групами товарів.
Опишіть, як у вас зараз ухвалюється рішення про закупівлю, — повернемося з оцінкою та планом за кожною зоною.
Технічні сумніви: дані, сезонність, збої
Жодне питання нижче — не про алгоритм, а про дані та процеси навколо моделі. П'ять сумнівів, які замовник ставить до старту, і те, як ми їх закриваємо.
Брудні та неповні дані?
До навчання рахуємо повноту та розсинхрон за кожним джерелом: пропуски, дублі, лаг між відвантаженням і продажем. Вчимо на перетині чистих інтервалів, а пропуск позначаємо ознакою «даних не було», а не середнім за період.
Аномалія чи реальний сплеск?
Аномалії не видаляємо, а розмічаємо за стійкими статистиками — медіаною та відхиленням від неї. Модель отримує мітку і сама вирішує, наскільки їй вірити: вирізаний викид забирає чутливість до справжніх піків.
Промоакції та знижки?
Промо — керована подія, а не викид: календар акцій, глибина знижки та медійні сплески йдуть окремими ознаками. Промо-дні не змішуються зі звичайними в навчанні, інакше ефект акції розмазується по сусідніх тижнях.
Перенавчання?
Перевіряємо на відкладеному майбутньому періоді, а не на перемішаній вибірці: ковзна крос-перевірка за часом і порівняння з наївним прогнозом «як минулого тижня». Не б'є базову лінію — у роботу не йде.
Контроль якості після запуску?
Щодня рахуємо середньозважену помилку (WAPE) та зміщення за товаром і точкою, при виході за поріг надходить оповіщення. Дрейф вхідних даних запускає перенавчання за розкладом — підхід із Прогнозування: принципи і практика.
Обговоримо задачу: зберемо оцінку та план впровадження
Для старту потрібен не доступ до всієї аналітики, а конкретний мінімум: історія продажів за товарами та точками за достатній період, календар акцій і поставок, обмеження за складами.
Чим раніше ці дані опиняться на столі, тим точніша постановка задачі й менше ітерацій на перезбирання.
- Постановка задачі: горизонт і крок прогнозу, розрізи (товар, точка, канал), припустима помилка та той, хто приймає результат.
- Вивантаження даних: узгоджуємо склад полів, період, спосіб передачі та періодичність — разове вивантаження або регулярний обмін за розкладом.
- Схема даних: показуємо, як продажі, промо, залишки та зовнішні фактори пов'язуються між собою, де заповнюємо пропуски і як відсікаємо викиди.
- Склад робіт: етапи з результатом кожного — підготовка даних, навчання та налаштування моделі, перевірка на відкладеному періоді, впровадження у ваш контур.
- Етапність і план впровадження: черговість запуску за групами товарів або точками, щоб перша віддача з'явилася раніше за повне охоплення.
- Оцінка строків: діапазон із прив'язкою до готовності даних і швидкості узгоджень, а не середня за ринком цифра.
- Точки контролю: демонстрації на реальних даних, метрики якості до і після, порядок донавчання та відкату до попередньої версії моделі.
У відповідь надсилаємо документ зі складом робіт, схемою даних і планом за етапами. Опишіть задачу — повернемося з оцінкою строків і уточнювальними питаннями щодо даних.







