Variant-based business processes simulation

MichaƂ Ostapowicz

supervisor: Piotr Gawrysiak



The typical way of simulating business processes is to use Petri nets as a data structure that contains information about the state of each business process case in the environment. This way, we can precisely reflect the structure of business processes i.e., concurrency of executed tasks.

The abovementioned approach has a significant drawback that makes simulating processes discovered from real-life event logs difficult.

Petri nets mined from complex event logs include artificially created places and transitions that were not present in the original event log. That makes simulating transitions between tasks based on the frequency probability almost impossible while keeping the complexity of the actual event log.

A novel approach to simulating business process cases uses business process variants extracted from the event log. Doing so makes it possible to avoid using Petri nets since we a priori know what all the process cases can look like. To do so, I use the PM4PY Python library and also get the frequency for each variant appearing in the event log. Also, the other important part of the simulation is calculating the duration of each task in the business process while executed by the particular resources present in the environment. The duration of a task executed by the given resource is calculated as the median of all such occurrences. To make this calculation statistically significant, I exclude all resources that completed a task fewer than a specified number of times.