Process Mining — это подход к извлечению, анализу и оптимизации процессов на основе данных из так называемых журналов событий, доступных в корпоративных ИТ-системах.
Являясь своеобразным мостом между Data Mining и Process Management, он выводит изучение бизнес-процессов на принципиально новый уровень.
Узнайте больше о том, почему этот подход полезен и как мы его применяем.
здесь .
В конце 2020 года в открытый доступ вышла разработанная Сбером питон-библиотека SberPM — первая в России многофункциональная библиотека для интеллектуального анализа процессов и путешествий клиентов.
Ниже о том, как это работает и как его использовать.
Держатель данных
Основу использования Process Mining составляют данные файла журнала, в котором хранится информация о действиях, выполняемых внутри одного процесса.Работа с библиотекой начинается с загрузки журнала в Держатель данных , под капотом которого осуществляется автоматическая предварительная обработка данных — удаление нулевых значений, сортировка по времени и т. д. Как следует из названия, Держатель данных хранит исследуемые данные с указанием ключевых атрибутов, необходимых для анализа - ID (идентификатор события), активности, временных меток начала и/или окончания событий.
Также для более глубокой и интересной аналитики можно добавить дополнительные атрибуты: идентификаторы и роли пользователей, территориальные и товарные разделы, текстовые комментарии и многое другое.
Кроме того, с помощью методов DataHolder можно быстро выполнять базовые операции с файлом журнала, например, рассчитывать продолжительность каждого действия или группировать данные по идентификатору и указанным столбцам.
Концепция Держатель данных является базовым, поскольку большинство библиотечных алгоритмов работают с экземпляром именно этого класса.
Майнеры, визуализация и BPMN
Файл журнала, хранящийся в DataHolder, предоставляет надежную и подробную информацию о ходе бизнес-процесса.С его помощью можно восстановить модель реального, а не предполагаемого процесса.
Для построения графа процесса AS-IS библиотека реализует несколько алгоритмов, называемых майнерами:
- SimpleMiner – рисует все ребра, найденные в бревне;
- ПричинныйШахтер – рисует только прямые связи;
- HeuMiner — удаляет самые редкие соединения в зависимости от порога (порога) — чем он больше, тем меньше ребер в графе;
- АльфаМайнер – строит график в виде сети Петри с учетом прямых, параллельных и независимых связей между видами деятельности;
- АльфаПлюсМайнер — Alpha Miner, который может работать с одноконтурными цепочками.
Вы также можете сохранить (импортировать) или загрузить (экспортировать) график в формате BPMN (нотация модели бизнес-процесса):
Визуальная схема позволяет не только получить полное представление о цепочке событий, но и изучить текущее состояние процесса на любом уровне детализации.
В качестве примера рассмотрим графики, построенные разными майнерами для одного и того же синтетического процесса:
Так, ПричинныйШахтер позволяет отобразить процесс максимально линейно, HeuMiner показывает наиболее частотные цепочки, и АльфаМайнер наглядно демонстрирует параллельные участки процесса.
Метрики
Как вы знаете, Process Mining не ограничивается восстановлением моделей бизнес-процессов из файлов журналов.Важной составляющей анализа является расчет и контроль ключевых показателей эффективности процесса.
За это отвечает модуль метрик в библиотеке, который на данный момент реализует следующие виды статистики:
- АктивностьМетрика – метрики уникальных активностей;
- ПереходМетрика – метрики уникальных переходов;
- ИдМетрик – метрики по ID;
- Трассеметрик – метрики для уникальных цепочек действий;
- Пользовательская метрика – метрики уникальных пользователей;
- ТокенReplay – фитнес , который показывает, насколько хорошо график описывает бизнес-процесс.
Несомненным преимуществом этого модуля является скорость вычислений.
Допустим, перед аналитиком стоит задача определить среднюю длительность наиболее частых цепочек событий в процессе.
Решение методами pandas займет 5 минут и более 10 строк кода, а решение методами SberPM — 1 минута и 3 строки кода.
Кроме того, библиотека предоставляет возможность добавлять метрики в граф процесса.
Вы можете сделать это следующим образом:
В результате в графе можно, например, менять ширину ребер и цвет узлов в зависимости от значений метрик и тем самым отслеживать наиболее частые пути и длинные этапы процесса.
Таким образом, анализируя модель реконструируемого процесса совместно с данными о длительности и особенностях его выполнения, можно выявить временные задержки в реализации отдельных действий, взаимоотношения между пользователями, циклы в процессе, неэффективных исполнителей, а также как скрытые недостатки и проблемы в процессах, из-за которых производительность всей организации может значительно снизиться.
Модуль машинного обучения
Помимо классических инструментов Process Mining, SberPM предлагает функционал методов машинного обучения.На данный момент пользователям доступны векторизация и кластеризация процессов, а также модуль автопоиска инсайтов.
Расскажем подробнее, для чего это нужно и как этим пользоваться.
Допустим, необходимо проанализировать чрезвычайно насыщенный процесс, сложный по структуре и с большим количеством действий и связей.
Например, вот так:
Даже при беглом взгляде на график понятно, что анализ такого процесса займет огромное количество времени и не факт, что в итоге удастся найти все узкие места и неэффективности.
Но можно облегчить задачу, получив векторные представления каждой цепочки событий (трассировки), а затем кластеризовав процесс на его компоненты, схожие по структуре и свойствам.
Получение векторных представлений, или эмбеддингов, реализовано в СберПМ удобно и логично:
Класс GraphClustering предназначен для кластеризации.
Ниже приведен пример работы с ним:
Таким образом, каждая трассировка из журнала будет связана с меткой кластера.
Объединив цепочки с одинаковыми метками, мы получаем подпроцессы, пригодные для дальнейшего анализа.
Для процесса, график которого показан выше, он будет выглядеть примерно так:
Еще одна полезная функция СберПМ — модуль автоматического поиска инсайтов.
С его помощью можно проанализировать лог-файл, выявить возможные узкие места в процессе «одним нажатием кнопки» и визуализировать их на графике.
Поддерживаются 3 режима работы: анализ по циклам, по времени выполнения и комбинированный анализ, где каждому действию и каждому переходу присваивается индекс оптимальности, показывающий, насколько тот или иной объект требует вмешательства.
Ниже приведен пример работы с модулем и результат визуализации инсайтов на графике:
«Плохие» переходы и активности, требующие оптимизации, выделены красным, «хорошие», т.е.
те, которые не требуют оптимизации, — черным, нейтральные — серым.
Толщина ребер в графе также меняется в зависимости от оптимальности перехода.
Дополнительно для всех активностей и переходов можно вывести более подробную таблицу, где для каждого элемента отмечено, является ли это инсайтом и если да, то по какой метрике.
Таким образом, «1» в столбце «инсайты» означает, что объект является «хорошим» инсайтом, «-1» — «плохим» инсайтом, «0» — вообще не является инсайтом.
Более подробное описание всех модулей и классов можно найти в файле Tutorial.ipynb, расположенном в репозитории библиотеки.
СберПМ на Гитхабе.
Мы планируем постоянно совершенствовать библиотеку и расширять ее функционал.
Планируются выпуски для расширения и масштабирования решения SberPM с открытым исходным кодом.
Пожалуйста, используйте ее, оставляйте отзывы, добавляйте коммиты и развивайте библиотеку вместе с нами.
Теги: #Машинное обучение #Управление проектами #Анализ и проектирование систем #процессы #Интеллектуальный анализ данных #бизнес-процессы #процессный анализ #управление процессами #оптимизация процессов #оптимизация процессов #библиотека Python
-
Средний
19 Oct, 24 -
Янв123159
19 Oct, 24 -
Лобачевский Николай Иванович.
19 Oct, 24 -
Криптография После Высадки Инопланетян
19 Oct, 24 -
Победа Над Рабочим Стрессом
19 Oct, 24 -
«Headhunter::санкт-Петербург» Закрыл Халяву
19 Oct, 24