Перейти к содержанию
Содержание

MASE для прогноза продаж: сравнивайте SKU с учётом масштаба

Одинаковая ошибка в штуках у ходового и редкого товара не даёт одинаковой оценки качества прогноза. Для сопоставления рядов можно рассчитать MASE: среднюю абсолютную ошибку, нормированную на ошибку простого метода на обучающей истории. Определение приведено в учебнике Forecasting: Principles and Practice.

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

MASE для прогноза продаж: сравнивайте SKU с учётом масштаба

Подготовьте две части истории

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

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

Посчитайте базу на обучающей истории

Выберите сезонный лаг m. Для несезонного ряда используется m = 1. Для сезонного сравнения лаг должен соответствовать выбранному циклу и шагу данных. Например, недельный цикл в ежедневных данных задаётся лагом семь; это выбор для ряда с такой сезонностью, а не универсальное правило для любого SKU.

Пусть T означает число обучающих наблюдений, а y[t] их значения. Рассчитайте:

D = сумма |y[t] − y[t−m]| / (T − m), для t от m+1 до T.

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

Нормируйте ошибку проверочного прогноза

На проверочной части найдите среднюю абсолютную ошибку:

MAE_test = сумма |факт − прогноз| / N, где N число проверочных пар.

Затем MASE = MAE_test / D.

Для разных версий прогноза одного SKU сохраняйте одинаковые обучающую базу, лаг и проверочные периоды. Иначе изменение результата будет отражать не только качество метода. При D = 0 показатель не определён. Не записывайте вместо него ноль и не добавляйте к знаменателю произвольную малую константу. Сохраните MAE в исходных единицах и причину отсутствия MASE.

Правильно прочитайте результат

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

Не называйте MASE процентом. Значение выше единицы также не устанавливает причину промаха. Проверьте доступность товара, акции, изменение ассортимента и устойчивость истории. Даже хороший результат на одном интервале не гарантирует такой же результат дальше.

Сохраните воспроизводимый итог

В итоговой таблице оставьте SKU, границы обучения и проверки, шаг, лаг, D, N, MAE и MASE. Отдельно перечислите позиции с нулевой базой или недостаточной историей. При сравнении ассортимента не меняйте набор SKU незаметно: исключение сложных товаров может улучшить общий итог без улучшения прогноза.

Для суммы абсолютных промахов относительно всего объёма продаж решается другая задача: используйте порядок расчёта WAPE. MASE помогает сравнивать нормированные ошибки рядов, а денежные последствия закупки требуют отдельного расчёта.

Теги

Комментарии 0

0 / 1500

Популярные статьи