The world’s leading publication for data science, AI, and ML professionals.

Business Process Simulation and What-if Analysis with Apromore

Image by author, screenshots from Apromore
Image by author, screenshots from Apromore

What is the best design for my process!? What would happen if I receive twice as much orders? What happens if I hire two more specialists?

Modern business process mining (BPM) tools enable to generate a copy (aka Digital Twin) of your business process, run simulations and analyze what would happen if the conditions change (what-if analysis). This article is a step-by-step example of how to do it in Apromore – one of the most advanced BPM tools available.

Outline:

  1. Create a process model,
  2. Define the simulation parameters (how long does the tasks take and how many resources are available),
  3. Create alternative versions of the model by adding/removing resources, changing the duration of the process tasks or modifying the design of the process.
  4. Run simulations and compare the results.

Creating a process model

Let’s start by creating a model in Apromore’s BPMN (Business Process Model and Notation) Editor. As the name suggests, you can build a traditional BPMN-style process by creating tasks, gateways and connecting them.

For the purposes of this demo, I’ll model the tech-to-demonstration process. It is one of the processes in our unit that is aimed to find new digital technologies and demonstrate them to our business units. The process has the following steps:

  • Tech research,
  • Add tech to evaluation list,
  • Validate technology,
  • Label the technology as "test" or "hold" depending on the result of the evaluation,
  • Select the technology for demonstration,
  • Find a use-case for demonstration,
  • Carry out the Proof-of-Concept,
  • Demonstrate.

The image below shows how we can build and connect the initial two tasks of the process.

Figure 1: Building a process model with Apromore's BPMN Editor (image by Author - screenshots from Apromore)
Figure 1: Building a process model with Apromore’s BPMN Editor (image by Author – screenshots from Apromore)

We continue adding the tasks, gateways and connectors until the model is complete. Yes, I know that this is the same old boring BPMN stuff, but I promise that things will soon get much more interesting :)!

Figure 2: Fully built process model in Apromore's BPMN Editor (image by Author - screenshots from Apromore)
Figure 2: Fully built process model in Apromore’s BPMN Editor (image by Author – screenshots from Apromore)

Defining the simulation parameters

Apromore’s BPMN editor enables to bring our static model to life by defining the dynamics of process elements through "simulation parameters". The image below illustrates the different types of simulation parameters that you can set:

  1. General – how often do we have a new case coming in, the total number of process instances (cases) that are being simulated and the start date of the simulation.
  2. Tasks – Set the duration distribution for all process tasks (that is: how long does it take to carry out the task).
  3. Timetables – Define the working schedules for people and machines (e.g. experts work from 9 AM to 17 PM).
  4. Resources – Define the types and amount of available resources (people and machines).
  5. Gateways – Define the transition probabilities for the gateways (e.g. what is the proportion of cases that pass the evaluation).
Figure 3: Different types of simulation parameters in Apromore (image by Author - screenshots from Apromore)
Figure 3: Different types of simulation parameters in Apromore (image by Author – screenshots from Apromore)

NB: Notice, that the tool enables to set the duration as a probabilistic distribution. In other words, we can say that on average, the new case comes in once per two weeks but sometimes it takes 5 or even 10 days longer and sometimes the new case arrives just few days after the last one. This probabilistic nature is extremely important when it comes to simulation because with static values, we wouldn’t be able to see the edge cases (e.g. what is the worst that might happen).

Running the simulation

After defining the simulation parameters for all tasks, we can run the simulation by selecting the model and using the "Simulate model" functionality (1). This results in a simulated business log (2) which we can open and analyze.

Figure 4: Generating the simulated process log in Apromore (image by Author - screenshots from Apromore)
Figure 4: Generating the simulated process log in Apromore (image by Author – screenshots from Apromore)

What-if analysis

What-if analysis is about changing the simulation parameters (e.g. adding or removing resources) and re-running the simulation. The steps include:

  1. Change some simulation parameters in BPMN editor.
  2. Run the simulation to create an alternative process log.
  3. Analyze simulated logs to see the changes.

The image below shows the results of what-if I add an additional development team. In the first version of business model, I set the number of development teams to 2 and in the second version, I increased the number of teams to 3. In both versions, a simulated process log was created (img 1). Next, I compared the statistics of process logs to see, what can be the exact effect of adding a development team (img 2 & img 3).

Our what-if analysis reveals that with 2 development teams (img 2), carrying out 20 tech-to-demonstration process instances takes approximately 1 year and 1 month. With 3 teams (img 3) the same number of process instances takes approximately 11 months. So, based on the what-if analysis we can conclude that having an additional development team would enable us to gain 2 months.

Figure 5: Analyzing the effect of adding an additional development team (img 2 has 2 dev teams and img 3 has 3 dev teams) by comparing two simulated process logs (image by Author - screenshots from Apromore)
Figure 5: Analyzing the effect of adding an additional development team (img 2 has 2 dev teams and img 3 has 3 dev teams) by comparing two simulated process logs (image by Author – screenshots from Apromore)

Summary

Novel Process Mining tools enable to create dynamic process models that can be used to simulate processes under various conditions. What-if analysis is all about simulating several different versions of a process and comparing the results. It is a useful feature when designing a new business process – one could play around with different process designs and modify the number of resources to find the optimal setting. Also, what-if analysis is useful with existing processes because it enables to a) analyze the effect of adding/removing resources, b) testing the limits of the process by increasing the incoming work, c) seeing the effect of redesign in the safe (simulated) environment. All in all, the combination of simulation and what-if analysis has a great potential to bring the process management into a new era.


Related Articles