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