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

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

Давайте проиллюстрируем ситуацию. График ниже представляет собой суммарные ежедневные продажи на уровне магазина для данного товара. Магазин работает 7 дней в неделю. Семидневный прогноз составляется в конце второй недели, но в середине третьей недели происходит OOS. Дни, отмеченные черными точками, имеют нулевые продажи.

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

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

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

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

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

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

Плохой случай переобучения на 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 лет назад)


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