introduction to process discoveryprocess discovery process identification process analysis process...

66
Fabrizio Maria Maggi [email protected] Introduction to Process Discovery

Upload: others

Post on 11-Oct-2020

31 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Fabrizio Maria Maggi

[email protected]

Introduction to Process Discovery

Page 2: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Process discovery

Process identification

Processanalysis

Processimplementation

Processmonitoring

Processredesign

Process architecture

As-is processmodel

Insights onweaknesses and

their impact

To-be process model

Executable processmodel

Conformance and performance

insights

Process Analysis in the BPM

Lifecycle

Define Vision Develop Strategy Implement Strategy

Manage Personnel Manage Assets

Management Processes

Core Processes

Support Processes

Manage Risk

ManageInformation

ProcureMaterials

ProcureProducts

MarketProducts

Deliver Products

Manage Customer

Service

Examples for BPM lifecycle and process mining

C

1.5h

B

15h

DE

2h

C DA B E

A

3m

35h 30h

15m

10m

10min

5m5m 10m30m

Page 3: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Process Mining

www.processmining.org

Page 4: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Process Mining

www.processmining.org

Page 5: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: the Origin of Process Discovery

van der Aalst, W. M. P. and Weijters, A. J. M. M. and Maruster,

L. (2003). Workflow Mining: Discovering process models

from event logs, IEEE Transactions on Knowledge and Data

Engineering

Page 6: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm

Basic Idea: Ordering relations

• Direct succession: x>y iff for some case x is directly followed by y.

• Causality: xy iff x>y and not y>x.

• Parallel: x||y iff x>y and y>x

• Unrelated: x#y iff not x>y and not y>x.

case 1 : task A

case 2 : task A

case 3 : task A

case 3 : task B

case 1 : task B

case 1 : task C

case 2 : task C

case 4 : task A

case 2 : task B

...

A>B

A>C

B>C

B>D

C>B

C>D

E>F

AB

AC

BD

CD

EF

B||C

C||B

ABCD

ACBD

EF

Page 7: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Basic Idea: Example

Page 8: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Basic Idea: Example

Page 9: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Basic Idea: Footprints

Page 10: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (a)

Page 11: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (a)

a b

Page 12: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (b)

Page 13: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (b)

a b, a c and b # c

Page 14: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (c)

Page 15: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (c)

b d, c d and b # c

Page 16: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (d)

Page 17: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (d)

a b, a c and b || c

Page 18: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (e)

Page 19: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-Algorithm

Idea (e)

b d, c d and b || c

Page 20: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

α(L) = ?

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 21: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

ALPHABET

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 22: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

ALPHABET

{a,b,c,d,e,f,g}

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 23: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

INITIAL ACTIVITIES

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 24: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

INITIAL ACTIVITIES

{a}

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 25: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

FINAL ACTIVITIES

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 26: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

FINAL ACTIVITIES

{g}

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 27: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

Page 28: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

Page 29: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 30: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 31: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 32: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 33: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 34: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 35: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 36: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 37: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 38: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 39: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 40: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

Page 41: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

α-algorithm: Applicative Example

α(L) = ?

L= { <a,b,c,d,e,f> 4, <a,g,h,d,f,e> 2, <a,b,c,d,f,e> 3, <a,g,h,d,e,f> 3}

Page 42: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Limitations of alpha miner

Completeness

All possible traces of the process (model) need to be in the log

Short loops

c>b and b>c implies c||b and b||cinstead of cb and bc

Self-loops

b>b and not b>b implies bb (impossible!)

Page 43: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Frequency of the Ordering Relations?

Page 44: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Little Thumb to Deal with Noise

van der Aalst, W. M. P. and Weijters, A. J. M. M. (2003).

Rediscovering workflow models from event-based data

using little thumb, Integrated Computer-Aided Engineering

Page 45: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Heuristics Miner

Page 46: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Heuristics Miner

number between -1 and 1 indicating strength of causal dependency between a and b

Page 47: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Heuristics Miner

Page 48: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Heuristics Miner

Page 49: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Heuristics Miner

What’s the corresponding process model?

Page 50: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Automated Process Discovery

Automated process

discovery method

Simplicity

minimal size & structural complexity

Precision

does not parse traces not in the

log

Fitness

parses the traces of the log

Generalization

parses traces of the process not

included in the log

50

Page 51: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Process Discovery Algorithms:

The Two Worlds

High-Fitness

High-Precision

Heuristic Miner

Fodina Miner

High-Fitness

Low-Complexity

Page 52: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Process Model discovered with Heuristics

Miner

Page 53: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Process Model discovered with

Inductive Miner

Structured by construction

Based on process tree

Page 54: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Process Discovery Algorithms:

The Two Worlds

High-Fitness

High-Precision

Heuristic Miner

Fodina Miner

High-Fitness

Low-Complexity

Inductive Miner

Evolutionary Tree Miner

Page 55: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Split Miner

Augusto, A. and Conforti, R. and Dumas, M. and La Rosa, M.

(2017). Split Miner: Discovering Accurate and Simple

Business Process Models from Event Logs. ICDM 2017

Page 56: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Process Model discovered with

Split Miner

Page 57: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Process Discovery Algorithms

High-Fitness

High-Precision

Low-Complexity

Split Miner

Page 58: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

From Event Log to Process Model in 5 Steps

58

Directly-Follows Graph and

Loops DiscoveryFiltering

Concurrency Discovery

SplitsDiscovery

JoinsDiscovery

Event Log

Process Model

Page 59: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Trace #obs

a » b » c » g » e » h 10

a » b » c » f » g » h 10

a » b » d » g » e » h 10

a » b » d » e » g » h 10

a » b » e » c » g » h 10

a » b » e » d » g » h 10

a » c » b » e » g » h 10

a » c » b » f » g » h 10

a » d » b » e » g » h 10

a » d » b » f » g » h 10

59

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

Page 60: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

Trace #obs

a » b » c » g » e » h 10

a » b » c » f » g » h 10

a » b » d » g » e » h 10

a » b » d » e » g » h 10

a » b » e » c » g » h 10

a » b » e » d » g » h 10

a » c » b » e » g » h 10

a » c » b » f » g » h 10

a » d » b » e » g » h 10

a » d » b » f » g » h 10

60

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

Page 61: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

61

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

(b || c) (b || d) (d || e) (e || g)

Page 62: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

62

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

Page 63: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

63

Break for Make-up!

Page 64: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

64

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

(b || c) (b || d) (d || e) (e || g)

Page 65: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

65

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

Page 66: Introduction to Process DiscoveryProcess discovery Process identification Process analysis Process implementation Process monitoring Process redesign Process a rchitecture As -is process

66

Done!