Понятие точности прогнозирования тонкое, действительно тонкое. Логично сказать, что чем ближе прогнозы к будущему, тем лучше, и все же здравый смысл может быть совершенно неверным.

С запуском Shelfcheck, нашего оптимизатора доступности товара на полке, мы начали обрабатывать гораздо больше данных на уровне точек продаж, пытаясь автоматически обнаруживать проблемы с отсутствием товара на полке. За последние несколько месяцев наше знание о шаблонах отсутствия товара на полке значительно улучшилось, и сегодня это знание рециклируется в нашу основную технологию прогнозирования.

Давайте проиллюстрируем ситуацию. Ниже приведен график ежедневных агрегированных продаж на уровне магазина для определенного продукта. Магазин открыт 7/7. Прогноз на семь дней составляется в конце недели 2, но отсутствие товара на полке происходит в середине недели 3. Дни, отмеченные черными точками, имеют нулевые продажи.

В этой ситуации прогноз довольно точный, но из-за проблемы с отсутствием товара на полке прямое сравнение продаж и прогнозов выглядит так, будто прогноз значительно переоценивает продажи, что не так, по крайней мере, не в дни без отсутствия товара на полке. Измерение переоценки является артефактом, вызванным самим отсутствием товара на полке.

Пока кажется, что отсутствие товара на полке может только ухудшить воспринимаемую точность прогнозирования, что не кажется слишком плохим, потому что, предположительно, все методы прогнозирования должны быть равнозначно затронуты. В конце концов, ни одна модель прогнозирования не способна предвидеть проблему с отсутствием товара на полке.

Ну, отсутствие товара на полке может нанести гораздо больший ущерб, чем просто ухудшить точность прогнозирования, отсутствие товара на полке также может улучшить ее.

Давайте посмотрим на график, чтобы проиллюстрировать это. Опять же, мы смотрим на данные о ежедневных продажах, но на этот раз проблема с отсутствием товара на полке начинается в самый последний день недели 2.

Прогноз на неделю 3 равен нулю на протяжении всей недели. Модель прогнозирования предвидит продолжительность проблемы с отсутствием товара на полке. Прогноз не совершенно точен, потому что в последний день недели 3 происходит пополнение и продажи снова не равны нулю.

Очевидно, что модель прогнозирования, которая предвидит продолжительность проблемы с отсутствием товара на полке, крайне точна с точки зрения числового сравнения продажи против прогнозов. Тем не менее, это действительно имеет смысл? Нет, очевидно, что нет. Мы хотим прогнозировать спрос, а не продажи артефактов. Более того, нулевой прогноз может привести к нулевому пополнению, что, в свою очередь, продлит фактическую продолжительность проблемы с отсутствием товара на полке (и дополнительно увеличит точность нашей модели прогнозирования, полной энтузиазма по поводу отсутствия товара на полке). Это, очевидно, не является желательной ситуацией, независимо от того, насколько хорош прогноз с точки зрения наивного числового взгляда.

Плохой случай переобучения на OOS

Мы обнаружили, что ситуация, иллюстрируемая второй графикой, далека от необычной. Действительно, с 8% недоступности на полке (типичная цифра в рознице) и приблизительно 30% MAPE на ежедневные прогнозы, ситуации с OOS обычно составляют 8% x 100 / 30 ≈ 27% ≈ 1/4 от общей ошибки прогноза. Действительно, по определению MAPE, ненулевой прогноз в день без продаж (OOS) генерирует ошибку в 100%.

Поскольку доля ошибки, вызванной OOS, значительна, мы обнаружили, что простая эвристика, такая как “если в последний день не было продаж у продукта топ-продаж, то прогнозируйте нулевые продажи на 7 дней”, может снизить ошибку прогноза на несколько процентов, напрямую используя паттерн OOS. Очевидно, что очень мало практиков бы явно включили такое правило в свои прогностические модели, но даже умеренно сложная линейная авторегрессионная модель может выучить этот паттерн в значительной степени и, таким образом, переобучиться на OOS.

Естественно, Shelfcheck здесь, чтобы помочь в этих вопросах с OOS. Следите за обновлениями.


Комментарии читателей (2)

Привет, Ларс, Спасибо за ваше продолжение. На уровне магазина все действительно шумно. Представьте, что 1 или 2 единицы проданы в день на товар как типичный случай. Ценообразование, конечно, важно, но на практике, на уровне магазина, очень сложно точно оценить влияние 5% коррекции цены для конкретного товара. Однако акции (что также является эффектом ценообразования, хоть и крупным) действительно имеют очень измеримые эффекты даже на уровне магазина. Затем Shelfcheck интегрирует ежедневную информацию о ценообразовании. Однако мы обнаружили, что в сегменте продуктов питания и напитков вполне возможно значительно превзойти (с точки зрения прогнозирования) точность существующих систем, не используя информацию о ценах. Однако я не говорю, что информация о ценах бесполезна, просто вы не нуждаетесь в ней, чтобы значительно улучшить каждую единицу, которую мы наблюдали до сих пор в розничной отрасли. Затем, в будущем, информация о ценах, а также детализированные данные о лояльности станут все более критическими для сохранения конкурентоспособности на рынке прогнозирования. Joannes Vermorel (6 лет назад)


Привет, в сегменте продуктов питания и напитков фактическое количество проданных товаров часто имеет сильную корреляцию с фактической ценой продажи. Это часто моделируется с использованием Индекса ценовой эластичности = % изменения количества / % изменения цены. По моему опыту одномерное статистическое прогнозирование, которое смотрит только на фактическое количество проданных товаров без учета средней фактической цены, становится довольно бесполезным = полное времяпрепровождение. Согласны ли вы и каково ваше мнение по этому поводу? Ларс (6 лет назад)