Dynamic KPI Engine
Swipe to show menu
The workbook already supports reporting, scenario modeling, and sensitivity analysis. In this chapter, combine these systems into a centralized KPI engine where all outputs respond dynamically to user inputs.
KPI Engine Structure
A dynamic KPI system separates the workbook into three layers:
- Inputs: user selections;
- Logic: calculations and formulas;
- Outputs: displayed KPIs.
This structure keeps the model scalable and easy to control.
SUMIFS and COUNTIFS Structure
=SUMIFS(sum_range, criteria_range1, criteria1, ...)
=COUNTIFS(criteria_range1, criteria1, ...)
These functions aggregate values dynamically based on selected filters.
FILTER, MAX and XLOOKUP Logic
Top-product calculations combine multiple functions:
FILTER → MAX → XLOOKUP
FILTER: isolates matching rows;MAX: identifies the highest value;XLOOKUP: retrieves the related label.
Inside the Summary sheet, create a new section:
Dynamic KPI Panel
Build the following input structure:
| Input | Source |
|---|---|
| Active Scenario | Scenarios!B7 |
| Selected Region | Reference_Lists dropdown |
| Selected Month | Whole number (1–12) |
Type:
=SUMIFS(Sales_Data[Revenue],Sales_Data[Region],[SelectedRegion],Sales_Data[Month],[SelectedMonth])
Sales_Data[Region]: region filter;Sales_Data[Month]: month filter.
The KPI now responds dynamically to both selections.
Type:
=COUNTIFS(Sales_Data[Region],[SelectedRegion],Sales_Data[Month],[SelectedMonth])
The KPI returns the number of matching transactions.
Type:
=IFERROR([FilteredRevenue]/[FilteredOrders],0)
[FilteredRevenue]: filtered Revenue KPI;[FilteredOrders]: filtered order count;0: fallback value when no orders exist.
Type:
=XLOOKUP(MAX(FILTER(Sales_Data[Revenue],Sales_Data[Region]=[SelectedRegion])),Sales_Data[Revenue],Sales_Data[Product],"No data")
FILTER(...): isolates the selected region;MAX(...): identifies the highest Revenue value;XLOOKUP(...): returns the matching product.
Type:
=SUMIFS(Sales_Data[Revenue],Sales_Data[Region],[SelectedRegion],Sales_Data[Month],[SelectedMonth]) * Scenarios!Active Price Multiplier * Scenarios!Active Volume Multiplier
- Base Revenue: filtered transactional output;
- Price multiplier: active scenario adjustment;
- Volume multiplier: active scenario adjustment.
The KPI now models projected Revenue dynamically.
Change:
- Region;
- Month;
- Scenario.
Confirm that:
- Revenue updates automatically;
- Order counts update automatically;
- Average Order Value updates automatically;
- Top Product updates automatically;
- Projected Revenue recalculates instantly.
1. What is the main purpose of a KPI engine?
2. Why is IFERROR used in KPI calculations like Average Order Value?
3. Why is FILTER used inside the Top Product calculation?
Thanks for your feedback!
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat