Граф процесс в тринадцать строчек
Экспертный анализ процесса – очень дорогая компания. Требуется много ресурсов и времени. Но есть автоматизированные способы, которые может применить любой.
Когда бизнес только начинает свой путь. Процессы его свежи и понятны всем участникам, включая менеджмент. С течением времени бизнес начинает расти и как следствие – начинают расти процессы внутри него. Такая деформация, от эталонного состояния, просто необходима, чтобы соответствовать потребностям бизнеса. Как только процесс разрастается вертикально и горизонтально – им становится тяжелее управлять. Анализ бизнес-процессов всегда трудоемкая работа, обремененная такими факторами как:
- Плохо структурированные данные
- Непонимание реального процесса
- Отсутствие должных it компетенций для работы с данными
Зачастую, этим заняты глубокопогруженные в процесс аналитики, затрачивая на это много времени. Современные инструменты способны облегчить им работу и обеспечить надежность выводов. Одним из таких инструментов является набор алгоритмов Process Mining. Направление, имеющее некоторую популярность в кругах аналитиков, реализовано на различных платформах. В этой статье мы рассмотрим, как просто построить граф процесса на python, используя библиотеку pm4py.
Предполагается, что на Вашем устройстве уже установлено соответствующее виртуальное окружение. О том, как это сделать, можете прочитать тут.
В первую очередь необходимо из данных извлечь три составляющие:
- case:concept:name. Порядковый номер одного экземпляра Вашего процесса.
- time:timestamp. Время и дата события в формате timestamp.
- concept:name. Id события в рамках одного кейса.
Пример будет выглядеть примерно так:
Вам нужно перевести дату и время в формат timestamp что бы получилось примерно следующее.
Далее необходимо преобразовать дату:
После преобразований таблица должна выглядеть следующим образом:
Следующим шагом необходимо отсортировать Ваши данные по времени. Это необходимо для корректной работы алгоритмов. Если в Ваши логи не отсортированы, сделать это можно так:
Теперь данные готовы для подачи в пакет pm4py.
После того как лог сформирован – можно переходить к формированию графа процесса. Ниже будет приведен пример эвристического майнера. Полый список и описание алгоритмов можете посмотреть тут.
После формирования графа, последнее что остается – визуализировать его. Для этого нам потребуется утилита GraphViz.
Вот и все. Граф готов.