Золотой сертифицированный партнер ООО «1С-Битрикс»
Эти маленькие «печеньки» (файлы cookie) помогают сайту запомнить ваши настройки, например, язык или выбранные параметры. Так, при каждом новом посещении вы будете чувствовать себя как дома. Примите их, чтобы сделать сайт своим!
OK

Визуализация данных Битрикс24 через Apache Superset за 3 часа

Оптимизация планирования посменных дежурств и обработки входящих заявок для агентства элитной недвижимости с помощью бизнес-процессов Битрикс24

Интеграция BI-инструментов с CRM через Trino и AI-ассистента

Стандартные отчеты Битрикс24 закрывают 80% потребностей бизнеса в аналитике. Остальные 20% требуют кастомных дашбордов с гибкой визуализацией: тепловые карты продаж по регионам, воронки конверсии с множественными фильтрами, анализ маржинальности с учетом сложных систем скидок. Для таких задач компании подключают BI-инструменты вроде Power BI, Tableau или Apache Superset. 

Проблема в том, что интеграция занимает недели: нужно разобраться в API Битрикс24, настроить коннекторы, написать SQL-запросы под структуру базы данных. Этот кейс показывает, как подключить Apache Superset к Битрикс24 через базу данных Trino за 3 часа работы - с помощью AI-ассистента, который знает документацию обеих систем.

Исходная задача: визуализация скидок и аналитика сделок

Компания использует Битрикс24 для управления продажами, но столкнулась с двумя задачами, которые стандартные отчеты CRM не решают:

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

Расчет и визуализация скидок - в компании действует многоуровневая система скидок: базовые условия, персональные для клиента, акционные предложения. Нужно видеть итоговую маржинальность каждой сделки с учетом всех примененных скидок.

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

Выбор стека: Apache Superset + Trino + Context Seven

Для визуализации данных выбрали Apache Superset - open-source BI-платформу с богатой библиотекой графиков: от простых столбчатых диаграмм до тепловых карт и санки-диаграмм. Superset работает с любыми SQL-базами данных.

Битрикс24 хранит данные в MySQL, но прямое подключение создает проблемы:

  •  Структура таблиц Битрикс24 сложная: пользовательские поля разбросаны по служебным таблицам
  •  Прямые запросы к production-базе нагружают систему
  •  Нет удобного слоя для трансформации данных перед визуализацией

Решение - использовать Trino (ранее Presto) как промежуточный слой. Trino - это распределенная SQL-система, которая:

  •  Подключается к Битрикс24 как к источнику данных
  •  Позволяет писать SQL-запросы в привычном синтаксисе
  •  Кеширует результаты, не нагружая основную базу
  •  Объединяет данные из нескольких источников (например, Битрикс24 + Google Sheets с планами продаж)

Для ускорения настройки использовали MCP Context Seven - AI-ассистента, который работает с актуальной документацией программных решений. Он знает:

  •  Структуру базы данных Битрикс24: какие таблицы хранят сделки, контакты, пользовательские поля
  •  API и синтаксис Trino для написания запросов
  •  Возможности Apache Superset для создания визуализаций

Вместо того чтобы неделями изучать документацию трех систем, можно задавать вопросы ассистенту и получать готовые SQL-запросы и конфигурации.

Методология работы: от бизнес-задачи к структуре данных

Классический подход к BI-аналитике: сначала выгружаем все данные, потом думаем, что с ними делать. Это приводит к хаосу: десятки дашбордов, половина из которых никто не использует.

В этом проекте применили обратную методологию.

Шаг 1: Формулировка бизнес-задачи

Начали с конкретных вопросов, на которые должны ответить дашборды:

  •  Какие менеджеры дают наибольшую маржинальность с учетом скидок?
  •  Как распределены сделки по регионам и продуктам?
  •  На каких этапах воронки теряется больше всего клиентов?

Шаг 2: Выбор визуализаций

Для каждой задачи AI-ассистент предложил несколько вариантов визуализаций:

  •  Для маржинальности: столбчатая диаграмма с группировкой по менеджерам + таблица с детализацией
  •  Для географии: тепловая карта регионов + круговая диаграмма топ-5 городов
  •  Для воронки: санки-диаграмма переходов между этапами

Выбрали те визуализации, которые дают максимум инсайтов при минимуме когнитивной нагрузки.

Шаг 3: Проектирование датасетов

Только после выбора визуализаций начали проектировать структуру данных. Определили:

  •  Сколько датасетов нужно (в итоге получилось 3: по сделкам, по скидкам, по географии)
  •  Какие поля должны быть в каждом датасете
  •  Какие вычисляемые метрики добавить (например, маржинальность = сумма сделки - сумма скидок)

Этот подход экономит время: создаешь только те датасеты, которые реально нужны для визуализаций.

Настройка интеграции: 3 часа в одном диалоге

Вся настройка заняла один рабочий день - около 3 часов активной работы в диалоге с AI-ассистентом.

