Продовжуємо серію про метрики оцінки точності прогнозування/планування.
Найпопулярніша з них — MAPE. Mean Absolute Percentage Error. Середня абсолютна похибка у відсотках.
Формула проста: береш різницю між прогнозом і фактом, береш модуль (бо нам не важливий знак, лише величина), ділиш на факт, отримуєш відсоток. Усереднюєш по всіх періодах, чи магазинах, чи SKU.
MAPE = 10% — звучить зрозуміло. Керівництво любить. В презентаціях виглядає добре.
Але є нюанс.
---
Покажу на прикладі.
Пам'ятаєте наші два магазини з молоком?
Магазин А. Прогноз: 500. Факт: 300. MAPE = |500-300|/300 = 67%
Магазин Б. Прогноз: 500. Факт: 700. MAPE = |500-700|/700 = 29%
Зверніть увагу: абсолютна різниця однакова — 200 пакетів молока.
Але MAPE каже: магазин А — "помилка 67%", магазин Б — "лише 29%".
Чому? Бо ми ділимо на факт. А факт різний.
---
Що це означає на практиці?
Магазин А — це перепрогноз. Молоко скисає на складі.
Магазин Б — це недопрогноз. Порожня полиця, клієнти йдуть.
MAPE "штрафує" магазин А вдвічі сильніше.
Якщо ви оптимізуєте модель прогнозування на мінімізацію MAPE — вона буде систематично занижувати прогноз. Бо так "дешевше" для метрики.
А для бізнесу це out-of-stock. Порожні полиці. Втрачені клієнти.
---
Але це ще не все.
Проблема №2: нулі.
Уявіть новий товар або товар з переривчастим попитом. В якийсь тиждень — продажів нуль. Прогноз: 10.
MAPE = |10-0|/0 = ...ділення на нуль.
Метрика ламається. Excel показує помилку. Аналітик починає "фільтрувати" дані.
А якщо не нуль, а просто мало? Факт: 2 одиниці. Прогноз: 5.
MAPE = |5-2|/2 = 150%
Три одиниці різниці — і "помилка 150%". Звучить катастрофічно. Але це лише 3 штуки.
---
Проблема №3: агрегація.
Хочете порахувати MAPE по всій категорії?
Якщо просто усереднити MAPE по товарах — товари з малими продажами "перекричать" великі.
Один SKU з продажами 2 штуки і помилкою 150% зіпсує вам всю картину, навіть якщо по топ-товарах з тисячами продажів все ідеально.
---
Чи означає це, що MAPE — погана метрика?
Ні. Вона має свої переваги:
✓ Інтуїтивно зрозуміла (всі розуміють відсотки)
✓ Масштабонезалежна (можна порівнювати товари з різними обсягами)
✓ Широко відома (легко комунікувати)
Але треба розуміти її обмеження:
✗ Асиметрична (штрафує перепрогноз сильніше — тягне модель до заниження)
✗ Не працює з нулями і малими значеннями
✗ Некоректно агрегується простим усередненням
✗ Не показує напрямок помилки (over чи under)
---
Що робити?
Варіант 1: Використовувати MAPE, але з фільтрами (виключати нулі, малі значення). Розуміти, що метрика тягне модель до заниження прогнозу.
Варіант 2: Перейти на інші метрики — WMAPE, RMSE, Bias. Кожна має свої сильні сторони.
Варіант 3: Використовувати кілька метрик паралельно. MAPE для загальної картини + Bias для напрямку + окремо моніторити OOS.
---
Яку метрику використовуєте ви? Стикались з цими проблемами MAPE?
https://tinyurl.com/2kbfkerk
