Tutorial P2P - Error Patterns Indicating Poor Delivery Performance

TL;DR 
Goal: Deliberately link a supplier to longer process times. 
Prerequisites: The P2P base model is loaded and the maverick-buying use case has been added. 
Result: Cases involving Globex SE receive longer time gaps and can later be compared with other suppliers in terms of their cycle time.

The business question

A typical P2P analysis is:

Which suppliers cause above-average cycle times?

For our example, we assume that the supplier Globex SE exhibits poorer performance.

Unlike with maverick buying, this time we do not remove a process step. Instead, the process path remains unchanged, but certain transitions require more time.

Desired data picture

Two otherwise comparable orders should differ depending on the supplier:

Normal supplier

Bestellung → Bestellposition → Wareneingang

with normal time gaps.

Globex SE

Bestellung → Bestellposition → Wareneingang

with significantly longer time gaps.

This keeps the process structure identical. The cause of the longer cycle time lies in the attribute: lieferant.lieferantenname

This later enables an analysis such as:

"Which suppliers explain long cycle times between order and goods receipt?"

Conditional Rules instead of Special Behaviour 

Open: 04 Special Behaviour

Below the deviation rules is: Conditional rules (A / C / D)

For this use case we use: A · Timing (change gap)

A timing rule changes the time gap after an activity when a defined condition is met.

The causal chain itself remains intact in doing so.

1. Creating a timing rule

Choose:

Effect: 
A · Timing (change gap)

As the Activity (gap after) we first choose: bestellung

This influences the transition after the order.

2. Using the supplier as a condition

The lieferant_id column of the bestellung refers to the reference table lieferant.

We therefore choose:

Condition – source: 
Linked dimension (FK)

Then:

FK column: 
lieferant_id

Dimension column: 
lieferantenname

Operator: 
=

Value: 
Globex SE

In business terms, the condition thus reads:

If the order belongs to the supplier Globex SE, the subsequent process time should change.

3. Multiplying the time gap

Under:

Effect on gap after the activity

choose:

× factor

and set:

3

The normal time gap is thereby multiplied by a factor of 3 for matching cases.

Your full P2P demo set uses exactly this principle: for Globex SE, timing rules with gap_multiply and a factor of 3 are stored.

Additionally, set the tag:

LIEFERANT_SCHLECHTE_PERFORMANCE

What does the factor of 3 mean?

The factor does not replace the existing time gap.

Instead, the gap already drawn via the Causal Chain is multiplied.

For example, 10 hours become, for Globex SE: 30 hours

This way, we retain the normal spread of process times but systematically shift the affected supplier group upward.

For later process mining analyses, this is considerably more sensible than giving all Globex cases an identical fixed time value.

Difference from maverick buying

The first two use cases show two fundamentally different kinds of causal modeling.

With maverick buying, an attribute – anforderer – influences the question:

Which process path is actually traversed?

With supplier performance, by contrast, an attribute – lieferant – influences:

How long does the process take?

The process structure itself remains intact.

This allows us to generate different kinds of causes synthetically and analyze them separately later.

What should I later see in Noreja?

In an analysis of cycle times, orders with:

Globex SE

should on average exhibit longer times than comparable orders from other suppliers.

Interesting questions are, for example:

Which suppliers have the highest average cycle times?

Is Globex SE disproportionately represented among slow-running cases?

At which point in the process does the additional waiting time arise?

The interesting part here is not that Globex was simply marked as "poor" with a label.

The poorer performance is generated through the actual time behavior of the process.

Common mistakes / things to watch out for

The rule changes the gap after the selected activity. 
Anyone wanting to create a delay at a particular point must therefore always check which slot controls the corresponding transition.

A factor of 3 does not mean "plus three days". 
× factor = 3 multiplies the existing time gap. For a fixed surcharge, + days would be used instead.

Distinguish reference data and process object. 
lieferant is not itself in the causal chain. Via lieferant_id, the order can nevertheless use its attributes as a cause.

Result

We now have a second causal relationship in the data set:

lieferant = Globex SE

→ longer time gap

→ higher process cycle time.

Our data set now thus contains both a structural deviation due to maverick buying and a performance deviation due to longer process times.

Next step

Next, we model a pattern in which a process step that has already been carried out must be worked on again:

Order change / rework

For this, we use the Rework behaviour for the first time and generate the deviation with a fixed quota of 15%.

Next:  Tutorial P2P Error Pattern Order Change (Rework)