Внедряя системы класса Business Intelligence (BI), мне приходилось в проектах разрабатывать систему показателей для различных бизнес‑процессов. Почему пришлось создать данный подход? Потому что представители заказчика часто не могли сформулировать перечень ожидаемых показателей по процессу, и поэтому пришлось проектировать систему показателей для анализа процесса за них. Подробнее про показатели процессов и основные определения (бизнес‑объект, метрика, аналитический разрез и показатель) можно прочитать в моей ленте ранее. В данной статье хочу «спуститься» от системы показателей по процессу к структуре данных на примере процесса подготовки коммерческого предложения.
В качестве примера приведу систему показателей процесса разработки коммерческого предложения для продажи услуг в области обучения на рынке B2B. Сразу хочу сказать, что процесс не оптимален, но для данного примера он необходим для погружения в предметную область.

Итак, из анализа процесса подготовки коммерческого предложения можно выделить следующие бизнес‑объекты, участвующие в процессе: предлагаемая услуга (учебный курс), потенциальный клиент, коммерческое предложение и сам процесс создания коммерческого предложения. Это было самое сложное, как не странно у многих определение бизнес‑объектов вызывает сложности, но подробное изложение подходов к определению бизнес‑объектов может претендовать на отдельную статью.
Далее для каждого объекта определяем метрики (они бывают стоимостные, временные и объемные/количественные), далее для каждого объекта определяем аналитические разрезы (справочники). В примере я буду указывать основные метрики и аналитические разрезы, но этот список не полный и может быть серьезно расширен.
Для услуги (пусть это будет учебный курс) можно выделить следующие метрики:
Стоимость услуги (курса), рублей
Длительность услуги (курса), дней
Объем услуги (курса), академических часов
Аналитические разрезы для услуги можно определить следующие:
Тип услуги (курса) — дисциплина по который планируется обучение
Формат услуги (курса) — онлайн, очное, видео, смешанное
Статус жизненного цикла курса — новый курс или уже давно существующий
Уровень стандартизации — типовой курс или кастомный
Для коммерческого предложения возможно понадобятся метрики:
Скидка от плановой цены курса, рубли
Время действия коммерческого предложения, дней
Количество знаков в коммерческом предложении, штук
Аналитическими разрезами для коммерческого предложения могут стать:
Предложение типовое или кастомное
Предложение сработало или нет (это можно поднять из последней операции процесса)
Для тех коммерческих предложений, которые не сработали, полезно будет добавить аналитический разрез — причина отказа
Для объекта клиент в рамках процесса создания коммерческих предложений полезны следующие метрики:
Количество слушателей, человек
Бюджет на обучение, рублей
Объем обучения, академических часов
Аналитических разрезов у объекта клиент сильно больше трех, приведу тут три ключевых:
Отрасль
Регион
Постоянный клиент или новый
Для анализа процесса и операций в нем можно выделить следующие метрики:
Длительность процесса/операции
Себестоимость процесса/операции
Частотность процесса/операции
Что бы залезть с анализом внутрь процесса нужны следующие аналитический разрезы:
Исполнитель процесса
Операция процесса
Построив систему метрик и аналитических разрезов, можно формировать показатели, фильтруя значения метрик «накладывая» один или несколько аналитических разрезов.
Именно это и обсуждается с конечным потребителем показателей по процессу, а если владелец процесса имеет навыки работы с BI‑системой, то он может это делать самостоятельно.

В моем практическом примере владельцу процесса было интересно увидеть следующие показатели:
среднее время подготовки коммерческого предложения по месяцам
количество коммерческих предложений по месяцам и годам
конверсию коммерческих предложений в разрезе различных сотрудников отдела продаж (исполнителей процесса)
количество коммерческих предложений по отраслям, как в целом, так и с положительной конверсией
количество коммерческих предложений по регионам, как в целом, так и с положительной конверсией
себестоимость создания коммерческого предложения, относительно рентабельности услуги
конверсию коммерческих предложения в зависимости от их объема
и так далее и тому подобное
Таких пересечений между метриками и аналитическими разрезами может быть множество, их можно собрать на дашбордах для регулярного анализа. При этом те метрики и аналитические разрезы, которые не пригодились ни для одного показателя, вроде как и не нужно собирать. Например, если количество знаков в коммерческом предложении никому не интересно, то и собирать эти данные не нужно, а значит и атрибут в хранилище делать не имеет смысла.
Переходим от системы показателей к модели данных
Фактически определив в процессе бизнес‑объекты, метрики и аналитические разрезы для расчета показателей, мы сделали модель предметной области, при этом, понимая какие объекты и атрибуты необходимы, мы определили требования к данным, которые необходимо собирать в процессе.
Но данные не появляются сами по себе — они либо вводятся человеком в экранную форму, либо генерируются информационной системой. Поэтому, что бы была возможность рассчитать показатели на уровне автоматизации нужно понять на каком шаге процесса нужно что и в какую экранную форму нужно ввести пользователю.
Если перейти к описанию данных, то концептуальная модель данных может выглядеть следующим образом:

Заключение
По моему мнению, поход от построения системы показателей к структуре данных вполне применим для разработки требований к хранилищу данных при автоматизации процесса. Бизнес‑объект становится сущностью, а метрики и аналитические разрезы превращаются в атрибуты, и, главное — сразу появляется понимание, согласованное с бизнесом — какие данные необходимы для фиксации в информационной системе, а какими можно пренебречь.

Если смотреть на данные как на структуру, а не как на хаотичный набор атрибутов, неизбежно упираешься в алгоритмическое мышление. Именно его системно развивают на курсе «Алгоритмы и структуры данных»: от базовых структур и поиска до графов, динамического программирования и проектирования собственных алгоритмов под реальные бизнес-задачи.
Для знакомства с форматом обучения и экспертами приходите на бесплатные демо-уроки:
22 декабря в 20:00. Dancing Links: задача о полном покрытии. Записаться
12 января в 20:00. Dancing Links: создание алгоритма Дональда Кнута. Записаться
19 января в 20:00. Dancing Links: задача о ферзях и головоломка судоку. Записаться