В настоящее время сфера машинного обучения (Machine Learning) бурно развивается и вызывает высокий интерес со стороны многих компаний. Однако не всегда компании понимают, как именно применить новые технологии в своём повседневном бизнесе, какие преимущества они могут получить.

В данной статье не ставится цель рассказать обо всех возможностях машинного обучения, мы рассмотрим только один пример, а именно построение прогноза продаж и взаимодействие системы машинного обучения с ERP-системой. Этот пример будет основан на платформе Microsoft, которая предлагает решения как для задачи машинного обучения (Azure Machine Learning), так и для задачи управления ресурсами компании (ERP-системы Microsoft Dynamics AX или Microsoft Dynamics NAV).

ERP-системы, как следует из названия, предназначены для планирования (и, в более широком смысле, управления) деятельности компании. Одним из ключевых вопросов планирования является вопрос необходимых ресурсов для обеспечения потребностей компании. При этом понятие «ресурсы» может включать в себя номенклатуру (ТМЦ), производственные мощности, финансовые ресурсы и т. п.

Как работает планирование, например, в Microsoft Dynamics AX (за выполнение этой функции отвечает блок «Сводное планирование»)? Если нарисовать картину широкими мазками, то на основании прогноза потребностей с учётом множества факторов (состояние складских запасов, открытые закупки, график работы производственных мощностей, производственные спецификации, сроки поставок и т. п.) система определяет, что на текущий момент уже есть в компании (с точки зрения ресурсов) и что необходимо иметь дополнительно, чтобы удовлетворить эти самые потребности, а затем Microsoft Dynamics AX формирует различные планы: план производства, план закупок, план перемещений и другие. Эти планы проходят процедуру утверждения, и компания начинает их исполнять. Очевидно, что в процессе работы планы могут корректироваться, периодически необходимо заново перепланировать деятельность компании, но это обычные, рутинные бизнес-процессы управления.

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

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

Для обработки данных по продажам и формирования прогнозов обычно используется Excel. Это действительно хороший и мощный инструмент, который в умелых руках позволяет решить очень многие вопросы. Однако сравнительно недавно Microsoft выпустила новый продукт Azure Machine Learning, который позволяет поднять решение задачи на новый уровень.

Azure Machine Learning – это облачный сервис для выполнения задач прогнозной аналитики (predictive analytics). Среди прочих возможностей этого сервиса, нас в первую очередь интересует именно прогнозирование продаж. Azure Machine Learning с этой точки зрения предлагает весьма широкие возможности, позволяющие существенно повысить точность прогнозов. Работа с сервисом включает в себя несколько основных этапов:

  • Определение задачи, то есть правильная постановка вопроса, на который мы хотим получить ответ;
  • Сбор и подготовка данных;
  • Обучение модели;
  • Проверка результата;
  • Публикация доступного для других приложений web-сервиса.

Среди этих этапов в свете взаимодействия Azure Machine Learning и Microsoft Dynamics нас больше всего будут интересовать этапы сбора и подготовки данных и публикации web-сервиса. Действительно, для того, чтобы машинное обучение работало хорошо, помимо правильно заданного вопроса и правильно выбранного алгоритма, необходимы данные о продажах. Эти данные как раз и хранятся в Microsoft Dynamics, причём мы можем получать оттуда не только информацию о собственно продажах, но и учитывать влияющие факторы, например, регион продаж, проводимые маркетинговые акции, курсы валют и т. п. То есть мы учитываем дополнительные факторы, которые могут влиять на точность прогноза. При этом часть данных будет использоваться для обучения модели, а другая часть – для проверки результата, то есть мы будем сравнивать предсказанные объёмы продаж с уже известным нам фактом. Таким образом, Microsoft Dynamics служит источником данных для Azure Machine Learning.

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

Использование Microsoft Dynamics как источника данных даёт определённые преимущества, поскольку для работы Azure Machine Learning данные должны быть точными, полными и достаточными для обработки и анализа. Именно такие данные, отражающие реальную картину бизнеса, и хранятся в Microsoft Dynamics. Более высокое качество данных (по сравнению с использованием разных информационных систем) позволяет сократить время на предварительную подготовку данных.

Azure Machine Learning и ERP-системы Microsoft Dynamics включают в себя встроенные базовые механизмы интеграции. Обычно используется промежуточная база Azure SQL, которая содержит в себе как данные из Microsoft Dynamics, так и данные из других источников. Сам по себе обмен данными автоматизирован и происходит по настроенному расписанию.

Чаще всего для построения прогноза продаж используются различные регрессионные алгоритмы, однако возможно применение и других методов, в зависимости от того, какой вопрос мы ставим перед системой машинного обучения и какая модель даёт наивысшую точность. Различные алгоритмы можно комбинировать между собой, создавая модели прогнозирования продаж. Azure Machine Learning позволяет выделить факторы, которые влияют на изменение объёма продаж, причём можно постепенно наращивать сложность и точность модели. Для начинающих пользователей есть библиотека готовых моделей, более опытные пользователи могут не только создавать собственные модели, но и дополнительно обрабатывать их при помощи кода на языке R.

После настройки модели и проведения обучения мы должны оценить результат построения плана продаж. Для этого при помощи нашей модели мы пытаемся предсказать объём продаж в уже прошедшем периоде и сравниваем предсказание с фактом, который также хранится в Microsoft Dynamics. После оценки мы можем вносить корректировки в модель, добиваясь устраивающей нас точности. После получения необходимой точности мы публикуем нашу прогнозную модель в виде доступного web-service. Его роль очень проста: на вход он получает данные, по которым мы хотим получить прогноз продаж, например, дату, магазин, прогнозный курс валют, продукт и пр., то есть всё то, что влияет на прогноз продаж, а на выходе получаем прогноз суммы продаж в этих разрезах.

Полученный в результате прогноз продаж используется как входящая информация для работы блока планирования в Microsoft Dynamics. Таким образом, ERP-система служит потребителем данных Azure Machine Learning.

Импорт данных также автоматизирован и запускается по настроенному расписанию, при этом возможно т. н. «скользящее планирование». Например, в декабре мы загрузили в систему план продаж на год вперёд (с января по следующий декабрь включительно). В январе мы можем загрузить уточнённый план продаж с февраля текущего года до января следующего, в феврале этого года – план продаж с марта по февраль следующего и так далее. При этом есть выбор, что делать с загруженными ранее планами – обновлять их или сохранять как версии.

После импорта прогноза продаж в Microsoft Dynamics запускается планирование (например, сводное планирование в Microsoft Dynamics AX), которое при необходимости проводит разузлование номенклатуры из плана продаж (если в плане продаж содержится прогноз продаж готовой продукции, то необходимо на основании спецификаций определить потребности в компонентах) и с учётом сроков производства / сборки / комплектации, сроков доставки, запасов на складе и в пути и других факторов готовит уже упоминавшиеся выше планы закупок, производства, перемещений и т. п.

Таким образом, использование двух продуктов на общей платформе Microsoft позволяет добиться существенного повышения эффективности планирования.

*На правах рекламы

0 0 vote
Article Rating
Подписаться
Уведомлять о
guest
0 Комментарий
Inline Feedbacks
View all comments