Машинное обучение при прогнозировании в ритейле
Константин Русаков,
аналитик данных, Тринити
аналитик данных, Тринити
Для мировой экономики сейчас характерна колоссальная
динамика изменений. Возможность предсказания динамики
рынка и возможность прогнозирования прибыли давно интересовали
теоретиков и практиков. Отсутствие эффективных способов
прогнозирования может с большой вероятностью привести
малые предприятия к значительным убыткам, а крупные
– к выбору недостаточно выгодных проектов.
Также ритейлерам жизненно важно обеспечить баланс между объемом поставок и продажами товаров, и с этой точки зрения использование современных методов прогнозирования, основанных на технологиях машинного обучения, следует рассматривать как весьма перспективное направление.
Для прогнозирования в ритейле, как известно, хорошо подходят временные ряды.
Также ритейлерам жизненно важно обеспечить баланс между объемом поставок и продажами товаров, и с этой точки зрения использование современных методов прогнозирования, основанных на технологиях машинного обучения, следует рассматривать как весьма перспективное направление.
Для прогнозирования в ритейле, как известно, хорошо подходят временные ряды.
Рисунок 1. Объем продаж продукта
Временной ряд – это собранный в разные
моменты времени (год, неделю, сутки или даже минуты,
в зависимости от характера рассматриваемой переменной)
статистический материал о значении каких-либо параметров
(в простейшем случае – одного) исследуемого процесса.
В ритейле в качестве этого параметра обычно выступает объем продаж (рис. 1) или цена.
В ритейле в качестве этого параметра обычно выступает объем продаж (рис. 1) или цена.
Обычно временной ряд состоит из нескольких компонентов:
1) тренда – общей долгосрочной тенденции изменения временного ряда, лежащей в основе его динамики;
2) сезонной составляющей – краткосрочного регулярно повторяющегося колебания значений временного ряда вокруг тренда;
3) случайной составляющей, характеризующей так называемое воздействие различного рода факторов на целевую переменную.
Чтобы понять действительное влияние различных факторов на продажи и повысить качество прогноза, предлагается убрать из временного ряда сезонную составляющую и попробовать промоделировать то, что осталось. Данные остатки описывают тренд и воздействие случайных факторов.
1) тренда – общей долгосрочной тенденции изменения временного ряда, лежащей в основе его динамики;
2) сезонной составляющей – краткосрочного регулярно повторяющегося колебания значений временного ряда вокруг тренда;
3) случайной составляющей, характеризующей так называемое воздействие различного рода факторов на целевую переменную.
Чтобы понять действительное влияние различных факторов на продажи и повысить качество прогноза, предлагается убрать из временного ряда сезонную составляющую и попробовать промоделировать то, что осталось. Данные остатки описывают тренд и воздействие случайных факторов.
Рисунок 2. Изменение прироста рынка
Моделирование
прироста рынка
Что означает прирост? И как избавиться от сезонной составляющей? Постараюсь ответить на эти вопросы.
Допустим, у нас есть месячные данные о продажах какого-либо продукта. Представим теперь текущее значение объема продаж в процентах – на сколько объем вырос по сравнению не с предыдущим месяцем, а с текущим месяцем прошлого года. Таким способом воздействие сезонной составляющей нивелируется (рис. 2).
После чего остается лишь тренд и случайная составляющая, которые и нужно прогнозировать.
Что означает прирост? И как избавиться от сезонной составляющей? Постараюсь ответить на эти вопросы.
Допустим, у нас есть месячные данные о продажах какого-либо продукта. Представим теперь текущее значение объема продаж в процентах – на сколько объем вырос по сравнению не с предыдущим месяцем, а с текущим месяцем прошлого года. Таким способом воздействие сезонной составляющей нивелируется (рис. 2).
После чего остается лишь тренд и случайная составляющая, которые и нужно прогнозировать.
Рисунок 3. Деревья решений
Технология XGboost
Многие слышали, что новые технологии машинного обучения, основанные на градиентном бустинге, призваны сделать наш мир проще, чище и лучше.
Градиентный бустинг – это технология машинного обучения для задач регрессии и классификации, позволяющая создать модель прогнозирования в форме ансамбля слабых моделей прогнозирования, обычно деревьев решений.
В градиентном бустинге используются деревья принятия решений (рис. 3). Сама по себе модель довольно слаба, но, когда они строятся последовательно и минимизируют ошибки друг друга, это дает хорошие результаты.
Многие слышали, что новые технологии машинного обучения, основанные на градиентном бустинге, призваны сделать наш мир проще, чище и лучше.
Градиентный бустинг – это технология машинного обучения для задач регрессии и классификации, позволяющая создать модель прогнозирования в форме ансамбля слабых моделей прогнозирования, обычно деревьев решений.
В градиентном бустинге используются деревья принятия решений (рис. 3). Сама по себе модель довольно слаба, но, когда они строятся последовательно и минимизируют ошибки друг друга, это дает хорошие результаты.
Рисунок 4. Прогноз продаж с помощью алгоритма
градиентного бустинга над решающими деревьями
Как показывают и практика, и опыт решения задач прогнозирования
в ритейле методами машинного обучения, в стандартных
задачах при прогнозе рынка продукции, цен на продукцию,
алгоритм градиентного бустинга над решающими деревьями
очень часто является самым эффективным алгоритмом.
На рисунке 4 показан результат прогноза продаж продукта на три месяца с учетом 4-х летней истории.
На рисунке 4 показан результат прогноза продаж продукта на три месяца с учетом 4-х летней истории.
Рисунок 5. Прогноз продаж
И для более наглядной визуализации и достоверности результата
нужно провести конвертацию обратно в абсолютные значения,
как показано на рисунке 5.
Результат, как мы видим, имеет высокую точность, при этом показатель MAPE равен 3,06%. Это означает, что точность предсказания составляет около 97%.
Заключение
Стоит отметить, что прогноз продаж во многом зависит от наличия истории по этим продажам, а также от качества этой истории. На результат может повлиять разное количество факторов: различные пропуски в продажах, например, когда магазин был закрыт по некоторым причинам или товара не было на складе; скачки продаж, например, во время праздников или промоакций. Достаточно детализированная и сложная модель будет учитывать эти «аномалии» в продажах, что скажется на конечном результате прогноза. В таких случаях в качестве рекомендации понижают размерность модели, делая ее более простой, что приводит к снижению точности моделирования, однако повышает качество прогноза. Все эти вещи необходимо учитывать, для того чтобы результаты прогноза оказались максимально достоверными и компании извлекли из этого соответствующую прибыль.
Результат, как мы видим, имеет высокую точность, при этом показатель MAPE равен 3,06%. Это означает, что точность предсказания составляет около 97%.
Заключение
Стоит отметить, что прогноз продаж во многом зависит от наличия истории по этим продажам, а также от качества этой истории. На результат может повлиять разное количество факторов: различные пропуски в продажах, например, когда магазин был закрыт по некоторым причинам или товара не было на складе; скачки продаж, например, во время праздников или промоакций. Достаточно детализированная и сложная модель будет учитывать эти «аномалии» в продажах, что скажется на конечном результате прогноза. В таких случаях в качестве рекомендации понижают размерность модели, делая ее более простой, что приводит к снижению точности моделирования, однако повышает качество прогноза. Все эти вещи необходимо учитывать, для того чтобы результаты прогноза оказались максимально достоверными и компании извлекли из этого соответствующую прибыль.