Автоматизация аналитики по сделкам в Битрикс24

#Битрикс24
Разработали единый аналитический отчет в Битрикс24, который объединяет несколько таблиц с актуальными данными по сделкам

Проблема клиента

Клиент столкнулся с необходимостью оперативного контроля ключевых показателей воронки продаж. Информация по сделкам была разрознена, а ручное формирование отчетов требовало значительных временных затрат.
Основные потребности клиента:
  • Видеть динамику закрытых сделок за выбранный период.
  • Контролировать текущие активные сделки в работе.
  • Оценивать загрузку сотрудников по активным делам.
  • Отслеживать сделки, находящиеся в статусе «пауза», чтобы своевременно возвращать их в работу.
Дополнительно требовалась возможность фильтрации данных по ответственному сотруднику, типу сделки и временному периоду, а также визуальное выделение показателей для быстрого анализа.

Задача

Разработать единый аналитический отчет в Битрикс24, который объединит несколько таблиц с актуальными данными по сделкам и ответственным, обеспечит гибкую фильтрацию, цветовую маркировку и будет прост в интерпретации для конечного пользователя.

Наше решение

Решение включало несколько этапов.
1
Формирование датасета (SQL)
Мы написали универсальный SQL-запрос, который выгружал сырые данные из всех необходимых сущностей (сделки, дела, сотрудники, статусы и пр.).
Сначала мы создали один базовый датасет под первую таблицу. Затем этот же датасет последовательно дополняли и адаптировали для каждой последующей таблицы. Это позволило обеспечить единую логику выгрузки и упростило поддержку.

Датасет выводил детальные поля:
  • идентификаторы и названия сделок;
  • ответственных;
  • даты создания, завершения, последнего изменения;
  • статусы и стадии;
  • сумму, маржинальность (сырые данные по затратам и выручке);
  • количество и статусы дел.
2
Агрегация и вычисления
Из сырых данных с помощью агрегации (GROUP BY, SUM, COUNT и др.) формировались требуемые показатели:
  • Количество закрытых сделок за период (раздельно по успешным и провальным).
  • Общее количество сделок в процессе.
  • Количество активных дел в разрезе сотрудников.
  • Перечень сделок в паузе с указанием длительности простоя.
Особенность — показатель маржи вычислялся также агрегацией — через арифметические операции (сумма выручки минус сумма затрат) непосредственно в отчете, без необходимости предварительного расчета в исходных данных.
3
Создание таблиц и настройка фильтров
На основе агрегированных данных мы построили четыре ключевые таблицы:
  1. Закрытые сделки по периоду — с разбивкой по ответственным и типам сделок.
  2. Сделки в процессе — перечень активных сделок с ключевыми параметрами.
  3. Активные дела по сотрудникам — нагрузка на каждого менеджера.
  4. Сделки в процессе в паузе — сделки, ожидающие возобновления.
Для всех таблиц были настроены общие фильтры:
  • по периоду (дата создания/закрытия);
  • по ответственному (выбор сотрудника);
  • по типу сделки.
4
Визуальная кастомизация
Для кастомизации таблиц мы настроили цветовое оформление:
  • Критичные значения (например, долгое нахождение в паузе) выделены красным.
  • Закрытые сделки с положительным результатом — зеленым.
  • Активные дела — в зависимости от срочности.
Цветовая индикация ускорила визуальный анализ и позволила сразу обращать внимание на проблемные зоны.
5
Инструкция по работе с отчетом
По просьбе клиента в конце отчета мы добавили текстовый блок с инструкцией. Текст был написан самим клиентом, что гарантировало использование привычной терминологии и покрытие всех нюансов работы. В инструкции описано:
  • какие данные выводит каждая таблица;
  • какие фильтры доступны;
  • как интерпретировать цветовые обозначения.

Результат

Единый источник данных – все отчеты построены на одном датасете, что исключило расхождения в цифрах.
Экономия времени – ручное формирование отчетов заняло бы несколько часов в неделю, автоматизация сократила этот процесс до нескольких секунд.
Прозрачность воронки – руководитель получил полную картину по закрытым сделкам, текущей работе и загрузке сотрудников.
Масштабируемость – благодаря модульной структуре датасета добавление новых показателей (например, по контрагентам) не требует переписывания всей логики.