Key Performance Indicators
So far we have just discussed the population of modeled metrics based on the arrival of events. An example of such a metric might be the duration it takes to process an individual order. Now we look at aggregating these metrics together, the result of which we term a "Key Performance Indicator". For example, if we aggregate a set of sales order durations using an average function, we now find the average duration of sales orders. That becomes a very meaningful concept.
In a KPI definition, we get to define a metric that will be aggregated across its instances. The aggregation functions supplied by IBM include:
When we define a KPI we give it a
Name and an
Name is used to display the KPI in a human readable form when it is displayed to the end user, while the
ID is used to track the KPI internally and through APIs.
For numeric values, we can supply a "
Decimal Precision" property which is the number of decimal places to show if the value of the KPI is shown. The value of the KPI is not altered by this property … it is available to any display technology to format the output.
We can also request that the KPI be displayed as a "percentage". This means (for example) that if the value of a KPI were 0.3, it would be displayed as "30%".
Time Filter section provides the range of time over which the set of metrics are calculated.
I like to think of a KPI like a dial on my car dashboard. At a quick glance I can tell if I am going too fast/slow, what my fuel level is and other key aspects of the operation of my car. A KPI is not the same as a chart … instead, the KPI should be used to show that you are operating within an acceptable range.
Let us use an example to illustrate KPIs. Imagine that we are processing sales orders and we have a target of $1000 worth of sales per day. Each sale that is made creates a metric called "
amount" that represents the amount of a sale. To calculate our KPI, we want to calculate the sale value over the last day.
We create a new
The time filter allows us to specify which instances of metrics should be used to calculate the KPI. For example, if we have been running our process for many months and have been collecting information, the daily sales should be calculated from what happened today and should not include sales metrics from previous days. When we define our KPI, we have the option of specifying a "
Time Filter" which defines whether to include or exclude metrics. The Time Filter expression has four options available to us:
None – Include all available historic metrics. Effectively no filtering is performed and the KPI is based on all data available.
Repeating – This defines an interval of time that is a window into the data. It may have one of four options:
We can also calculate the KPI as a function of a full "period" or the "in progress" period. To illustrate this, if we say that the period is "daily" and we select "Last full period", then if today is Friday at 11:30am, then the KPI will be built from the data from Midnight to Midnight of Thursday (yesterday). Any data from today (Friday) will not be included. However, if select "Period in progress", then the data will be built from Midnight of today (Friday) up to and including now.
A KPI usually has a "target" associated with it. This is our "goal". It is what we would hope to achieve or expect. By setting a target, we can see if we are higher or lower than the desired amount. In addition to defining a target, we can define "ranges" for our data. These ranges provide visual indications of where are relative to our goal.