Skip to main content

# Celonis Product Documentation

##### Execution Gap List
###### Overview
 Placement View Required KM objects KPIAnomaliesKM Records Flags
###### Introduction to Execution Gap List

Use the "Execution Gap List" component in Views to give your users a quick overview of all automatically detected anomalies in their system. It provides an overview of the defined KPIs, occurrences and impact.

Details of an Execution Gap can be analyzed on Profile View.

This is what the component looks like:

And here you can see the interaction with a profile view providing your business users more details of an anomaly.

Related content

### How the impact gets calculated

The default impact calculation: "(flagged - global) / global"

Let's say we have an On-Time Payment rate of 7% due to the slow approval rate. In all other cases, we detect an On-Time Payment rate of 23%.

Then the impact of the anomaly slow approval rate on On-Time Payment can be calculated as:

(7% - 23%) / 23% = - 69%

This means that with slow approval rates the On-Time Payment is -69% worse than it could be when resolving the anomaly (of slow approval rates).

Custom impact calculations: For many KPIs and anomalies a different impact calculation may make more sense than the default outlined above.

Therefore you can define custom impact calculations in the Knowledge Model to be used in the Execution Gap List component.

Example: "flagged / global" Consider the KPI Lost Cash Discount which is measured in dollars and not in percent like On-Time Payment.

Let's say we have a Lost Cash Discount of $67k with invoices that have a slow approval rate. In total, across all invoices, we have a Lost Cash Discount of$200k.

Thus the impact of the anomaly slow approval rate on Lost Cash Discount can be calculated as:

67k / 200k = 33.5%

This means that 33.5% of our Lost Cash Discount is affected by slow approval rates.

The components need to be set up using the following steps:

1. Set up KM KPI.

2. Set up KM Anomaly.

3. Set up KM Flags in Record.

4. Set up View execution-gap component.

5. Set up Profile View using Anomaly knowledgeObjectId.

###### 1. Set up KM KPI

First, we will start to set up a KPI. This KPI will serve as an input for the execution-gap component since we want to render multiple Anomalies which impact a certain KPI.

For this go to the KM and add a new KPI:

### Potential pitfalls

When setting up the KPIs in the Knowledge Model, make sure they have the attribute "desiredDirection" defined. It is important for the correct display of the impact.

Knowledge Model

kpis:
- id: KPI_TOTAL
displayName: Total count
description: Total count
pql: COUNT_TABLE("VBAK")
desiredDirection: INCREASE                                                                                  # Make sure they have the attribute "desiredDirection" defined
format: .3s
###### 2. Set up KM Anomaly

Configure anomalies in the Knowledge Model. See here for more information on anomalies and how to configure the impact calculation.

In this set, you connect the KPI with Anomaly and provide the required information for rendering the Anomaly in the execution gap component.

You connect the KPI with the flag, which is used for the impact calculation.

Knowledge Model

anomalies:
- id: ANOMALY_EXPRESS_1
displayName: Anomaly Express delivery 1                                                             # Defines the display name of the anomaly in the execution gap component
description: Anomaly Express delivery 1
flag: FLAG_EXPRESS_1                                                                                                # Reference a flag definition from a record. Make sure this record has an identifier defined (record.identifier.pql). It is needed to calculate the number of occurrences.
kpis:                                                                                                                               # References a list of KPIs in the Knowledge Model. Make sure those KPIs have the attribute "desiredDirection" defined. It is important for the correct display of the impact.
- kpiId: KPI_TOTAL
#impactCalculation: IMPACT_FOR_PERCENTAGES                                      optional - reference a kpi definition as your custom impactCalculation for this kpi and anomaly
knowledgeObjectId: ANOMALY                                                                                  # The knowledge model object will be used when creating the Profile View
#customAttributes:                                                                                                  optional - allows to pass custom attributes to the Profile View
#prop1: anomaly_express_1_customattribute1
#prop2: anomaly_express_1_customattribute2
- id: ANOMALY_EXPRESS_7
displayName: Anomaly Express delivery 7
description: Anomaly Express delivery 7
flag: FLAG_EXPRESS_7
kpis:
- kpiId: KPI_TOTAL
knowledgeObjectId: ANOMALY
#customAttributes:
#prop1: anomaly_express_7_customattribute1
#prop2: anomaly_express_7_customattribute2
###### 3. Set up KM Flags in Record

To flag cases which impact our initially-defined KPI, go to Records and add flags. Please find below an example configuration of flags:

Knowledge Model

records:
- id: VBAK
displayName: Vbak
pql: '"VBAK"'
#   ...
flags:                                                                                                                                      # Insert the following flag configuration
- id: FLAG_EXPRESS_1
displayName: Flag Express 1
description: Flag Express 1
pql: "\"VBAK\".\"VTWEG_TEXT\" = 'Express 1'"                                              # Defines the condition when a record.attribute should be flagged for calculating the impact on a KPI
- id: FLAG_EXPRESS_7
displayName: Flag Express 7
description: Flag Express 7
pql: "\"VBAK\".\"VTWEG_TEXT\" = 'Express 7'"
###### 4. Set up View execution-gap component

