Indexing multiple indicators in a formula
Summarize
Summary of Indexing multiple indicators in a formula
Index indicators in ServiceNow enable you to combine multiple performance indicators into a single weighted average score. This helps clarify overall performance when individual indicators show mixed results, making it easier to determine if a process, service, or group is meeting its overall target and if performance is improving.
Show less
Key Features
- Index Indicator Calculation: Each indicator’s score is normalized to an indexed score around 100, allowing aggregation. Indicators must have a direction (Maximize or Minimize) and a target or norm value (non-zero).
- Formulas for Indexing:
- For Maximize indicators: 100 + (((actual score - target) / target) 100)
- For Minimize indicators: 100 - (((actual score - target) / target) 100)
- Direction Setting: Always set the direction of the index indicator to Maximize to reflect improvement correctly regardless of underlying indicator directions.
- Weighting: Indicators can be weighted evenly or differently; if weighted evenly, it is simpler to index the final aggregation rather than individual indicators.
- Use of PAFormulaUtils API: Methods like
pa.getGap()andpa.getGlobalTarget()fetch indicator gaps and targets from Analytics Hub for use in formulas, facilitating dynamic and accurate calculations.
Practical Application
To create an index indicator:
- Navigate to Platform Analytics Administration > Indicators > Formula Indicators and create a new formula indicator.
- Name it meaningfully, e.g., “Aggregate incident gap,” and set its direction to Maximize.
- Use the PAFormulaUtils API in the formula editor to calculate gaps and aggregate multiple indicators, weighting them as needed.
Example formula for equally weighted indicators measuring incident performance:
var a = pa.getGap($[[% of open overdue incidents]], scorestart) / pa.getGlobalTarget($[[% of open overdue incidents]],scorestart);var b = pa.getGap($[[Average age of last update of open incidents]], scorestart) / pa.getGlobalTarget($[[Average age of last update of open incidents]], scorestart);var c = pa.getGap($[[Number of open incidents]], scorestart) / pa.getGlobalTarget($[[Number of open incidents]], scorestart);var res = 100 - (100 (a + b + c) / 3);res;
Key Outcomes
- Easier interpretation of overall performance by consolidating multiple indicators into a single index score.
- Clear insight into whether combined targets are being met and if overall performance trends upward or downward.
- Enhanced reporting and decision-making based on a unified performance measure.
You can write a formula to measure what the gap is to the overall target of multiple, combined indicators. Such a formula indicator is called an 'index indicator'.
- Although the scores for three indicators improved somewhat, the scores for 2 of them are still below target and 1 is above target.
- The score for one indicator remained more or less the same and is still below target.
- The score for one indicator did significantly deteriorate, but is fortunately just above target.
- Is the overall performance of the process/service/group still at or above the desired level?
- Did the overall performance improve?
An index indicator can answer these questions. With an index indicator, the scores of multiple indicators are aggregated into one score. It is a weighted average of several indicators. If the weighted sum of these indicators is improving, the calculated score of the index formula goes up. As with any other indicator, the index indicator shows if the score is good or not and if the score has improved or not.
The principle behind an index indicator is to calculate a score value indexed to 100 for each indicator. When you have these indexed scores, you are mathematically allowed to calculate an overall average of them.
100 + (((actual score - target) / target) * 100)100 - (((actual score - target) / target) * 100)If you are weighting the indicators evenly, you can index the final aggregation to 100 instead of indexing the individual indicators to 100.
pa.getGap(indicator, On date) / pa.getGlobalTarget(indicator, On date)Because of the different operator for the different direction, if the score of an underlying indicator is improving (up or down), the index indicator score is increasing. Therefore, always set the direction of the index indicator to Maximize.
If no target value is set for an indicator, use a norm value instead. Indicators that have a target or norm value equal to 0 cannot be used in the index indicator, because it would require dividing by 0.
Set a target of 100 for each index indicator. This target is the calculated, overall, indexed score if all underlying indicators have an actual score equal to their target or norm value.
An index indicator is measuring what the gap is to the overall target of multiple, combined indicators. It is measuring the 'Percentage of Target Achievement'.
Index indicator using PAFormulaUtils() methods
- The percentage of incidents that are overdue.
- The average age of the last update of open incidents.
- The total number of open incidents.
- Navigate to and select New. Index indicators are a use case of formula indicators.
- Give the indicator a meaningful name, such as Aggregate incident gap.
- Set the Direction to Maximize.
- In the Formula field, use the Browse for a method and Browse for an indicator functions to create the following
formula:
The three indicators are weighted equally, so the aggregation is indexed to 100 instead of the individual indicators.var a = pa.getGap($[[% of open overdue incidents]], score_start) / pa.getGlobalTarget($[[% of open overdue incidents]],score_start); var b = pa.getGap($[[Average age of last update of open incidents]], score_start) / pa.getGlobalTarget($[[Average age of last update of open incidents]], score_start); var c = pa.getGap($[[Number of open incidents]], score_start) / pa.getGlobalTarget($[[Number of open incidents]], score_start); var res = 100 - (100 * (a + b + c) / 3); res;