Мы — разработчики BI-платформы Insight. Это решение для создания информационных панелей и аналитических приложений на основе данных. За последние три года наша команда выполнила несколько больших внедрений бизнес-аналитики в ситуационных центрах. В процессе мы максимально близко познакомились с особенностями и подводными камнями проектов такого класса и готовы поделиться этим опытом.
Ситуационные центры и аналитика
Ситуационные центры существуют во многих крупных компаниях и широко распространены в госуправлении. Это пространства, оснащенные мультимедийным оборудованием и средствами конференц-связи. Основной смысл — более быстрое принятие управленческих решений.
В ситуационных центрах ведут мониторинг, проводят встречи и совещания рабочих групп. Дашборды — обязательная часть экосистемы любого ситуационного центра независимо от его профиля. Подход к созданию аналитики здесь имеет несколько особенностей.
Во-первых, дашборды необходимо адаптировать не только под десктопы с мобильными устройствами, но и под медиапанели совершенно разных размеров. Во-вторых, обновление аналитических данных и их визуализации как правило происходит каждый день. В-третьих, разная повестка встреч требует демонстрации данных в разном разрезе.

Совместно с дата-офисом одного из наших заказчиков мы готовили дашборды для нескольких крупных федеральных ведомств. Чтобы поставить на поток ежедневное обновление данных и создание самих аналитических панелей, мы выработали такой алгоритм:
- Налаживаем Agile-подход к командной работе, чтобы строго соблюдать сроки и стандарты работы с данными.
- Закладываем масштабируемую архитектуру базы данных и выстраиваем систему контроля за приходом свежих данных для дашбордов, чтобы вовремя реагировать, если по какой-то причине они задерживаются.
- Подключаем виджеты для визуализации и приступаем к верстке дашбордов в конструкторе.
На практике мы пришли к конфигурации проектных команд из 3-4 человек, отвечающих за ETL, верстку, разработку витрин и контроль качества данных. Ведут проекты дата-инженеры, на каждого из которых может приходиться до четырех проектов. Когда на проекте много участников и заказчиков, Agile — не дань моде, а необходимость, поэтому работа была организована так:
- Дейли — по утрам для обсуждения задач на текущий день.
- Демо — раз в неделю для показа, на какой стадии готовности находится каждый дашборд.
- Ретроспективы — для понимания того, какие есть архитектурные ошибки и что можно сделать лучше.
- Архитектурные комитеты — для выработки проектных стандартов, обязательных для всех команд: здесь формируются верхнеуровневые правила касательно работы с данными, базой и визуализацией.

Во-первых, важно выстроить архитектуру базы данных так, чтобы обновление данных в таблицах было безболезненным и база выдерживала нагрузку, которая на нее ложится. Во-вторых, все таблицы должны иметь свежие данные день в день. Данные загружаются в файловые хранилища и оттуда в базу, их поступление, качество и своевременность загрузки нужно контролировать. Делать это удобно с помощью тех же дашбордов.
Контрольный дашборд №1 — для отслеживания поступления данных. Показывает состояние всех потоков данных и время попадания данных в базу. Поток в зеленом цвете — значит данные пришли, в красном — значит актуальных данных еще нет. Если какие-то данные не поступили, они запрашиваются у контактных лиц. После этого нужно еще раз убедиться, что данные отгружены, попали в базу и дата актуальности обновлена на сегодняшнюю.
Контрольный дашборд №2 — для проверки ускорения запросов для виджетов через дата-агрегатор.Показывает критические виртуальные датасеты, которые не обновились или по какой-то причине не смогли закэшироваться. Причины могут быть разными: не пришла какая-то из таблиц, запрос оказался чересчур сложным и дата-агрегатор не смог переварить его вместе с высокой нагрузкой. Контрольный дашборд помогает принять решение: нужен ли такой датасет? Можно ли разбить его на несколько простых? Или отрефакторить код, чтобы облегчить запрос, дабы его получилось успешно обработать?
Контрольный дашборд №3 — для проверки загрузки данных и корректной визуализации. В ситуационных центрах используются огромные видеостены, интерактивные доски и мониторы совершенно разных размеров — “от мала до велика”. Чтобы не упустить какие-то неожиданности, удобно настроить Python-скрипт, который будет “проходиться” по всем дашбордом в работе. На одном из наших проектов такой скрипт открывал все дашборды один за другим на внутреннем экране в дата-офисе. Так мы всегда могли удостовериться, что все дашборды в ситуационном центре работают и данные на них прогружаются.
Когда вопросы с организацией работы, загрузкой и обработкой данных решены, время переходить к созданию витрин данных и подготовке датасетов. Они нужны для подключения виджетов, которые визуализируют данные. В Insight все это делается в no code конструкторе:
- Исходные данные формируются в датасеты и загружаются в папку будущего аналитического приложения.
- В визуальном редакторе создается проект. Можно импортировать шаблон из существующего или создать новый.
- Верстать дашборды и настраивать их внешний вид можно с помощью библиотеки виджетов, которых больше сотни.
- Подключение источников данных, которые будут выводиться в виджете, тоже происходит в конструкторе. Нужно выбрать датасет, задать метрики и измерения для анализа. Жмем “сохранить” — визуализация готова!
- Через боковое меню легко настроить отображение виджета — поменять цвет, шрифт и многое другое. Пространство для творчества огромное.
