1. Marlon Dumas
University of Tartu
Institute of Computer Science
AI for Business Process Management
From Process Mining to Automated Process Improvement
BPM Group Seminar at Queensland University of Technology
23 January 2020
2. Tactical Process Mining
2
2
/
event log
discovered
process model
Automated Process
Discovery
Conformance
Checking
Variants Analysis
Difference
diagnostics
Performance
Mining
input process model
Enhanced
process model
event log’
6. • 24 real-life event logs (most from IEEE Task force on Process Mining)
• Quality criteria:
• Accuracy measures: Fitness, precision, F-Score, generalization
• Model complexity measures: size, structural complexity, structuredness
• Model soundness
• Execution time
• Main conclusions:
• Inductive Miner, Evolutionary Tree Miner, Split Miner have highest F-scores
• Closely followed by Fodina
• Inductive Miner achieves highest fitness generally, but lower precision (than Split Miner)
• Evolutionary tree miner produces simpler models, but high execution times
Automated Process Discovery Benchmark
6
Adriano Augusto et al. “Automated Discovery of Process Models from Event Logs: Review and Benchmark”. IEEE
Transactions on Knowledge and Data Engineering (2018), DOI: 10.1109/TKDE.2018.2841877
7. Automated Process Discovery Methods
Heuristics Miner
good F-score
complex models
semantic errors
7
Inductive Miner
high fitness
no semantic errors
simpler models
low precision
A. Augusto et al. Split Miner: Discovering Accurate and Simple Business Process Models from Event Logs. In ICDM’2017.
Split Miner
high fitness
no semantic errors
simpler models
Moderate precision
9. Unfitting behaviour:
• Task C is optional (i.e. may be skipped) in the log
Additional behavior:
• The cycle including IGDF is not observed in the log
Event log:
ABCDEH
ACBDEH
ABCDFH
ACBDFH
ABDEH
ABDFH
Conformance Checking – Sample Output
9
García-Bañuelos et al. “Complete and Interpretable Conformance Checking of Business Processes” IEEE Transactions on
Software Engineering 44(3): 262-290, 2018
10. Operational Process Mining:
Predictive Process Monitoring
• What is the next activity for this case?
• When is this next activity going to take place?
• How long is this case still going to take until it is finished?
• What is the outcome of this case?
• Is the compensation going to be paid? Or rejected?
10
16. Sequence encoding
Prefix extraction Bucketing
Sequence
encoding
Model training
(Amsterdam,
(Paris,
2 adults,
1 adult,
3 days,
4 days,
€100)
€150)
not cancelled
cancelled
(Amsterdam,
(Paris,
2 adults,
1 adult,
€100)
€150)
not cancelled
cancelled
(Amsterdam,
(Paris,
2 adults,
1 adult,
€100)
€150)
not cancelled
cancelled
(Amsterdam, 2 adults, 3 days, €100) not cancelledJuly,
(Amsterdam,
(Paris,
2 adults,
1 adult,
3 days,
4 days,
€100)
€150)
not cancelled
cancelled
April,
July,
17. Model training
Prefix
extraction
Bucketing
Sequence
encoding
Model
training
(Amsterdam,
(Paris
,
2 adults,
1 adult,
3 days,
4 days,
€100
)
€150
)
not cancelled
cancelled
(Amsterdam,
(Paris
,
2 adults,
1 adult,
€100
)
€150
)
not cancelled
cancelled
(Amsterdam,
(Paris
,
2 adults,
1 adult,
€100
)
€150
)
not cancelled
cancelled
(Amsterdam, 2 adults, 3 days,
€100
)
not cancelledJuly,
(Amsterdam,
(Paris
,
2 adults,
1 adult,
3 days,
4 days,
€100
)
€150
)
not cancelled
cancelled
April,
July,
18. Predictive process montioring approaches
What is the relative performance of these methods?
Irene Teinemaa, Marlon Dumas, Marcello La Rosa, Fabrizio Maria Maggi: Outcome-Oriented Predictive Process Monitoring:
Review and Benchmark. TKDD 13(2): 17:1-17:57 (2019)
21. Average rank over
the 24 datasets
in terms of AUC
Results: Bucketing and Sequence Encoding
22. • Predict process outcome – Is this loan offer going to be rejected?
• Predict process performance – Will this claim take more than 5 days to be handled?
• Predict future events – What activity is likely to be executed next? And after that?
Event log
Training module
Training Validation
Predictor Dashboard
Runtime module
Information system
Predictions
Stream
(Kafka)
Predictive
model(s)
Event stream Event stream
Batched
Predictions
(CSV)
Apromore
Predictive process monitoring (Apromore)
23
23
http://apromore.org
23. • Explainable & Actionable Predictive Process Monitoring
• Extracting interpretable predictions
• Helping users understand the root causes of predicted outcomes
• Turning predictions into actions
• Prescriptive process monitoring
Beyond Process Mining: AI for BPM
24
24. Prescriptive process monitoring
Event log
(completed
traces)
Predictive
model(s)
Running
trace
Appl
y
P( )
Predictio
n
Alarm/
no alarm
Alarm
policy
+/- -
- +
Cost model
Irene Teinemaa et al. Alarm-Based Prescriptive Process Monitoring. In Proc. of BPM Forum’2018
25. Cost model
Undesired outcome Desired outcome
Alarm raised
cost of intervention +
(1 - mitigation effectiveness) *
cost of undesired outcome
cost of intervention +
cost of compensation
Alarm not raised cost of undesired outcome no costs
Time
Mitigation
effectiveness
Cost of
intervention
Undesired outcome
26. • Raise an alarm if P(undesired outcome) > 𝜏
• Optimal 𝜏 is found via empirical thresholding
Alarm policy
P(cancel) = 0.2 0.6 0.8
Alarm
Search View View
Example: 𝜏 = 0.65
• What if the alarm may be ignored by the users (no intervention)?
• E.g. resources are limited for interventions
• What if the effect of the alarm depends on the state of the case?
• What if there are multiple possible alarms/ interventions, with different
effects, which may be composed?
27. • Actionable Predictive Process Monitoring
• Extracting interpretable predictions
• Helping users understand the root causes of predicted outcomes
• Turning predictions into actions
• Prescriptive Process Monitoring
• Automated Process Improvement
• Automated control-flow, resource and decision optimization
• Robotic Process Mining: Discovering executable routine
specifications from UI logs (related to Robotic Process Automation)
Beyond Process Mining: AI for BPM
28
28. Automated Process Improvement
2
Officer
Clerk
Clerk Officer
Officer
Clerk
Skip credit history
check when customer has
previous loans with bank
Allocate an additional clerk
on Monday-Tuesdays, one
less officer on Fridays
Task can be automated
with an RPA script
For consumer loans,
check credit history
before income
If loan-to-annual-
income ratio > 1.5,
allocate a senior officer
If credit rating is C or D,
do not wait for appeal
29. Given
• one or more event logs recording the
execution of one or more processes
• one or more performance measures to be
optimized
• a process model, decision rules and
resource allocation rules
• a set of allowed changes to the process
model and associated rules
Find
• One or all set(s) of Pareto-optimal changes
to the process model and rules.
Automated Process Improvement
30. Control-flow
• Task elimination/addition
• Merging/separation
• Re-ordering, parallelization
Decision (data)
• Adding/deleting decision points
• Refining/enhancing decision rules
Resource
• Re-allocating resources
• Refining, enhancing allocation policies
Task
• (Partially) automating individual tasks or groups of tasks
Automated Process Improvement:
Types of Changes
31. Automated Process Improvement
32
32
event log
Executable routine
specifications
Robotic Process
Mining
(Task Automation)
Decision Rule
Optimization
Flow Optimization
Optimized process
model
Resource
Optimization
Decision rules
Optimized resource
allocation policies
Optimized decision
rules
32. Robotic Process Mining (a.k.a. Task Mining)
Information
System
Event Log
Process Mining
Discovery
Conformance
Enhancement
Process Model
Interaction
Information
systems
Users
(employees)
UI log
Recording
34. Robotic Process Mining
35
Information
System
Event Log
Process Mining
Discovery
Conformance
Enhancement
Process Model
Interaction
Information
systems
Users
(employees)
UI log Routine Routine
specification
RPA script
Identification Discovery Compilation
Research challenge
Recording
35. 36
Detect automatable routines:
1. Detect automatable actions
2. Return only those frequent subsequences made of automatable actions
An action is automatable if all its arguments are constant or functions of arguments of
previously-executed actions
Robotic Process Mining: Initial Approach
Detect
automatable
routines
UI log
Extract
frequent
subsequences
Antonio Bosco et al. Discovering Automatable Routines From User Interface Logs. In Proc. of BPM Forum’2019
36. 37
Robotic Process Mining: Initial Approach
Foofah – Discovering
Data Transformations
by Example
Antonio Bosco et al. Discovering Automatable Routines From User Interface Logs. In Proc. of BPM Forum’2019
37. 38
Discover activation conditions:
For each automatable routine, discover its activation condition, containing:
1. Triggering action, which must be successfully executed before the routine
2. Boolean condition, which must be valid at the completion of the triggering action
Robotic Process Mining: Initial Approach
Detect
automatable
routines
UI log
Extract
flat polygons
Discover
activation
conditions
Routines
specs
Antonio Bosco et al. Discovering Automatable Routines From User Interface Logs. In Proc. of BPM Forum’2019
38. Challenges
Robotic Process Mining
• Identifying patterns in unstructured and noisy UI logs
• Identifying complex data transformations in the presence of noise
• Identifying conditional data transformations (only apply in some cases)
Automated Process Improvement
• The process model, decision rules, and resource allocation policies may not be
known, may be incomplete or imprecise
• The set of possible process changes may be too large for exhaustive exploration
• Process changes may have non-linear effects (e.g. on waiting time)
• The effects of process changes are not additive
39
Next, we check that each action of each Flat Polygon is automatable.
If a flat polygon contains an non-automatable action, then break it into two and return the subroutines
We determine these functions:
A data-transformation of previous argument values (Foofah); eg Student Name = First Name + Last Name
A substitution mapping (Ripper – JRip implementation)
For each automatable action, return the functions to generate its arguments at run-time
Next, we check that each action of each Flat Polygon is automatable.
If a flat polygon contains a non-automatable action, then break it into two and return the subroutines
We determine these functions:
A data-transformation of previous argument values (Foofah); eg Student Name = First Name + Last Name
A substitution mapping (Ripper – JRip implementation)
For each automatable action, return the functions to generate its arguments at run-time
For each Automatable Routine (AR), discover its activation condition.
The Boolean condition is discovered via Ripper