Подключение Trino к Битрикс24

Ассистент предоставил конфигурацию для Trino-коннектора к MySQL:
```
connector.name=mysql
connection-url=jdbc:mysql://bitrix24-db:3306/bitrix
connection-user=analytics_user
connection-password=***
```

Подсказал, какие таблицы Битрикс24 содержат данные сделок:

  •  `b_crm_deal` — основная таблица сделок
  •  `b_crm_deal_uf` — пользовательские поля
  •  `b_crm_status` — справочник статусов воронки

Создание датасетов в Superset

Для каждого датасета ассистент написал SQL-запрос в Trino. Пример запроса для датасета по маржинальности:

```sql
SELECT 
  d.id AS deal_id,
  d.title AS deal_title,
  d.opportunity AS deal_amount,
  d.assigned_by_id AS manager_id,
  u.name AS manager_name,
  COALESCE (disc.total_discount, 0) AS total_discount,
  d.opportunity — COALESCE (disc.total_discount, 0) AS margin
FROM b_crm_deal d
LEFT JOIN b_user u ON d. assigned_by_id = u. id
LEFT JOIN (
  SELECT 
    deal_id,
    SUM (discount_amount) AS total_discount
  FROM b_crm_deal_discounts
  GROUP BY deal_id
) disc ON d. id = disc. deal_id
WHERE d. stage_semantic_id = 'S' -- только успешные сделки
```

Запрос объединяет данные из трех таблиц:

  •  Основные поля сделки
  •  ФИО менеджера
  •  Сумма всех примененных скидок

Ассистент объяснил каждую строку запроса и подсказал, как добавить фильтры по датам или воронкам.

Создание визуализаций

Для каждой визуализации ассистент предложил:

  •  Тип графика (столбчатая диаграмма, тепловая карта, санки)
  •  Настройки осей и фильтров
  •  Цветовую схему для лучшей читаемости

Например, для тепловой карты регионов:

  •  Ось X: регион (из пользовательского поля сделки)
  •  Ось Y: месяц закрытия сделки
  •  Цвет: сумма маржинальности
  •  Фильтр: выбор года и менеджера

Весь процесс - от подключения Trino до первого рабочего дашборда - занял 3 часа. Без AI-ассистента на это ушло бы несколько дней: пришлось бы изучать документацию Битрикс24, разбираться в структуре таблиц, искать примеры SQL-запросов для Trino.

Реализация логики скидок: многоуровневая система

Одна из ключевых задач - визуализация сложной системы скидок. В компании действуют три типа скидок:

Базовые скидки - зависят от объема заказа:

  •  До 100 000 ₽ - 0%
  •  100 000 - 500 000 ₽ - 5%
  •  Свыше 500 000 ₽ - 10%

Персональные скидки - привязаны к контакту клиента в CRM, хранятся в пользовательском поле `UF_PERSONAL_DISCOUNT`

Акционные скидки - временные предложения, которые применяются к определенным товарам или категориям

Скидки суммируются, но итоговая не может превышать 25%. Эту логику нужно было отразить в датасете.

Ассистент написал SQL-запрос с вычислением итоговой скидки:

```sql
WITH base_discount AS (
  SELECT 
    deal_id,
    CASE 
      WHEN opportunity < 100 000 THEN 0
      WHEN opportunity BETWEEN 100 000 AND 500 000 THEN opportunity * 0.05
      ELSE opportunity * 0.10
    END AS base_disc
  FROM b_crm_deal
),
personal_discount AS (
  SELECT 
    d.id AS deal_id,
    d.opportunity * (COALESCE (c.uf_personal_discount, 0) / 100) AS personal_disc
  FROM b_crm_deal d
  LEFT JOIN b_crm_contact c ON d. contact_id = c. id
),
promo_discount AS (
  SELECT 
    deal_id,
    SUM (discount_amount) AS promo_disc
  FROM b_crm_deal_promo
  GROUP BY deal_id
)
SELECT 
  d.id,
  d.opportunity,
  bd.base_disc,
  pd.personal_disc,
  COALESCE (pr.promo_disc, 0) AS promo_disc,
  LEAST (
    bd.base_disc + pd. personal_disc + COALESCE (pr.promo_disc, 0),
    d.opportunity * 0.25
  ) AS total_discount
FROM b_crm_deal d
JOIN base_discount bd ON d. id = bd. deal_id
JOIN personal_discount pd ON d. id = pd. deal_id
LEFT JOIN promo_discount pr ON d. id = pr. deal_id
```

Запрос использует Common Table Expressions (CTE) для пошагового расчета:

  1. Вычисляет базовую скидку по сумме сделки
  2. Добавляет персональную скидку из поля контакта
  3. Суммирует акционные скидки из отдельной таблицы
  4. Применяет ограничение в 25% через функцию LEAST

