ООО «Агроресурсы» — крупный межрегиональный фармацевтический дистрибьютор, который ведет свою деятельность с 1992 года. Головной офис компании находится в Новосибирске. Филиальная сеть расположена в Красноярске, Иркутске, Тюмени, Омске, Владивостоке, Уфе и Москве с обособленным подразделениями в Барнауле и Екатеринбурге.
Прайс компании включает более 13 тысяч наименований лекарственных средств и регулярно пополняется. Модуль автоматического ценообразования (АЦО) — это веб-сервис, который решил задачу автоматизации ценообразования и статистического анализа цен для всей сети дистрибуции.
Любая компания компания, прайс которой содержит несколько тысяч позиций стремится автоматизировать процесс ценообразования. Алгоритмы выполняют расчет цен на основе анализа больших массивов данных. По мере их роста, встаёт проблема производительности.
Основным инструментом для решения этих задач служил MS Excel. Цены рассчитывались при помощи макросов: данные для расчетов вводились вручную, а выполнение повторяющихся действий обеспечивалось условными операторами «если... — то.., а, если это... — тогда...»
Но макросы имеют ограниченный функционал, требующий участия человека в построении постоянно меняющихся алгоритмов вычисления цен, и главное, высокого навыка работы с Excel. Производительность сильно зависела от работы менеджеров, их внимательности, понимания алгоритмов, умения формализовать бизнес-логику.
Как результат, процесс был негибким: менеджеров было трудно подменить в случае болезни или отпуска, а из-за большого набора данных регулярно срабатывал человеческий фактор, что влекло за собой убытки для компании.
Было принято решение разработать программный модуль, автоматизирующий процесс ценообразования.
На предварительном этапе проекта нам предстояло подготовить техническое задание. Наша проектная команда напрямую взаимодействовала с IT-директором и руководителем департамента ценообразования. Это позволило в сжатые сроки описать алгоритмы и процессы, учитывая все нюансы.
После тщательной проработки архитектуры начался первый этап разработки, который закладывал основы всей системы: алгоритмы расчета, основные и дополнительные параметры, пользовательский интерфейс и базовый функционал для работы менеджеров. Программный модуль был разработан и запущен в работу спустя год. Команда смогла наблюдать за его работой на реальных данных и уточнять требования для улучшения процесса расчета цен.
На одном из этапов доработки нами был реализован функционал накопления статистики. При работе в ручном режиме через Excel менеджеры не могли сохранять историю формирования цен. А эту информацию можно использовать для корректировки внутренних процессов, разработки новых алгоритмов. С помощью автоматизированной системы задача была решена. Это позволило оптимизировать процессы на основе ретроспективных данных по формированию цен.
Веб-сервис представляет собой информационную систему архитектуры Клиент-Сервер. Основная бизнес-логика системы (расчет цен, статистический анализ) реализуется математическим ядром. Функции и алгоритмы ядра запрограммированы на языке Microsoft C# .Net в виде библиотеки динамической компоновки (DLL).
Ядро системы является распределенным и масштабируемым, в зависимости от требуемого быстродействия и планируемой пользовательской нагрузки. Для этого функции математического ядра предоставляются во front-end системы при помощи конвейера обработки: линейки web-сервисов идентичной архитектуры.
При необходимости увеличения мощности системы, достаточно развернуть дополнительное число web-сервисов ядра, которые параллельно обрабатывают пользовательские запросы.
Серверная часть | OS Windows Server, .NET Framework 4.5, Microsoft SQL Server, Microsoft ASP.NET/C# |