• No results found

3.3 Phases of Application

3.3.4 Data Analysis and Results

3.3.4.3 Process KPI Analysis

The most common method of obtaining KPIs of a given event log is the log replay method. When considering this kind of analysis, an event log is re- quired for a process in the form of a Petri-net. The Petri-net in can either be obtained by first mining a process from the event log or it can be a planned process where the Petri-net is already available. In either case, when both these elements are loaded, relationships need to be established between the Petri-net and the event log. These relationships are necessary for the system

to know which events in the event log belong to which transitions in the Petri- net.

Hornix (2007) describes the following KPIs that are related to business pro- cesses that can be used in PPA as discussed in Subsection 2.3.6. First, the overall completion or throughput times of the processes are looked at. Taking L as the output given by the log replay and c as the case or process instance, the total completion time T (c) of any case c is given by Equation 3.3.5.

T (c) = M AX(x∈L∧case(x)=c)time(x) − M IN(x∈L∧case(x)=c)time(x) (3.3.5)

Also, taking #c as the number of cases, the following definitions also apply: • Average throughput time: AV Gc∈CT (c)

• Minimum throughput time: MINc∈CT (c)

• Maximum throughput time: MAXc∈CT (c)

• Standard deviation of throughput time: ST DEVc∈CT (c)

• Percentage of lowest throughput time: AV Glow(x, T (c)) = AV Gc∈Clow(x)T (c) Where c ∈ Clow(x) ↔

#d∈C|T (d)≤T (c)

#c ≤

x 100

• Percentage of lowest throughput time: AV Ghigh(y, T (c)) = AV Gc∈Chigh(y)T (c) Where c ∈ Chigh(y) ↔ #d∈C|T (d)≥T (c)#c100y

• Average Case length: AV Gnormal(x, y, T (c)) = AV Gc∈Cnormal(x,y)T (c) Where c ∈ Cnormal(x, y) = C\(Clow(x) 6 Chigh(y))

Another aspect worthy of investigation is the arrival rate of the cases or process instances. This can be calculated using any time unit also taking L as the replay output and the case c while the arrival time of every case is now given by T0(c) and thus:

T0(c) = M IN(x∈L∧case(x)=c)time(x) (3.3.6)

The average arrival rate is then given by: #c

M AXc∈CT0(c) − M INc∈CT0(c)

The conformance of a given case can also be calculated by means of using the number of cases that fit into the Petri-net as the log is replayed. This how- ever only gives an idea of the real conformance and a dedicated conformance checker should rather be used.

The KPIs described above are only applicable to case instances. The same principles applied to the cases can be applied to the activities within these cases. As these activities are tied to the places within a Petri-net, KPIs can be derived according to the transition of tokens and the firing of atomic transi- tions as discussed in more detail in Subsection 2.2.5. Transitional times for the tokens are based on the timestamps within the event log. Every transition time is however not tied to a specific token which causes problems when multiple tokens are at the input of a transition. In situations like these, a random func- tion is used to assign a token to a transition time. As the token might belong to the wrong case, it might affect the KPI values calculated for individual cases. When a token is created within a place, the time it spends there before it is consumed is referred to as the sojourn time. Sojourn times are calculated in the same manner as the throughput time of a case shown above. The synchronisation time of the token is seen as the time it takes for the transition to be enabled since it consumed a token. When a transition is enabled, and it takes a certain time before the token moves through and is consumed, it is referred to as the waiting time of a place. Another useful and critical KPI is the arrival rate of the tokens. As this is strongly related to bottlenecks which from within process instances as in some cases the resource is not able to handle the arrival rate of the tokens. In cases where multiple tokens can occupy the same place, the frequency of which the tokens arrive to the place can be calculated to obtain metrics based on the waiting time associated with the place and the severity of the bottleneck. As part of the predictive capabilities offered by KPI analysis, predictions can be made where splits occur within the process flow. The probability that a token will follow a certain arc can be given as Equation 3.3.8:

P (p, t) = #x`L|trans(x) = t

#x`L|trans(x)`t0|(p, t0)`A (3.3.8)

Where A represents the arcs in a Petri-net. The time between the triggering of two transitions can also be calculated with Equation 3.3.9, where L is the

output of a log replay and the case c:

T (c, u, t) = |M IN(x`L∧case(x)=c∧trans(x)=u)time(x)−

M IN(x`L∧case(x)=c∧trans(x)=t)time(x)| (3.3.9)

In Equation 3.3.9 the two transitions in question have time attribute u and t. To be able to calculate the time between the transitions, each transition needs to fire at least once during the log replay.

The final set of KPIs describe the behaviour of the activities within the traces. The first of which is the waiting time of an activity. This is the time an activity has to idle since it was scheduled to when it can start. Waiting time is then simply calculated by using Equation 3.3.10 where x and x0L and represent

the schedule time and the starting time respectively.

W aitingtime = time(x0) − time(x) (3.3.10) The second KPI of value is the execution time of activities. This is simply defined as the difference in time between the starting of the event and the completion thereof. To calculate the execution time, Equation 3.3.10 can be used again. The value of x and x0 now change to represent the start time of

the event and the end of the event respectively. The sojourn time can also be calculated with Equation 3.3.10 where x and x0 represent the scheduling time

of the activity and the completion time of that activity.