Внедрение BI-аналитики для застройщика в Apache Superset

2026-04-15 15:07:43 Время чтения 8 мин 111

К нам пришёл застройщик с запросом на разработку управленческой аналитики.

Формально она у них уже была. Несколько лет назад настроили отчёты в Power BI, ими пользовались и даже опирались в принятии решений. Проблема в том, что за эти годы сам бизнес сильно изменился. Добавились новые процессы, выросло количество источников данных, усложнилась структура, а аналитику не дорабатывали. Старые дашборды под это просто не были рассчитаны, и в какой-то момент они перестали отвечать на вопросы, которые волнуют бизнес сейчас.

Переделывать существующую систему клиент не стал. Там слишком много компромиссов, завязанных на старую логику. Вместо этого решили собрать аналитику заново, уже под текущие процессы и задачи. Дополнительно сыграл фактор риска. Power BI — продукт Microsoft, и у команды были опасения, что со временем могут появиться ограничения по доступу. Прецеденты на рынке уже были, поэтому зависимость от внешнего сервиса выглядела не лучшим решением.

В качестве базы выбрали Apache Superset. Это open-source инструмент, который разворачивается внутри собственной инфраструктуры. Данные остаются в компании, доступы контролируются на своей стороне, никаких лицензий и внешних ограничений. По сути, это просто код, который работает на сервере, и его нельзя «выключить» извне. Риски, конечно, остаются, но они уже лежат в зоне ответственности самой компании (где расположен сервер, как настроены доступы, насколько стабильно работает инфраструктура). 

Дальше начали с базового — разобрали, как вообще устроены данные. Оказалось, что они разбросаны по разным системам, здесь 1С, Google Таблицы, Excel-файлы, отдельные выгрузки в XML и внутренняя самописная система, которая частично закрывает задачи CRM. В таком виде никакой цельной картины получить невозможно, поэтому сначала зафиксировали, какие именно показатели и отчёты нужны бизнесу для работы. Не «в целом аналитика», а конкретные метрики и управленческие срезы. На основе этого собрали техническое задание.

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

Когда данные оказались в одном месте, стало видно, что с ними не всё так однозначно. Метрики считались по-разному, в разных системах одна и та же цифра могла давать расхождения. Это типичная ситуация: пока отчёты живут отдельно, такие вещи не бросаются в глаза. Мы отдельно разобрали логику расчётов, договорились, как именно считаются ключевые показатели, и зафиксировали это как единую модель.

После этого собрали слой данных. Использовали view и materialized view, чтобы подготовить данные заранее, а не пересчитывать всё при каждом открытии отчёта. Это сильно снижает нагрузку и делает дашборды предсказуемыми по скорости. В результате отчёты начали работать быстрее и стабильнее, без подвисаний и случайных расхождений.

Только когда появилась нормальная база, перешли к визуализации.

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

В Superset использовали разные типы визуализации в зависимости от задачи. Обычные таблицы — там, где важна сортировка и детализация. Сводные — для работы с кросс-фильтрами. Добавили графики: линейные, столбчатые, комбинированные — с нормальной настройкой форматов значений, чтобы цифры читались без лишних усилий. Сам дашборд собрали из смысловых блоков, например отдельно блок с характеристиками объекта и отдельно финансовые показатели. За счёт группировки они ведут себя как единое целое и не разваливаются при изменении фильтров.

Отдельно сделали дашборд для контроля эффективности отделов. Это уже операционный инструмент. Его задача — быстро показать, как идут задачи, где перегрузка, где просадка по результатам. В идеале такой экран открывается несколько раз в день и даёт понятную картину без необходимости проваливаться в детали.

Для работы с подрядчиками собрали отдельную страницу в формате чек-листа. Там сразу видно, у кого на каком этапе есть проблемы: документы, сроки, выполнение работ. Отклонения подсвечиваются, и не нужно разбирать каждого подрядчика по отдельности. Достаточно одного взгляда, чтобы понять, где узкое место и куда нужно вмешаться.

Ещё один дашборд — контроль выноса инженерных сетей. По сути это сводная таблица по объектам и этапам работ. Цветами отмечено текущее состояние (всё идёт по плану или есть просрочка). При необходимости можно посмотреть детали — плановые и фактические значения. Визуальную часть, включая условное форматирование, донастроили через CSS внутри Superset.

Это не весь объём, который был реализован — в проекте дашбордов больше, под разные уровни управления и задачи. Но даже этого набора оказалось достаточно, чтобы закрыть ключевую проблему и у клиента появилась единая система аналитики, на которую можно опираться без постоянных проверок и ручных сборок. Данные стали согласованными, отчёты — стабильными, а решения — быстрее.

За последние годы мы реализовали более 127 проектов в разных нишах, и в каждом случае задача сводилась не к «сделать дашборд», а к тому, чтобы привести данные в рабочее состояние и связать их с реальными процессами бизнеса.

Если вам откликается такой подход, можно спокойно обсудить вашу задачу на бесплатной консультации, с разбором текущей ситуации и возможных точек роста.