Как разработать программное обеспечение для прогнозирования спроса
ИТ-компания RedLab приняла участие в реализации проекта по созданию программы на базе MLЗадача:
Масштабировать инфраструктуру и разработать модуль Demand Planning, позволяющий рассчитывать оптимальный статистический прогноз на основе анализа событий, тенденций и сезонных изменений.
Причина:
Требовалось максимально быстро модернизировать ИТ-продукт.
О проекте
Компания разрабатывает системы на базе машинного обучения и искусственного интеллекта. Среди ИТ-продуктов: программа для интегрированного бизнес-планирования, решение для управления клиентским сервисом, ПО для контроля цепочек поставок и запасов, закупки сырья и материалов и др. Клиентами бизнеса являются предприятия из производственного сектора, ритейла, логистики и сельского хозяйства.
Одна из программ предназначена для прогнозирования спроса в рамках процесса Sales and Operations Planning (S&OP). ML-алгоритмы рассчитывают планы продаж, дают оценку надежности проектов и моделируют потребности аудитории. С помощью инструмента организации могут оптимизировать процессы закупок, производства и отгрузки изделий. Чтобы улучшить результаты прогнозов и сократить количество сбоев, бизнес хотел модернизировать систему.
Для RedLab были сформулированы следующие задачи:
- Увеличить скорость совершаемых операций.
- Повысить точность прогнозирования.
- Обеспечить устойчивость к ошибкам в ПО.
- Внедрить технологии, которые выведут систему на качественно новый уровень.
Реализация
Технологический стек:
- .Net
- Rabbit MQ
- WCF
- EF
- ADO NET
- LINQ
- MS SQL
- WPF
- MediatR + Onion
- Angular
- RxJs
- Telerik Kendo
Сразу после подключения к проекту специалисты RedLab провели глубокую аналитику бизнес-процессов и функциональных требований к программе и оперативно приступили к созданию нового функционала:
- Создали визуальный функционал с помощью платформ WPF и Angular, чтобы увеличить доступность системы на различных устройствах.
- Перенесли логику работы с БД из серверной части в клиентскую, что сделало ИТ-продукт более гибким и устойчивым к изменениям.
- Перевели функционал на Core — это обеспечило доступ к последним версиям .NET.
- Сформировали данные для OLAP-кубов. Технология хранит агрегированные данные и выдает результаты запросов за доли секунды.
- Интегрировали НСИ (нормативно-справочную информацию) в имеющееся ПО. Определили механизм синхронизации и обновления данных в системе.
- Отделили операции чтения и записи с помощью CQRS, что позволило более эффективно работать над различными частями приложения.
- Выполнили рефакторинг кода и перевели программу на луковичную архитектуру. Удалось улучшить читаемость, поддерживаемость и масштабируемость инфраструктуры.
- Разработали процесс реконсиляции и каннибализации продаж, чтобы отслеживать движение товара по всем sales-каналам и быстрее прогнозировать потребности аудитории.
- Мигрировали с монолитной на микросервисную архитектуру — ускорился процесс разработки, повысилась автономность групп в кодовой базе, усилилась отказоустойчивость системы.
- Перевели систему с месячного планирования на произвольный (неделя, месяц, год, период, день). Также переработали функционал календарей и временных единиц планирования.
Точность расчетов увеличилась на 15%. Теперь клиент имеет более эффективную, надежную и конкурентоспособную систему.
Интересное:
Новости отрасли:
Все новости:
Публикация компании
Профиль
Социальные сети