На основе этого датасета построили несколько визуализаций:

  •  Водопадная диаграмма - показывает, как формируется итоговая скидка: сумма сделки → базовая скидка → персональная → акционная → итог
  •  Таблица с детализацией - список сделок с разбивкой по типам скидок, можно отсортировать по маржинальности
  •  Столбчатая диаграмма - сравнение эффективности менеджеров: сколько скидок дают и какую маржинальность получают

> Раньше менеджеры не видели, как скидки влияют на итоговую прибыль. Теперь на дашборде видно: сделка на 600 000 ₽ с 20% скидкой дает меньше маржи, чем две сделки по 300 000 ₽ с базовой скидкой.

Преимущества подхода: скорость и гибкость

Интеграция Битрикс24 с Apache Superset через Trino и AI-ассистента дала несколько преимуществ.

Скорость настройки

Классический путь: нанять аналитика, который потратит неделю на изучение структуры базы Битрикс24, напишет скрипты выгрузки, настроит ETL-процессы.

В этом кейсе все заняло 3 часа благодаря AI-ассистенту, который:

  •  Знает структуру таблиц Битрикс24
  •  Пишет SQL-запросы под конкретную задачу
  •  Подсказывает оптимальные визуализации

Гибкость визуализаций

Apache Superset предлагает 50+ типов графиков. Можно создать:

  •  Тепловые карты продаж по регионам и месяцам
  •  Санки-диаграммы движения сделок по воронке
  •  Пузырьковые диаграммы для анализа маржинальности
  •  Временные ряды с прогнозированием

Стандартные отчеты Битрикс24 ограничены базовыми графиками: столбчатые, круговые, линейные.

Объединение источников данных

Trino позволяет в одном запросе объединить:

  •  Данные из Битрикс24 (сделки, контакты)
  •  Планы продаж из Google Sheets
  •  Данные о маркетинговых кампаниях из других систем

Например, можно построить дашборд, который показывает:

  •  Сколько лидов пришло из рекламы (данные из рекламного кабинета)
  •  Сколько из них конвертировались в сделки (данные из Битрикс24)
  •  Выполнение плана продаж по менеджерам (данные из Google Sheets)

Отсутствие нагрузки на Битрикс24

Trino кеширует результаты запросов. Дашборды обновляются по расписанию (например, раз в час), а не тянут данные из production-базы при каждом открытии. Это критично для компаний с большим объемом данных: тяжелые аналитические запросы не тормозят работу CRM.

Применимость решения: когда нужен BI-инструмент

Интеграция Битрикс24 с Apache Superset подходит не всем компаниям. Стандартные отчеты CRM закрывают большинство задач. BI-инструмент нужен в следующих случаях.

Требуется кастомная визуализация

Вы хотите видеть данные в форматах, которых нет в Битрикс24:

  •  Тепловые карты продаж по регионам
  •  Санки-диаграммы движения клиентов по воронкам
  •  Когортный анализ: как меняется поведение клиентов со временем

Нужно объединить данные из нескольких систем

Вы используете Битрикс24 для продаж, но:

  •  Планы продаж хранятся в Google Sheets
  •  Данные о маркетинге в Яндекс. Метрике
  •  Финансовые показатели в 1С

Trino позволяет объединить все источники в одном дашборде.

Сложная бизнес-логика в расчетах

В вашей компании:

  •  Многоуровневая система скидок
  •  Расчет маржинальности с учетом себестоимости и логистики
  •  KPI менеджеров зависят от десятка параметров

Такие расчеты проще делать в SQL-запросах Trino, чем в вычисляемых полях Битрикс24.

Большой объем данных

Если в CRM десятки тысяч сделок, стандартные отчеты Битрикс24 могут тормозить. Trino оптимизирован для работы с большими данными и кеширует результаты.

Когда BI-инструмент избыточен

Не стоит внедрять Apache Superset, если:

  •  Вам хватает стандартных отчетов Битрикс24 (воронка продаж, динамика по менеджерам)
  •  В компании нет аналитика, который будет поддерживать дашборды
  •  Данные нужны раз в квартал для презентации руководству (проще выгрузить в Excel)

BI-инструменты требуют ресурсов на поддержку: обновление запросов при изменении структуры CRM, создание новых дашбордов под задачи бизнеса.
Заключение
Интеграция Битрикс24 с Apache Superset через Trino открывает возможности для глубокой аналитики: кастомные визуализации, объединение данных из разных систем, реализация сложной бизнес-логики в расчетах. Использование AI-ассистента Context Seven сокращает время настройки с недель до нескольких часов: ассистент знает структуру базы Битрикс24, пишет SQL-запросы и подсказывает оптимальные визуализации.

Методология «от бизнес-задачи к структуре данных» позволяет создавать только те дашборды, которые реально нужны: сначала формулируете вопросы, затем выбираете визуализации, и только потом проектируете датасеты. Это экономит время и избавляет от хаоса десятков неиспользуемых отчетов. Решение подходит компаниям, которым не хватает стандартных отчетов CRM и требуется гибкость в анализе данных.
Made on
Tilda