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

Что такое машинное обучение

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



Простое экспоненциальное сглаживание
Что такое простая модель экспоненциального сглаживания? todatascience.com



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

Как машина учится?

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

При работе над моделью машинного обучения нужно обращать внимание на два основных аспекта:

  • Данные (характеристики), которые вы передаете своей модели.
  • Гиперпараметры вашей модели машинного обучения.

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

Если бы мне пришлось составить прогноз спроса на то, сколько продуктов мы собираемся продать в следующем месяце, какие вопросы я бы задала себе?

Задав этот вопрос себе и своей команде, вы получите представление о наиболее важной информации, которую можно передать своей модели.

Вот несколько типичных ответов:

  • Каковы текущие цены на мой продукт и изменились ли они за последние месяцы?
  • Каков средний ежемесячный объем продаж моего продукта?
  • Товара недавно не было в наличии?
  • В настоящее время мы проводим какие-то акции?

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



Чего ожидать от прогнозирования спроса на основе машинного обучения?

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

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

Недавние конкурсы прогнозирования (такие как M5 и Corporación Favorita) показали снижение ошибок на 20–60% по сравнению с эталонными прогнозами. Соревнование между марками немного сократилось, но это связано с используемой шкалой логарифмов (см. Мой веб-семинар ниже).

С 2018 года все соревнования по прогнозированию спроса выигрываются с помощью машинного обучения. Чего же ты ждешь?

Для получения дополнительной информации см. Уроки соревнований по прогнозированию Kaggle, авторы Каспер Сольхейм Бойер и Йенс Педер Мелдгаард.

Основываясь на моем собственном опыте консультирования, обычные проекты машинного обучения приводят к снижению ошибок прогноза в пределах от 5% до 20% по сравнению со скользящим средним.

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

Машинное обучение и специалисты по планированию спроса

Обратите внимание, что, улучшив базовую точность прогнозирования, вы также улучшите общую точность процесса прогнозирования, поскольку ваша группа планирования спроса сможет редактировать прогноз при необходимости (они почти всегда должны иметь возможность добавить некоторую дополнительную точность). Например, предположим, что ваша текущая система прогнозов достигает точности 50% и что ваша команда обычно может повысить ее до 55% благодаря своей работе. Обновив модель и используя машинное обучение, вы можете достичь базовой точности 55%. Тогда ваша команда сможет поднять его до 57 или 58%.

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

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

Подводные камни использования машинного обучения

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

Качество данных

Не используйте данные о продажах! Вы должны прогнозировать спрос, а не продажи.

Плохие данные превзойдут хорошего прогнозиста. Каждый раз.



Ожидания

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

Плохой процесс

Цель прогнозов спроса - неточность. Но чтобы помочь вашей цепочке поставок принимать правильные решения.

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

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

Сначала исправим процесс. Затем улучшите модель.



Неверные показатели

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



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

Я выступаю за то, чтобы цепочки поставок отслеживали wMAE (взвешенное по цене MAE) и wBias (взвешенное по цене смещение). Объединение этих двух показателей позволит вам обращать внимание на наиболее важные продукты и быть уверенным, что у вас нет предвзятой модели.

Лучшие практики при использовании машинного обучения для прогнозирования спроса

Управление проектом

Соберите команду из мотивированных, непредубежденных, любопытных и преданных своему делу участников (вам понадобятся разные профили). Исходя из моего опыта, начало пути машинного обучения является самым трудным: вам нужно собирать и очищать данные, не способствуя краткосрочным успехам. Вот почему вам понадобится мотивированная команда, которая потратит время, необходимое для сбора релевантных данных.

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

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

🌦️ Погода. Погода влияет на многие цепочки поставок: вы будете продавать больше или меньше в зависимости от погоды. К сожалению, вы не можете точно предсказать погоду раньше, чем за несколько дней. Обычно я беру пример мороженого: на продажи сильно влияет солнечный свет, но вы не можете предсказать погоду за четыре недели, чтобы спланировать производство.

Data Science

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

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

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

Сроки реализации проекта

1️⃣ Сбор и очистка данных

👩‍💻 Опытные пользователи

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

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

2️⃣ Создание модели

👩‍🔬 Специалисты по обработке данных

Специалисты по обработке данных будут пробовать разные модели с разными характеристиками данных, пока не достигнут желаемых результатов.

3️⃣ Модель в производстве

👩‍💻 Инженеры данных

Когда у вас есть рабочая модель, вы можете перенести ее из «ручной / локального компьютера» в «автоматизированную / облачную».

Обратите внимание, что время, потраченное на перенос рабочей модели с локальной машины в облако (и автоматизацию), может не окупиться. Я видел, как проекты теряли три месяца на перенос рабочей модели в облако, надеясь сэкономить 10–30 минут ручной работы в неделю.

✔️ Пропустите этот шаг, если вы не против запускать модель вручную один раз в неделю / месяц.

4️⃣ Принятие пользователями

👨‍💼 Менеджер проекта

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



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

Вопросы и ответы

Какую дополнительную точность можно ожидать от использования машинного обучения для прогнозирования спроса?

Обычно модели машинного обучения опережают современное программное обеспечение для прогнозирования на 5-15%. Более высокая точность может быть достигнута по мере поступления большего количества данных (драйверы спроса).

Как запустить Proof of Concept (POC)

  1. Соберите исходные данные (вы можете использовать данные вашего текущего статистического инструмента)
  2. Оптимизировать модель
  3. Сделайте несколько пробных запусков
  4. Успех? Внедрите свое решение!