Интеграция Битрикс24 с Tableau
Руководитель просит отчёт по воронке продаж за квартал. Менеджер выгружает данные из Б24 в Excel, чистит дубли, строит сводную таблицу, вручную считает конверсию по этапам. Через два дня данные устарели — нужно повторять. В Б24 есть встроенная аналитика, но для сложных срезов (когортный анализ, перекрёстные отчёты по каналам и менеджерам, динамика LTV) её недостаточно. Tableau решает эту задачу, но данные туда нужно ещё доставить. Мы за 10+ лет сделали десятки таких интеграций — знаем все подводные камни. Например, один из клиентов с 50 000 сделок в год тратил на ручные отчёты 2 рабочих дня в неделю — после автоматизации время сократилось до 1 часа.
Почему стоит выбрать связку Битрикс24 + Tableau?
Tableau — лидер BI-платформ, а Битрикс24 содержит богатую CRM-модель. Вместе они дают гибкость, недоступную штатным отчётам: когорты, перекрёстные фильтры, прогнозирование. Но Tableau не имеет нативного коннектора к Б24 — нужна промежуточная прослойка.
Как устроена архитектура интеграции?
Tableau подключается к Б24 через промежуточное хранилище:
Б24 REST API → ETL-скрипт → PostgreSQL/MySQL → Tableau Desktop/Server → дашборд
ETL-скрипт (на Python, Node.js или PHP) извлекает данные из Б24 через REST API, трансформирует и загружает в реляционную базу. Tableau подключается к этой базе как к обычному источнику данных.
Альтернативный вариант — Tableau Web Data Connector (WDC). Это JavaScript-приложение, которое Tableau вызывает для получения данных. WDC обращается к middleware, который запрашивает данные из Б24 REST API и возвращает их в формате, понятном Tableau. Подходит для небольших объёмов, но для серьёзной аналитики промежуточная база надёжнее.
Какие данные извлекаем из Битрикс24?
Б24 REST API предоставляет доступ к основным сущностям CRM и не только:
| Сущность | Метод API | Ключевые поля |
|---|---|---|
| Лиды | crm.lead.list |
Статус, источник, UTM-метки, сумма, ответственный, дата создания |
| Сделки | crm.deal.list |
Стадия, воронка, сумма, дата закрытия, контакт, компания |
| Контакты | crm.contact.list |
ФИО, компания, тип, источник |
| Компании | crm.company.list |
Название, отрасль, выручка, тип |
| Товарные позиции | crm.item.productrow.list |
Товар, количество, цена, скидка, привязка к сделке |
| Активности | crm.activity.list |
Тип (звонок, письмо, встреча), дата, длительность |
| Задачи | tasks.task.list |
Статус, исполнитель, дедлайн, затраченное время |
| Телефония | voximplant.statistic.get |
Длительность, тип, запись, привязка к CRM |
Кастомные поля (UF_CRM_*) выгружаются автоматически — ETL-скрипт запрашивает список полей через crm.deal.fields и включает их в выгрузку.
Как работает ETL-процесс?
Extract. Скрипт вызывает REST API с пагинацией. Б24 отдаёт максимум 50 записей за запрос для большинства методов. При 10 000 сделок — 200 запросов. С учётом лимита 2 запроса в секунду — 100 секунд. Для ускорения используем batch-запросы (до 50 вызовов в одном batch), что сокращает время в десятки раз.
Инкрементальная выгрузка: после первой полной загрузки скрипт запрашивает только записи, изменённые после последнего запуска (фильтр >DATE_MODIFY). Это сокращает объём данных и время выполнения.
Transform. Данные из Б24 приходят в специфичном формате:
- Стадии сделок — в виде кодов (
C1:NEW,C1:WON). Скрипт подставляет человекочитаемые названия из справочника (crm.status.list). - Множественные поля (телефоны, email) — массивы объектов. Скрипт разворачивает их в отдельные колонки или строки.
- Даты — в формате ISO 8601 с таймзоной портала. Конвертируются в UTC.
- Связи (контакт → компания → сделка) — денормализуются: к каждой сделке добавляются поля контакта и компании.
Load. Данные записываются в PostgreSQL (или MySQL). Структура таблиц:
| Таблица | Содержимое |
|---|---|
crm_deals |
Сделки с денормализованными полями |
crm_leads |
Лиды |
crm_activities |
Активности с привязкой к сделкам |
crm_products |
Товарные позиции |
dim_stages |
Справочник стадий |
dim_sources |
Справочник источников |
dim_users |
Сотрудники (ответственные, менеджеры) |
Структура "факт + справочник" — стандартная для BI. Tableau строит связи между таблицами и позволяет создавать любые срезы.
Дашборды в Tableau
Типовые дашборды, которые строим на данных Б24:
Воронка продаж. Конверсия между этапами, средний цикл сделки, сумма по стадиям. Фильтры: период, менеджер, воронка, источник. Горизонтальная воронка с абсолютными числами и процентами конверсии.
Аналитика менеджеров. Количество сделок, сумма закрытых, средний чек, конверсия из лида в сделку, среднее время на этапе. Ранжирование менеджеров по KPI. Drill-down до конкретных сделок.
Источники лидов. ROI по каналам: UTM-метки → лиды → сделки → сумма. Сравнение каналов по конверсии и среднему чеку. Динамика по месяцам.
Когортный анализ. Лиды, сгруппированные по месяцу создания, с отслеживанием конверсии в сделку и оплату в последующие месяцы. Показывает, улучшается ли качество лидов и работа отдела продаж.
Активность. Звонки, письма, встречи по дням и менеджерам. Корреляция активности с закрытыми сделками. Выявление паттернов: сколько касаний нужно для закрытия сделки.
Как настроить автоматическое обновление?
ETL-скрипт запускается по расписанию:
- Ежечасно — инкрементальная выгрузка изменённых записей. Дашборды в Tableau Server обновляются автоматически по привязанному расписанию extract refresh.
- Ежедневно (ночь) — полная перезагрузка для гарантии консистентности.
- Вручную — кнопка в middleware для принудительного обновления перед важным совещанием.
Tableau Server/Online поддерживает scheduled extract refresh — автоматическое обновление данных из подключённой базы в заданное время.
Что входит в работу по интеграции
- ETL-скрипт для извлечения данных из Б24 REST API в реляционную базу
- Структура промежуточной базы данных, оптимизированная для BI-аналитики
- Подключение Tableau к промежуточной базе
- Набор типовых дашбордов: воронка, менеджеры, источники, когорты, активность (от 5 до 10 штук)
- Настройка расписания автоматического обновления данных
- Инкрементальная выгрузка для минимизации нагрузки на Б24 API
- Документация по архитектуре и инструкция для администратора
- Консультация по кастомизации дашбордов в течение месяца
Как мы работаем
- Аналитика — изучаем структуру данных в Б24, согласовываем набор дашбордов.
- Проектирование — определяем схему промежуточной БД и ETL-логику.
- Реализация — пишем ETL-скрипт, настраиваем подключение, разрабатываем дашборды.
- Тестирование — сверяем данные в Tableau с оригиналом в Б24, проверяем обновления.
- Деплой — разворачиваем на вашем сервере или в облаке, настраиваем расписание.
Сроки и стоимость
Сроки — от 5 рабочих дней для базового решения, от 14 дней для комплексного. Стоимость рассчитывается индивидуально. Окупаемость таких проектов обычно составляет 2–4 месяца за счёт экономии времени на отчётах (до 40 часов в месяц). Получите консультацию по вашему проекту — мы оценим объём и назовём бюджет. Закажите внедрение, чтобы перестать тратить дни на ручные отчёты.







