Artykuły

BPMstandard.pl używa cookies.

Brak zmiany ustawienia przeglądarki oznacza Twoją zgodę.

Zrozumiałem
06Cze2016

Wprowadzenie do Process Mining

process miningDziedzina Process Miningu jest jeszcze dość młodą i mało eksplorowaną gałęzią Data Miningu ale już na tym etapie może przysporzyć biznesowi korzyści w obszarze zarządzania opartego na procesach. Obecne algorytmy oraz narzędzia pozwalają spojrzeć na procesy pod kątem ich wykonywania, co rzuca całkiem nowe światło na diagram procesu, który w obecnych na rynku systemach jest podstawą do monitorowania ich efektywności.

Process Mining składa się z trzech głównych elementów w sposób pokazany na poniższym rysunku.

 Rysunek1

Ogólnie rzecz ujmując, elementy umożliwiające Process Mining to nic innego jak części składowe programu komputerowego, gdzie również mamy dane wejściowe, wyjściowe oraz logikę przetwarzającą te pierwsze w drugie. Cały potencjał rozwiązania zależy przede wszystkim od dobrze przygotowanych danych wejściowych oraz algorytmów, używanych do ich przetważania. Dane wejściowe w kontekście Process Miningu to tak zwany Event Log. Jest to zbiór informacji zapisany w formie xmla lub pliku CSV zawierający dane niezbędne dla algorytmów badających procesy. Zazwyczaj pojedynczy element z Event Loga składa się z następujących elementów:

• Unikalny identyfikator tokenu w procesie – Case Id,

• Nazwę czynności wykonaną w procesie - Name,

• Użytkownika, który tą czynność wykonał – Resource/Originator,

• Czas rozpoczęcia oraz zakończenia wykonywania czynności – Start/End date.

Poniżej kilka przykładowych wierszy z Event Loga stworzonego w oparciu o dane z systemu ConSol CM BPM. Wycinek ten obrazuje część procesu developmentu, który wdrożyliśmy aby rozwijać tenże system.

Tabela

Ciekawą rzeczą jest fakt, że każda z powyższych danych nawet Case Id czy Name jest opcjonalna, a algorytmy akceptują niekompletne dane i starają się utworzyć jak najbardziej dokładny wynik. Kolejnym elementem niezbędnym do rozpoczęcia procedur Process Miningu są oczywiście narzędzia. Obecnie na rynku prekursorami w tej dziedzinie są pracownicy naukowi z TU/e –Technicznego Uniwersytetu z Eindhoven w Holandii. Jakiś czas temu zespół z TU/e rozpoczął implementację algorytmów z dziedziny Process Miningu co poskutkowało utworzeniem trzech poniżej opisanych narzędzi. ProM – Kompleksowy, darmowy framework pozwalający na całościową analizę Event Logów. Głównym celem tej platformy jest umożliwienie pracy z algorytmami Process Miningu oraz standaryzacja operacji związanych z badaniem procesów. ProMImport – Narzędzie pozwalające na importowanie Event Logów w odpowiednim formacie w oparciu o dane pochodzące z systemów informatycznych, plików CSV i baz danych etc. Disco – Podobnie jak ProM kompleksowe narzędzie do analizy procesów w oparciu o Event Logi, z tą różnicą, że jest ono płatne oraz dostarcza bardziej ergonomicznewgo interfejsu użytkownika niż wspomniany wyżej ProM. Narzędzie to jest jeszcze we wczesnej fazie rozwoju w związku z tym nie posiada wszystkich funkcjonalności ProMa. Podsumowując, obecnie najlepszym rozwiązaniem aby badać procesy w organizacji jest zestaw ProM + ProMImport. Ostatnim elementem, niezbędnym do badania procesów są algorytmy. Nie będę tutaj zagłębiał się w szczegóły implementacji każdego z nich. Postaram się natomiast przedstawić możliwości jakie one oferują. Tutaj prekursorem był algorytm Alpha Miner. Odkrywa on procesy bazując na zbiorze wszystkich kroków dostępnych w danym procesie oraz na kolejności ich wykonań. Został on zaimplementowany na uniwersytecie TU/e głównie w celach edukacyjnych. Pozwolił na określenie ogólnej procedury odkrywania procesów oraz wykrycie potencjalnych problemów z nią związanych. Sami twórcy tego algorytmu nie zalecają jego używania w praktyce właśnie ze względu na jego bardzo teoretyczny charakter, który nie sprawdza się z dużymi zbiorami Event Logów oraz w żaden sposób nie zabezpiecza danych wynikowych przed wpływem szumów oraz przypadków brzegowych, w konsekwencji dając złe rezultaty. Zamiast niego zalecane są następujące trzy algorytmy:

