Первое правило внедрения ML-систем
Большинство неудач в проектах по машинному обучению (machine learning, ML) в работе с данными связаны с недостаточно проработанным фундаментом проекта. Существует несколько подходов к управлению ML-проектами, и все они подчеркивают два ключевых аспекта. Во-первых, водопадный подход неприменим к проектам внедрения ML. Во-вторых, первое, что нужно сделать при подготовке к старту проекта, — это определить бизнес-ценность проекта.
Около 15 лет назад один из пионеров разработки систем машинного обучения Том Кхабаза сформулировал 9 правил внедрения ML систем. Первое правило — «Business Goals Law» (Правило бизнес-цели). Так, начинать необходимо не с работы с данными, а с определения того, какую бизнес-ценность имеет прогноз, который планируется получить. Не понимая ценности, ни один спонсор не выделит бюджет на разработку системы (как в случае аутсорса, так и в случае внутренней разработки). Особенно учитывая, что проекты, связанные с ML, дороги и требуют значительных инвестиций.
Показателем ценности внедрения системы прогнозирования является её ROI. В случае с прогнозированием продаж посчитать этот показатель несложно. Точность прогноза влияет на упущенную выгоду, на состояние складских запасов, на штрафы. Выигрыш по этим показателям можно рассчитать и включить в расчёт ROI.
Дополнительно в ROI можно включить фонд оплаты труда специалистов, которые ведут расчет прогнозов вручную. К примеру, если раньше специалист тратил в неделю 40 часов на то, чтобы подготовить прогноз продаж, то после внедрения системы прогнозирования та же работа будет занимать у него 2 часа. Следовательно, в остальные 38 часов он может решать другие задачи, а тот оклад, который он должен был бы получить за эти часы, необходимо учитывать в ROI проекта.
Подобным образом нужно учесть все остальные показатели. После того, как рассчитан ROI проекта в деньгах, можно просчитать срок окупаемости.
Кроме того, при определении ценности проекта необходимо помнить, что сам по себе прогноз не имеет ценности. Он должен быть частью бизнес-процесса: например, понедельный прогноз продаж в натуральных единицах для целей S&OP (планирование продаж и операций) на полтора года вперед, или помесячный прогноз выручки на период до года в рублях для целей бюджетирования.
Еще одна задача, которую нужно решить до начала проекта — определение объема работы, которую необходимо выполнить для достижения запланированного результата. Эта задача может показаться излишней формальностью, но, тем не менее, ее необходимо выполнить.
Необходимо заранее четко прописать требования к прогнозу. Например, если точность невозможно повысить на 5%, то проект не окупится. И если мы на старте поймём, что мы не сможем достигнуть требуемой точности, проект лучше не начинать.
При этом большое значение имеет описание критериев оценки точности прогноза: горизонт, гранулярность по всем направлениям — время, продукт, локация, клиент. Например, точность прогнозирования на суммарном уровне (канал продаж), как правило, выше, чем при прогнозировании на более детальном уровне (клиент).
Еще одна договоренность «на берегу», о которой часто забывают — формула расчета точности. Для одного только прогноза продаж существует 15 разных метрик оценки точности.
Так, например, если заказчик и исполнитель договорятся о точности 80%, это могут быть две совершенно разные точности: скажем, заказчик подразумевал «1 — WAPE», а исполнитель — «1 — MAPE».
Как видим, использовано всего четыре варианта, и каждый из них дает разные показатели точности на разных уровнях гранулярности.
Наконец, необходимо определиться с требованиями к данным и проверить, достаточно ли их для достижения цели.
К примеру, для прогноза продаж с учётом промо-акций необходим план промо, без него такой прогноз сделать просто невозможно. Точно так же необходима и история промо — без нее отсутствуют данные для обучения алгоритма прогнозирования. Если этих данных нет, то стартовать проект по разработке системы прогнозирования нет смысла: на данном этапе нужно стартовать другой проект по подготовке нужных данных — либо проект разработки системы промо-планирования, либо проект разработки системы сбора фактических данных по промо. Во втором случае придется дополнительно дождаться накопления истории, достаточной для обучения прогнозных моделей.
Часто недооценивается задача, связанная с подготовкой данных. Они могут содержаться в разных информационных системах, и для того, чтобы собрать их, придется привлекать к работе разные команды, которые этими системами управляют.
Все перечисленные шаги создают фундамент для реализации проекта разработки модели прогнозирования.
Как я уже писал выше, водопадный подход не применим к ML-проектам. Мы не можем чётко прописать на старте все формулы и используемые алгоритмы, не проанализировав данные. Разработку нужно вести по гибкой методологии, начиная с прототипирования и MVP, и далее добавляя новые блоки и потенциально повышая точность прогноза. После подготовки фундамента, как правило, разработку прогнозной модели начинают с внедрения следующих блоков, обычно именно в этом порядке:
0. За основу возьмем ту точность, которая соответствует ручному планированию. Это будет базовый уровень точности, который необходимо улучшить.
Далее, но необязательно в таком порядке:
Последний пункт не поможет увеличить точность прогноза. Он призван сильно сократить время работы дорогих специалистов по анализу данных и упорядочить их работу за счет:
Одновременно облегчается и сама разработка, и её вывод в продуктив, и последующая поддержка прогнозной системы.
Внедрение системы прогнозирования спроса требует создания прочного фундамента проекта, начиная с четкого определения бизнес-целей и оценки потенциальной ценности для компании. Только при глубоком понимании задач, тщательной подготовке данных и согласовании критериев успеха можно достичь высокой точности и эффективности прогноза.
Такой структурированный и осознанный подход обеспечивает не просто техническое внедрение, а реальное улучшение процессов планирования и управления цепочками поставок, что позволяет компании принимать обоснованные решения и достигать устойчивого роста.
Источник статьи представлен по ссылке.
Теги: прогноз, прогнозирование, ML