Аналитика продаж 1С:УТ 11.5: дашборды, KPI и ABC

Что изменилось в аналитике продаж 1С:УТ 11.5: обзор ключевых нововведений
Релиз 1С:Управление торговлей 11.5 принёс существенные изменения в подсистему аналитики продаж. Разработчики из фирмы «1С» сосредоточились на трёх направлениях: визуализация данных через интерактивные дашборды, расширенная система KPI для менеджеров и руководителей, а также переработанный механизм ABC/XYZ-анализа номенклатуры и клиентов. В 2026 году эти изменения стали стандартом для торговых предприятий, переходящих с версии 11.4 и более ранних.
Важно понимать: речь идёт не о косметических правках интерфейса, а о глубокой переработке алгоритмов расчёта показателей, появлении новых виртуальных таблиц в регистрах накопления и изменении логики формирования отчётов. Это влечёт за собой необходимость адаптации доработок, которые были сделаны под предыдущие версии конфигурации.
В этой статье мы разберём каждое нововведение с практической точки зрения: покажем, как работать с новыми объектами метаданных, приведём рабочие примеры кода на языке 1С и дадим рекомендации по миграции существующих доработок. Если вы хотите делегировать эту работу профессионалу, вы всегда можете найти разработчика 1С на нашей платформе.
Новая архитектура дашбордов в 1С:УТ 11.5
Главное визуальное изменение версии 11.5, переход на концепцию адаптивных дашбордов. В отличие от статичных панелей предыдущих версий, новые дашборды строятся на основе механизма «Варианты отчётов» с поддержкой виджетов. Каждый виджет, это самостоятельный элемент, который может отображать данные в виде графика, спидометра, таблицы или числового показателя.
Структура нового дашборда продаж
Дашборд «Монитор продаж» в 11.5 включает следующие блоки:
- Блок текущего периода, выручка, количество заказов, средний чек за сегодня/неделю/месяц с динамикой относительно предыдущего периода.
- Блок воронки продаж, визуализация конверсии от коммерческого предложения до отгрузки.
- Блок топ-номенклатуры, рейтинг товаров по выручке и маржинальности с возможностью drill-down до позиции.
- Блок менеджеров, сравнительная таблица KPI по сотрудникам отдела продаж.
- Блок географии, распределение продаж по регионам (если заполнен реквизит «Регион» в справочнике контрагентов).
Технические особенности реализации
Новые дашборды используют объект ПанельМониторинга, который появился в платформе 8.3.23. Для программного создания виджета и добавления его на панель используется следующий подход:
// Пример программного получения данных для виджета дашборда
// Расчёт выручки за текущий месяц
Функция ПолучитьВыручкуЗаПериод(НачалоПериода, КонецПериода) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СУММА(ПродажиОбороты.СуммаОборот) КАК Выручка,
| СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоДокументов
|ИЗ
| РегистрНакопления.Продажи.Обороты(
| &НачалоПериода,
| &КонецПериода,
| ,
| ) КАК ПродажиОбороты";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат 0;
КонецЕсли;
Выборка = Результат.Выбрать();
Выборка.Следующий();
Возврат Выборка.Выручка;
КонецФункции
Важно: в 11.5 регистр накопления Продажи получил новые измерения, КатегорияКлиента и ГруппаМенеджеров, что позволяет строить срезы без дополнительных соединений с другими таблицами.
Расширенная система KPI для отдела продаж
В версии 11.5 появился полноценный конструктор KPI, доступный через раздел «Продажи» → «Настройки» → «Показатели эффективности». Ранее для реализации подобного функционала требовались серьёзные доработки или использование внешних отчётов.
Стандартные KPI, доступные «из коробки»
| Показатель | Формула расчёта | Источник данных |
|---|---|---|
| Выполнение плана продаж, % | Факт / План × 100 | Рег. накопления Продажи + Планы продаж |
| Средний чек | Выручка / Количество заказов | Рег. накопления Продажи |
| Конверсия воронки, % | Заказы / КП × 100 | Рег. накопления СостоянияЗаказовКлиентов |
| Маржинальность, % | (Выручка - Себестоимость) / Выручка × 100 | Рег. накопления Продажи (ресурс СебестоимостьОборот) |
| Количество новых клиентов | Клиенты с первой покупкой в периоде | Рег. накопления Продажи + Справочник Контрагенты |
| Индекс удержания клиентов | Повторные покупки / Все клиенты × 100 | Рег. накопления Продажи (новый алгоритм) |
Программный расчёт KPI маржинальности
Ниже приведён пример расчёта маржинальности по менеджерам за произвольный период, один из наиболее востребованных показателей в новой системе KPI:
// Расчёт KPI маржинальности по менеджерам
// Используется регистр накопления Продажи с ресурсами Сумма и Себестоимость
Функция РассчитатьМаржинальностьПоМенеджерам(НачалоПериода, КонецПериода) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Менеджер КАК Менеджер,
| СУММА(ПродажиОбороты.СуммаОборот) КАК Выручка,
| СУММА(ПродажиОбороты.СебестоимостьОборот) КАК Себестоимость,
| ВЫБОР
| КОГДА СУММА(ПродажиОбороты.СуммаОборот) = 0 ТОГДА 0
| ИНАЧЕ (СУММА(ПродажиОбороты.СуммаОборот) -
| СУММА(ПродажиОбороты.СебестоимостьОборот)) /
| СУММА(ПродажиОбороты.СуммаОборот) * 100
| КОНЕЦ КАК МаржинальностьПроцент
|ИЗ
| РегистрНакопления.Продажи.Обороты(
| &НачалоПериода,
| &КонецПериода,
| Менеджер,
| ) КАК ПродажиОбороты
|СГРУППИРОВАТЬ ПО
| ПродажиОбороты.Менеджер
|УПОРЯДОЧИТЬ ПО
| Выручка УБЫВ";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
// Вывод результата в таблицу значений формы
Процедура ОбновитьТаблицуKPI()
НачалоПериода = НачалоМесяца(ТекущаяДата());
КонецПериода = КонецМесяца(ТекущаяДата());
Данные = РассчитатьМаржинальностьПоМенеджерам(НачалоПериода, КонецПериода);
ТаблицаKPI.Очистить();
Для Каждого Строка Из Данные Цикл
НоваяСтрока = ТаблицаKPI.Добавить();
НоваяСтрока.Менеджер = Строка.Менеджер;
НоваяСтрока.Выручка = Строка.Выручка;
НоваяСтрока.Себестоимость = Строка.Себестоимость;
НоваяСтрока.МаржинальностьПроцент = Строка.МаржинальностьПроцент;
КонецЦикла;
КонецПроцедуры
Настройка плановых значений KPI
В 11.5 появился документ «План показателей эффективности», который позволяет задавать целевые значения KPI в разрезе менеджеров, подразделений и периодов. Данные хранятся в регистре сведений ПлановыеПоказателиЭффективности. Это означает, что теперь не нужно создавать собственные механизмы хранения плановых показателей, всё доступно штатными средствами.
Переработанный ABC-анализ: новые алгоритмы и возможности
ABC-анализ в 1С:УТ существовал и раньше, однако в версии 11.5 он был переработан концептуально. Ключевые изменения:
- Поддержка трёхмерного ABC/XYZ-анализа одновременно по трём критериям.
- Возможность задавать произвольные границы групп (не только классические 80/15/5).
- Автоматическое присвоение категории клиенту и номенклатуре по результатам анализа с записью в справочник.
- Новый регламентный отчёт с рассылкой результатов ABC по расписанию.
- Интеграция результатов ABC с ценовыми группами и условиями продаж.
Алгоритм ABC-анализа в 11.5: как это работает
Стандартный алгоритм ABC в новой версии реализован через обработку АВСАнализПродаж. Логика следующая:
- Система получает обороты по выбранному критерию (выручка, прибыль, количество) за указанный период.
- Объекты анализа (номенклатура или контрагенты) сортируются по убыванию значения критерия.
- Рассчитывается накопленная доля каждого объекта в общем итоге.
- На основе пороговых значений объектам присваивается категория A, B или C.
- Результаты записываются в регистр сведений
КатегорииАВС.
Программная реализация ABC-анализа
Рассмотрим, как реализовать собственный ABC-анализ программно, например, для нестандартных критериев классификации:
// Программный ABC-анализ номенклатуры по выручке
// Возвращает таблицу значений с категориями A, B, C
Функция ВыполнитьАВСАнализНоменклатуры(
НачалоПериода,
КонецПериода,
ПорогA = 80,
ПорогB = 95) Экспорт
// Шаг 1: Получаем обороты по номенклатуре
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура КАК Номенклатура,
| СУММА(ПродажиОбороты.СуммаОборот) КАК Выручка
|ИЗ
| РегистрНакопления.Продажи.Обороты(
| &НачалоПериода,
| &КонецПериода,
| Номенклатура,
| ) КАК ПродажиОбороты
|СГРУППИРОВАТЬ ПО
| ПродажиОбороты.Номенклатура
|УПОРЯДОЧИТЬ ПО
| Выручка УБЫВ";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Таблица = Запрос.Выполнить().Выгрузить();
// Шаг 2: Считаем общую выручку
ОбщаяВыручка = 0;
Для Каждого Строка Из Таблица Цикл
ОбщаяВыручка = ОбщаяВыручка + Строка.Выручка;
КонецЦикла;
Если ОбщаяВыручка = 0 Тогда
Возврат Новый ТаблицаЗначений;
КонецЕсли;
// Шаг 3: Рассчитываем накопленную долю и присваиваем категории
НакопленнаяДоля = 0;
Таблица.Колонки.Добавить("ДоляПроцент", Новый ОписаниеТипов("Число"));
Таблица.Колонки.Добавить("НакопленнаяДоля", Новый ОписаниеТипов("Число"));
Таблица.Колонки.Добавить("КатегорияАВС", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(1)));
Для Каждого Строка Из Таблица Цикл
Доля = Строка.Выручка / ОбщаяВыручка * 100;
Строка.ДоляПроцент = Доля;
НакопленнаяДоля = НакопленнаяДоля + Доля;
Строка.НакопленнаяДоля = НакопленнаяДоля;
// Присваиваем категорию на основе накопленной доли
Если НакопленнаяДоля <= ПорогA Тогда
Строка.КатегорияАВС = "A";
ИначеЕсли НакопленнаяДоля <= ПорогB Тогда
Строка.КатегорияАВС = "B";
Иначе
Строка.КатегорияАВС = "C";
КонецЕсли;
КонецЦикла;
Возврат Таблица;
КонецФункции
// Запись результатов ABC в регистр сведений
Процедура ЗаписатьРезультатыАВС(РезультатАВС, ДатаАнализа)
Для Каждого Строка Из РезультатАВС Цикл
МенеджерЗаписи = РегистрыСведений.КатегорииАВС.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Период = ДатаАнализа;
МенеджерЗаписи.Номенклатура = Строка.Номенклатура;
МенеджерЗаписи.КатегорияАВС = Строка.КатегорияАВС;
МенеджерЗаписи.Выручка = Строка.Выручка;
МенеджерЗаписи.ДоляПроцент = Строка.ДоляПроцент;
МенеджерЗаписи.Записать();
КонецЦикла;
КонецПроцедуры
XYZ-анализ и совмещённая матрица ABC/XYZ
Если ABC-анализ классифицирует объекты по объёму продаж, то XYZ-анализ оценивает стабильность спроса. В 11.5 оба метода объединены в единый инструмент с матричным представлением результатов.
Категории XYZ-анализа
- X, стабильный спрос, коэффициент вариации до 10%.
- Y, умеренные колебания, коэффициент вариации 10, 25%.
- Z, нестабильный или сезонный спрос, коэффициент вариации свыше 25%.
Матрица ABC/XYZ даёт 9 сегментов: AX, AY, AZ, BX, BY, BZ, CX, CY, CZ. Каждый сегмент требует своей стратегии управления запасами и продажами. Например, товары AX, главный приоритет: высокая выручка и предсказуемый спрос. Товары CZ, кандидаты на вывод из ассортимента.
Расчёт коэффициента вариации для XYZ
// Расчёт коэффициента вариации для XYZ-анализа
// Анализируем продажи по месяцам за последние 12 месяцев
Функция РассчитатьКоэффициентВариации(Номенклатура, НачалоПериода, КонецПериода) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК Месяц,
| СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество
|ИЗ
| РегистрНакопления.Продажи.Обороты(
| &НачалоПериода,
| &КонецПериода,
| МЕСЯЦ,
| Номенклатура = &Номенклатура) КАК ПродажиОбороты
|СГРУППИРОВАТЬ ПО
| НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)
|УПОРЯДОЧИТЬ ПО
| Месяц";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Таблица = Запрос.Выполнить().Выгрузить();
Если Таблица.Количество() < 2 Тогда
// Недостаточно данных для расчёта, относим к категории Z
Возврат 100;
КонецЕсли;
// Считаем среднее значение
Сумма = 0;
Для Каждого Строка Из Таблица Цикл
Сумма = Сумма + Строка.Количество;
КонецЦикла;
Среднее = Сумма / Таблица.Количество();
Если Среднее = 0 Тогда
Возврат 100;
КонецЕсли;
// Считаем среднеквадратическое отклонение
СуммаКвадратов = 0;
Для Каждого Строка Из Таблица Цикл
Отклонение = Строка.Количество - Среднее;
СуммаКвадратов = СуммаКвадратов + Отклонение * Отклонение;
КонецЦикла;
СКО = Sqrt(СуммаКвадратов / Таблица.Количество());
// Коэффициент вариации в процентах
Возврат СКО / Среднее * 100;
КонецФункции
// Определение категории XYZ по коэффициенту вариации
Функция ОпределитьКатегориюXYZ(КоэффициентВариации) Экспорт
Если КоэффициентВариации <= 10 Тогда
Возврат "X";
ИначеЕсли КоэффициентВариации <= 25
Определение категории XYZ (продолжение)
ИначеЕсли КоэффициентВариации <= 25 Тогда
Возврат "Y";
Иначе
Возврат "Z";
КонецЕсли;
КонецФункции
Пороговые значения коэффициента вариации, стандартные: до 10%, категория X (стабильный спрос), 10, 25%, категория Y (умеренные колебания), свыше 25%, категория Z (непредсказуемый спрос). При необходимости пороги можно адаптировать под специфику конкретного бизнеса.
Найдите специалиста для решения этой задачи на koderion.ru