Рассказываем О Библиотеке Для Process Mining: Sberpm Теперь В Публичном Доступе

Process Mining — это подход к извлечению, анализу и оптимизации процессов на основе данных из так называемых журналов событий, доступных в корпоративных ИТ-системах.

Являясь своеобразным мостом между Data Mining и Process Management, он выводит изучение бизнес-процессов на принципиально новый уровень.

Узнайте больше о том, почему этот подход полезен и как мы его применяем.

здесь .

В конце 2020 года в открытый доступ вышла разработанная Сбером питон-библиотека SberPM — первая в России многофункциональная библиотека для интеллектуального анализа процессов и путешествий клиентов.

Ниже о том, как это работает и как его использовать.



Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе



Держатель данных

Основу использования Process Mining составляют данные файла журнала, в котором хранится информация о действиях, выполняемых внутри одного процесса.

Работа с библиотекой начинается с загрузки журнала в Держатель данных , под капотом которого осуществляется автоматическая предварительная обработка данных — удаление нулевых значений, сортировка по времени и т. д. Как следует из названия, Держатель данных хранит исследуемые данные с указанием ключевых атрибутов, необходимых для анализа - ID (идентификатор события), активности, временных меток начала и/или окончания событий.

Также для более глубокой и интересной аналитики можно добавить дополнительные атрибуты: идентификаторы и роли пользователей, территориальные и товарные разделы, текстовые комментарии и многое другое.



Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

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



Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе



Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Концепция Держатель данных является базовым, поскольку большинство библиотечных алгоритмов работают с экземпляром именно этого класса.



Майнеры, визуализация и BPMN

Файл журнала, хранящийся в DataHolder, предоставляет надежную и подробную информацию о ходе бизнес-процесса.

С его помощью можно восстановить модель реального, а не предполагаемого процесса.

Для построения графа процесса AS-IS библиотека реализует несколько алгоритмов, называемых майнерами:

  • SimpleMiner – рисует все ребра, найденные в бревне;
  • ПричинныйШахтер – рисует только прямые связи;
  • HeuMiner — удаляет самые редкие соединения в зависимости от порога (порога) — чем он больше, тем меньше ребер в графе;
  • АльфаМайнер – строит график в виде сети Петри с учетом прямых, параллельных и независимых связей между видами деятельности;
  • АльфаПлюсМайнер — Alpha Miner, который может работать с одноконтурными цепочками.

Визуализировать граф процесса, полученный в результате работы майнера, можно с помощью встроенных инструментов Graphiz следующим образом:

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Вы также можете сохранить (импортировать) или загрузить (экспортировать) график в формате BPMN (нотация модели бизнес-процесса):

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

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

В качестве примера рассмотрим графики, построенные разными майнерами для одного и того же синтетического процесса:

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Так, ПричинныйШахтер позволяет отобразить процесс максимально линейно, HeuMiner показывает наиболее частотные цепочки, и АльфаМайнер наглядно демонстрирует параллельные участки процесса.



Метрики

Как вы знаете, Process Mining не ограничивается восстановлением моделей бизнес-процессов из файлов журналов.

Важной составляющей анализа является расчет и контроль ключевых показателей эффективности процесса.

За это отвечает модуль метрик в библиотеке, который на данный момент реализует следующие виды статистики:

  1. АктивностьМетрика – метрики уникальных активностей;
  2. ПереходМетрика – метрики уникальных переходов;
  3. ИдМетрик – метрики по ID;
  4. Трассеметрик – метрики для уникальных цепочек действий;
  5. Пользовательская метрика – метрики уникальных пользователей;
  6. ТокенReplay фитнес , который показывает, насколько хорошо график описывает бизнес-процесс.

В первых пяти случаях для объекта группировки рассчитывается количество вхождений, количество уникальных идентификаторов/активностей/пользователей, процент петель, временные характеристики (средняя, медианная, максимальная и другие виды продолжительности) и т.д. Пример того, как работает класс Пользовательская метрика:

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Несомненным преимуществом этого модуля является скорость вычислений.

Допустим, перед аналитиком стоит задача определить среднюю длительность наиболее частых цепочек событий в процессе.

Решение методами pandas займет 5 минут и более 10 строк кода, а решение методами SberPM — 1 минута и 3 строки кода.



Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Кроме того, библиотека предоставляет возможность добавлять метрики в граф процесса.

Вы можете сделать это следующим образом:

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

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



Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

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



Модуль машинного обучения

Помимо классических инструментов Process Mining, SberPM предлагает функционал методов машинного обучения.

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

Расскажем подробнее, для чего это нужно и как этим пользоваться.

Допустим, необходимо проанализировать чрезвычайно насыщенный процесс, сложный по структуре и с большим количеством действий и связей.

Например, вот так:

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Даже при беглом взгляде на график понятно, что анализ такого процесса займет огромное количество времени и не факт, что в итоге удастся найти все узкие места и неэффективности.

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

Получение векторных представлений, или эмбеддингов, реализовано в СберПМ удобно и логично:

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Класс GraphClustering предназначен для кластеризации.

Ниже приведен пример работы с ним:

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Таким образом, каждая трассировка из журнала будет связана с меткой кластера.

Объединив цепочки с одинаковыми метками, мы получаем подпроцессы, пригодные для дальнейшего анализа.

Для процесса, график которого показан выше, он будет выглядеть примерно так:

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Еще одна полезная функция СберПМ — модуль автоматического поиска инсайтов.

С его помощью можно проанализировать лог-файл, выявить возможные узкие места в процессе «одним нажатием кнопки» и визуализировать их на графике.

Поддерживаются 3 режима работы: анализ по циклам, по времени выполнения и комбинированный анализ, где каждому действию и каждому переходу присваивается индекс оптимальности, показывающий, насколько тот или иной объект требует вмешательства.

Ниже приведен пример работы с модулем и результат визуализации инсайтов на графике:

Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе



Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

«Плохие» переходы и активности, требующие оптимизации, выделены красным, «хорошие», т.е.

те, которые не требуют оптимизации, — черным, нейтральные — серым.

Толщина ребер в графе также меняется в зависимости от оптимальности перехода.

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

Таким образом, «1» в столбце «инсайты» означает, что объект является «хорошим» инсайтом, «-1» — «плохим» инсайтом, «0» — вообще не является инсайтом.



Рассказываем о библиотеке для Process Mining: SberPM теперь в публичном доступе

Более подробное описание всех модулей и классов можно найти в файле Tutorial.ipynb, расположенном в репозитории библиотеки.

СберПМ на Гитхабе.

Мы планируем постоянно совершенствовать библиотеку и расширять ее функционал.

Планируются выпуски для расширения и масштабирования решения SberPM с открытым исходным кодом.

Пожалуйста, используйте ее, оставляйте отзывы, добавляйте коммиты и развивайте библиотеку вместе с нами.

Теги: #Машинное обучение #Управление проектами #Анализ и проектирование систем #процессы #Интеллектуальный анализ данных #бизнес-процессы #процессный анализ #управление процессами #оптимизация процессов #оптимизация процессов #библиотека Python

Вместе с данным постом часто просматривают: