Process Mining - 02/12/2023 07:27 EST
$8-15 USD / tunti
Description of the Process and of the Event Dataset
The dataset consists of an event log that refers to executions of instances of the purchase-order process as
carried on by a SAP system at a German company. To ensure the anonymity of this dataset, the names of the
employees, products and companies have been pseudonymized, that is, replaced with fictitious names. This has
been done consistently: e.g., if the real name X of a company is replaced with Y, the replacement has been done
for all instances of name X.
The purchase order process enables to create, update, and send purchase orders, which can contain:
1. Stock materials, such as spare parts or raw materials
2. Non-stock materials, such as laptops or printers
3. Services, such as consulting or cleaning services
4. Expenses related to materials or services ordered
According to domain knowledge, the process is executed as follows.
The process typically starts with the creation of a purchase requisition, which is implemented in an electronic
form and is used to obtain the formal authorization to carry on the purchase. For small orders, this can be often
skipped. It might also be that the purchase requisite is first created and, then, if deemed unnecessary,
After the purchase requisition item is created, if necessary, the actual purchase order can be created. Then, the
purchase order is printed for internal reference and sent. At this moment, the purchase order can possibly be
repeatedly blocked (no changes to the purchase order are allowed) and reactivated, if the management needs
to do further investigation. Eventually, the order is received by the good’s provider, who sends an order
confirmation. This leaves trace in the SAP system through the event “Receive Order Confirmation”. After the
order confirmation is received, the process waits until the goods are received; the reception of the goods is
recorded through event “Record Goods Receipt”. However, after the order confirmation is received and before
the actual reception of the good, the good’s provider can inform about the change of price; when this happens,
an event “Change Price” is observed in the event log. Also, the ordering company can decide to change the order
(activity “Send Purchase Order Update”).
Once the goods are received, two things can happen:
1. If the goods contain problems of different sorts, they need to be replaced. This requires the process to
execute the activity “Cancel Good Receipt”, which will eventually be followed again by “Record Good
2. If the goods are satisfactory, after some time, the good’s provider sends the invoice to the ordering
company (event “Record Invoice Receipt”)
The process ends by clearing the invoice, namely the company paying it.
Using process-mining techniques, answer the following questions.
[login to view URL] and Validation of a Process Model
Prelude: The company wants to gain further insight into how the process is being executed. Suppose to be a
process analyst: you want to provide a Petri net that represents the actual process executions.
What to do:
1. Use the process description above to draw a Petri net and validate it by checking its
conformance using alignments against the event log.
2. If the alignment shows that the model is not satisfactory, iteratively improve the model until
the quality of satisfactory. The model is considered as satisfactory if the fitness value is at least
0.8, and the value of precision is at least 0.9.
[login to view URL] Discovery
Prelude: You do not want to trust the normative model at all. To do so, you need to discover models using the
different miners and find the model that balances precision and fitness at the best.
What to do:
3. Provide at least 3 different Petri-net models that you discover with different algorithms and
configuration, along with the values of fitness and precision. Identify the best model. The best
model needs to at least score of 0.8 in fitness, and it needs to have at least a score of 0.8 for
4. After identifying the best model, provide a discussion where the best discovered model
deviates from your normative model.
Q3. Simulation Parameters and Simulation
Prelude: The company is unsatisfied about the process and aims to deal and improve bottlenecks and over
utilization of resources. Build a simulation model and run it, and then vary different settings with the aim of
improving the process. Ensure to properly take care of the stochasticity of the simulation.
What to do:
5. Retrieve the simulation parameters using ProM tool and PM4Py library: case arrival rate,
branching probabilities, tasks durations, resource roles and calendars and create the
simulation model via the BIMP simulator.
6. Analyze the resource utilization and the time aspects (e.g., looking at result’s graphs in BPMN
or loading the simulation logs in DISCO or ProM).
7. Focus on improving the process via simulation: what advice would you give?
Projektin tunnus: #37500807