• Heuristic Miner,

• Fuzzy Miner,

• Multiphase Miner.
Heuristic Miner to bezpośredni następca algorytmu Alpha ale zmodyfikowany tak, że pozwala na pracę z dużymi wolumenami danych oraz filtruje szumy i przypadki brzegowe dając jako wynik proces, który jest jak najbardziej zbliżony do rzeczywistości. Przykładowy proces odkryty w ten sposób wygląda następująco.

Rysunek2

Jest to sieć Petriego gdzie kwadraty oznaczają tranzycje (nazwane lub nie), a koła oznaczają miejsca gdzie token może trafić przechodząc przez proces. Używając języka bardziej zbliżonego do terminologii procesów biznesowych można powiedzieć, że aby token znalazł się w miejscu p8 muszą zostać wykonane czynności A, C, D, tak aby token znalazł się w miejscach p1, p3, p4, p6, p7 i w końcu trafił w miejsce określone jako p8.
Przykładowe dane, które można pozyskać dzięki analizie tak zdefiniowanego procesu to:

• Informacje o wszystkich możliwych miejscach oraz tranzycjach w procesie,

• Informacje o wszystkich niezbędnych krokach, które muszą być wykonane aby token znalazł się w określonym miejscu w procesie,

• Listę wszystkich wejść i wyjść procesu,

• Ślepe zaułki w procesie, przykładem tutaj jest ścieżka określona przez tranzycje A i B, token trafia w miejsce p5 i nie może dotrzeć do końca procesu,

• Pętle, w których token może pozostać w nieskończoność.
Fuzzy Miner to algorytm pozwalający na stworzenie diagramu procesu w oparciu o analizę Event Loga z zastosowaniem metryk opartych na korelacji kroków w procesie, podobieństw w nazwach tych kroków czy odstępu czasowego w jakim kroki zostały wykonane. Wszystkie parametry tych metryk mogą być modyfikowane w narzędziu ProM według uznania użytkownika. Fuzzy miner jest to pierwszy algorytm, który bardzo dobrze radzi sobie z procesami składającymi się z wielu kroków, oraz ze słabo uporządkowanymi Event Logami. Jako wynik jego działania otrzymujemy diagram procesu, który jest mniej szczegółowy niż ten otrzymany w wyniku zastosowania algorytmu Heuristic Miner ale zyskujemy tutaj możliwość spojrzenia na proces z wyższej perspektywy. Przykładowy proces odkryty przez ten algorytm przedstawiony jest na poniższym rysunku.

Rysunek3

Jak widać notacja, która opisuje proces różni się znacznie od sieci Petriego, jest bardziej ukierunkowana na kroki w procesie oraz powiązania między nimi. Nie ma tutaj danych na temat wszystkich możliwych miejsc tokenu w procesie, zaobserwować natomiast można następujące rzeczy:

• Wszystkie kroki odkryte w procesie,

• Wszystkie możliwe połączenia między krokami,

• Pętle i ślepe zaułki,

• Procent wszystkich tokenów, które trafiają do danego kroku w procesie,

• Najczęściej wykonywane w procesie ścieżki - im grubsza strzałka tym więcej tokenów podążało tą ścieżką.
Ostatnim z popularnych algorytmów do odkrywania procesu jest Multiphase Miner. Algorytm nadaję się dobrze do uporządkowanych Event Logów. Wynikiem jego działania jest diagram EPC(Event-driven Process Chain). Zaletą tego algorytmu jest to, że wynikowy diagram zawsze pasuje do kompletnych danych pochodzących z Even Loga. Takie dokładne dopasowanie ogranicza przydatność tego algorytmu tylko do relatywnie prostych procesów, jeżeli zostanie użyty na Event Logu opisującym bardziej złożony proces wynik będzie nieczytelny. Przykładowy diagram EPC wygląda następująco.

