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