Разработка и внедрение BI-систем помогает компаниям управлять данными, автоматизировать отчётность и принимать решения на основе аналитики в реальном времени. В статье Вадим Медяник рассказал о принципах создания кастомных BI-платформ, этапах внедрения и практических кейсах.

Всем привет! Меня зовут Вадим Медяник, я технический директор ИТ-компании BPA. Вместе с командой мы занимаемся заказной разработкой, а также созданием собственных высокотехнологичных продуктов на основе ИИ, о чем я расскажу в будущих статьях.
Сегодня я поделюсь с вами принципами разработок кастомных BI-систем, зачем они вообще нужны, а также собственном опыте и наших интересных кейсах.
Что делать, если в компании необходимо работать с десятками отчетов, а обработка данных отнимает все больше времени? Определенно внедрять BI-систему!
Начнем с теории и анализа рынка. Согласно совместному исследованию НОРБИТ, Digital Leader, К2Тех Data Lab и Kept, с 2021 года по первый квартал 2024 года доля внедрений зарубежных систем снизилась с 90% до 23%, российских — возросла с 9% до 68%.

Согласно данным российский рынок BI-систем демонстрирует стабильный рост. Важным фактором остается безопасность данных. Во избежание рисков 80% компаний разворачивают BI-системы во внутренней инфраструктуре.

Работа над кастомной BI-системой начинается с глубокой аналитики. После подписания NDA и обмена данными мы изучаем бизнес-процессы клиента, особенности хранения данных, их структуру и частоту обновления. На основе этого формируется техническое задание и план работы.

Каждый этап согласовывается с заказчиком, чтобы результат максимально соответствовал ожиданиям.
В некоторых кейсах заказчик не может сформировать конечный образ продукта, поэтому мы готовим MVP отдельных модулей для того, чтобы протестировать гипотезы и согласовать с клиентом внешний вид и функционал работы.
Для этого чаще всего мы используем библиотеку Shiny, доступную на R и Python. Она позволяет очень быстро разработать прототип будущей системы с возможностью внесения правок, тестирования гипотез в режиме реального времени. Shiny хороша тем, что один разработчик может набрасывать и фронт, и бэк, она не требует сложного развертывания, а обновления в системе можно демонстрировать на ходу. При этом в ней поддерживается большое количество пакетов для визуализации (ggplot2, D3, Plotly и др.), для построения таблиц (DT, reactable и др.), работы с картами (Leaflet, Яндекс АПИ и др.) и всем другим, что приходит на ум.
В Shiny можно быстро подготовить ролевую модель, подключить БД, настроить логику бэка любой сложности, обработку и аналитику данных (в том числе ML), для быстрой демонстрации и согласования с клиентом, перед переходом на полномасштабную разработку.
Несмотря на наличие универсальных BI-продуктов, многие компании предпочитают именно индивидуально разработанные решения. Причины достаточно очевидны:
Кастомная BI-система — это готовый инструмент, полностью настроенный под клиента, который не требует сложного обслуживания и доработок.
Выбор технологий зависит от объема данных, количества пользователей и требований к производительности и пр. Для разработки BI-систем мы применяем широкий стек технологий.
Выбор хранилища зависит от структуры данных и задач системы. Наш выбор чаще всего падает на PostgreSQL, ClickHouse, DuckDB – для структурированных табличных данных, MongoDB и S3 – для хранения неструктурированных данных, архивов и прочего. Для бэкенда чаще всего мы используем Python (Django, FastAPI), Go и Kotlin в зависимости от задач и требований к производительности. Для разработки клиентской части используются Vue.js и React. Они имеют широкий набор готовых библиотек и материалов, высокую скорость рендеринга, что делает их отличным выбором для BI-систем с динамическими визуализациями. Для обеспечения безопасности и надежности кода мы используем TypeScript вместо чистого JS. Мониторинг и анализ работы развернутых BI-систем осуществляется с помощью Grafana или Zabbix, что позволяет оперативно отслеживать нагрузку и устранять возможные ошибки.
Вопрос оптимизации скорости работы BI-системы решается несколькими способами: индексация базы данных, кэширование на стороне бэка и фронта, оптимизация алгоритмов ML (если таковые используются) и др.
В числе успешных проектов BPA — BI-система для лизинговой компании. Задача заключалась в создании инструмента, который позволил бы эффективно управлять автопарком, оптимизировать маршруты и минимизировать затраты на логистику. Основным запросом клиента было отслеживание грузовых автомобилей в реальном времени с помощью GPS-датчиков, а также интеграция этой информации с данными из их ERP-системы.
После анализа бизнес-процессов компании были согласованы ключевые функции: отображение маршрутов на карте, отслеживание состояния автомобилей, расчет затрат на топливо и аналитика эффективности логистики.
В первую очередь был создан модуль интеграции, который в реальном времени собирал данные с GPS-датчиков и передавал их в систему через API. Одновременно была реализована интеграция с ERP-системой заказчика, что позволило использовать информацию о загрузке автомобилей, техническом состоянии и запланированных маршрутах. Следующим шагом стало создание интерактивного дашборда. На панели в реальном времени отображались маршруты автомобилей на карте, запас топлива, статус выполнения рейсов и информация о водителях. Визуализация позволила менеджменту не только отслеживать текущее состояние автопарка, но и анализировать исторические данные для выявления неэффективных маршрутов и простоев.
Эти данные использовались для принятия ключевых управленческих решений. Например, если система фиксировала частые простои или неэффективные маршруты, логисты могли оперативно их корректировать, перераспределяя нагрузку между автомобилями. Анализ исторических данных помогал выявлять проблемные зоны — например, излишние пробеги, задержки на складах или неэффективное расходование топлива.

Во время пилотного тестирования сотрудники лизинговой компании проверяли работу системы в реальных условиях. После развертывания системы мы провели обучение пользователей, чтобы они могли эффективно пользоваться аналитическими инструментами, создавать отчеты и принимать решения на основе данных.

Как итог — водители и менеджеры получили удобный инструмент для контроля технического состояния автопарка, что снизило логистические расходы компании на 7% уже в первые два месяца работы.
В заключение стоит сказать, что индивидуальный подход к BI — это не просто тенденция, а необходимость для современных компаний, стремящихся оставаться конкурентоспособными в условиях быстро меняющегося рынка.

Нажимая на кнопку «Отправить», вы даете согласие на обработку своих персональных данных и соглашаетесь с политикой конфиденциальности.

Нажимая на кнопку «Отправить», вы даете согласие на обработку своих персональных данных и соглашаетесь с политикой конфиденциальности.

Нажимая на кнопку «Отправить», вы даете согласие на обработку своих персональных данных и соглашаетесь с политикой конфиденциальности.