Now go to the View where you want to place the execution-gap component. Here you can insert the following configuration:

Attribute

Required

Type

Description

kpi

true

KPI

Views Variable (containing KPI id)

References the KPI in the Knowledge Model. Also, a variable ${currentKpi} can be used. ### Info optimised for component editor View id: execution-gap-list-0d1ac17b-dd43-4e75-84f8-9bb669000d66 type: execution-gap-list settings: kpi: KPI_TOTAL ###### 5. Set up Profile View using Anomaly knowledgeObjectId You cannot click on an Anomaly to retrieve more details. To do this, you must create a new Profile View: Profile View metadata: key: execution-gap-profile-view template: false name: Execution Gap Profile View knowledgeModelKey: knowledge-model knowledgeObjectId: ANOMALY # References the knowledgeObjectId (see Knowledge Model configuration) for the respective anomaly profileView: true # Defines that the it's a profile view variables: - name: id layout: ### Note If you don't want to create separate Profile Views for each Anomaly: 1. Assign the Anomalies in the KM the same knowledgeObjectId. 2. Go to your Execution Gab component and enable forwardFilterToProfileView: true. 3. Lastly, you can make use of Object Variables in your Profile View. By this, you can then render the content dynamically based on the selected Anomaly. Click here to see exampleProfile View metadata: key: execution-gap-profile-view template: false name:${anomaly.displayName}                                                                                  # Example of Object variable. It takes the displayName straight from the KM
knowledgeModelKey: knowledge-model
knowledgeObjectId: ANOMALY
profileView: true
variables:
- name: id
- name: anomaly                                                                                                               # Defines an object variable of type anomaly
defaultValue:
id: ANOMALY_EXPRESS_1
layout:
...
components:
- id: text-box-5a30b628-f9f1-4f30-9f05-a351cbaf99ae
type: text-box
settings:
title: Object based values
content: |
<p><strong>id:</strong> ${anomaly.id} <p/> # Displays the different object variables, which are available from the KM <p><strong>name:</strong>${anomaly.displayName} <p/>
<p><strong>description:</strong> ${anomaly.description} <p/> <p><strong>flag:</strong>${anomaly.flag} <p/>
<p><strong>prop1:</strong> ${anomaly.customAttributes.prop1} <p/> <p><strong>prop2: </strong>${anomaly.customAttributes.prop2} <p/>
<p><strong>prop3: </strong> \${anomaly.customAttributes.prop3} <p/>



### Warning

If you make use of customAttributes in your Anomaly, please make sure that all Anomalies are configured with the customAttribute otherwise the Profile View will fail to render.

###### Advanced configuration

Attribute

Required

Type

Possible values

Default Value

Description

name

false

String

Defines the title displayed above the component.

forwardFilterToProfileView

false

Boolean

true

false

false

Defines whether to forward the blocker as a filter to associated profile views or not.

hideEmptyOccurrences

false

Boolean

true

false

false

Defines if anomalies with 0 occurrences should be displayed.

sortBy

false

Enum

customColumn

defaultColumn

direction

Defines by which column the items should be sorted. Can be either one of the defaultColumn keys (issue, impact, kpi, or occurrences) or a customColumn kpi reference.

customColumn

false

defaultColumn

false

direction

false

Enum

DESC

ASC

Defines the directions of the sorting.

tableView

false

Boolean

true

false

false

limit

false

Integer

8

Defines the limit on how many Execution Gaps should be displayed per page.

columns

false

Enum

issue,

occurrences,

kpi,

impact

Rename column title or hide one of the standard columns.

issue,

occurrences,

kpi,

impact

false

Enum

title

hide

Defines the column you want to modify.

title

false

String

Defines the table title of the column.

hide

false

Boolean

true

false

false

Defines if the column should be hidden.

custom

false

List of KPIs

Defines a list of KPIs, which should be additionally added to the component.

kpi

false

KPI

References a KPI from the Knowledge Model, which will be displayed in an additional column.

### Info

optimised for component editor

View

id: execution-gap-list-0d1ac17b-dd43-4e75-84f8-9bb669000d66
type: execution-gap-list
settings:
kpi: ON_TIME_PAYMENT
name: Execution Gaps
forwardFilterToProfileView: true
hideEmptyOccurrences: true
sortBy:
# customColumn: CASH_DISCOUNT Sorting can only be applied to customColumn XOR defaultColumn and both at ones
defaultColumn: occurrences
direction: DESC
tableView: true
limit: 5
columns:
issue:
title: Issue
hide: false
impact:
hide: false
kpi:
hide: false
occurrences:
title: "# Invoices"
custom:
- kpi: CASH_DISCOUNT