Rysunek4

Notacja w diagramie bazuje na statusach, eventach które prowadzą do danego statusu oraz bramkach XOR, OR i AND typu split i join. Pozwala to na przedstawienie procesów, które zawierają w sobie ścieżki równoległe i sekwencyjne. Dodatkowo dzięki rozróżnieniu bramek na koniunkcję, dysjunkcję i alternatywę wykluczającą możliwe jest modelowanie procesów, w których aby osiągnąć pożądany status należy wykonać wszystkie równoległe ścieżki, dokładnie jedną z nich lub co najmniej jedną ze ścieżek. Diagram EPC może dostarczyć następujących danych:

• Informacje o wszystkich możliwych statusach w procesie,

• Informacje o ścieżkach równoległych i sekwencyjnych,

• Wejścia i wyjścia z procesu.
Heuristic Miner, Fuzzy Miner i Multiphase Miner to najpopularniejsze algorytmy do wykrywania rzeczywistych procesów biznesowych w organizacji. Każdy z nich „produkuje” trochę inny wynik i nadaje się do innego zestawu danych wejściowych. Jeżeli zależy nam na identyfikacji wszystkich tranzycji nawet tych nie wykonywanych przez użytkownika procesu najlepiej będzie użyć Heuristic Minera oraz jego sieci Petriego. W przypadku gdy chcemy utworzyć diagram EPC aby móc potem zaimportować go do systemu, który wspiera ten format, z pomocą przychodzi nam Multiphase Miner. Jeżeli chcemy zbadać jak wyglądają ścieżki w naszym procesie, które z nich są najczęściej wykonywane oraz jakie kroki naprawdę są aktywne w procesie najlepiej użyć Fuzzy Minera. Dodatkową jego zaletą jest to, instancję procesu odkrytego przez Fuzzny Minera można zaanimować w narzędziu ProM oraz Disco. Pozwoli to zaobserwować jak tokeny w procesie zachowywały się w czasie i jak długie były przerwy pomiędzy wykonaniem poszczególnych kroków. Podsumowując, Process Mining dostarcza organizacjom wiedzy na temat jak procesy w firmie wyglądają naprawdę, a nie jak wydaje się, że wyglądają w oparciu o statyczny diagram. Kluczem do efektywnego korzystania z możliwości narzędzi wspierających Process Mining jest odpowiednie przygotowanie danych wejściowych oraz właściwy dobór algorytmu wnioskującego. Jeżeli te dwie rzeczy zostaną zrobione poprawnie, możliwy będzie wgląd w realne procesy i ewentualne działania naprawcze i optymalizacyjne.

 

Bibliografia:
• Wil M.P. van der Aaalst, 2010, Process mining, Discovery, Conforance and Enhancement of Business Processes

• http://www.processmining.org/prom/start

• http://www.promtools.org/promimport/

• https://fluxicon.com/disco/

• https://fluxicon.com/blog/2010/10/prom-tips-mining-algorithm/

 

Michał Łucki

michal lucki

Dyrektor Zarządzający w Polskim oddziale Consol Consulting & Solutions(www.consol.pl). Specjalista w dziedzinie zarządzania rozwojem oprogramowania z ponad 10-letnim doświadczeniem w branży IT. Przez większość swojej kariery zawodowej związany z firmą Consol. Podczas swojej pracy pełnił rolę programisty, szefa zespołu, kierownika projektu. Obecnie jako dyrektor zarządzający w firmie Consol stawia sobie za priorytet rozwój działu usług oraz wdrożeń systemu BPM – Consol CM. W wolnym czasie stara się poszerzyć swoją wiedzę praktyczną oraz teoretyczną z obszaru procesów biznesowych i dba o zdrowie czynnie uprawiając sztuki walki.

logo consol