KPI catalog
Generated from kpis/catalog.yaml - the single source of truth for the Python engine, the SQL reference queries, the story site and the dashboard. 28 KPIs in 5 domains. Every KPI page shows its definition, how to read it, the common misreadings, its SQL, the Python function and a worked example taken from the test suite.
Service operations & SLA
| KPI |
Business question |
Direction |
Target |
Owner |
Current |
| First response time (median) |
How long does a customer wait before a human acknowledges the ticket? |
Lower is better ↓ |
≤ 2.0 h |
Service Desk Lead |
✓ 0.9 h |
| Resolution time (median) |
How long does it take to solve a customer's problem end to end? |
Lower is better ↓ |
≤ 24.0 h |
Service Desk Manager |
✓ 11.1 h |
| SLA compliance |
What share of tickets did we resolve within the time we promised? |
Higher is better ↑ |
≥ 90.0% |
Service Desk Manager |
✓ 94.4% |
| Aged backlog (> 7 days) |
How much of the open work is already old enough to hurt the SLA? |
Lower is better ↓ |
≤ 10.0% |
Queue Team Lead |
✕ 76.7% |
| First contact resolution (FCR) |
How often do we solve the problem in a single interaction? |
Higher is better ↑ |
≥ 70.0% |
Service Desk Manager |
! 62.5% |
| Reopen rate |
How often is a "resolved" ticket not really resolved? |
Lower is better ↓ |
≤ 5.0% |
Quality Lead (Service) |
✓ 4.1% |
Maintenance & asset reliability
| KPI |
Business question |
Direction |
Target |
Owner |
Current |
| Mean time between failures (MTBF) |
How long does an asset run, on average, before it fails? |
Higher is better ↑ |
≥ 150.0 h |
Reliability Engineer |
! 118.0 h |
| Mean time to repair (MTTR) |
Once an asset fails, how long until it runs again? |
Lower is better ↓ |
≤ 4.0 h |
Maintenance Supervisor |
! 5.3 h |
| Availability |
Of the time the asset was supposed to run, how much could it actually run? |
Higher is better ↑ |
≥ 97.0% |
Maintenance Manager |
! 95.7% |
| Preventive maintenance compliance |
Are we doing the preventive work we planned, when we planned it? |
Higher is better ↑ |
≥ 90.0% |
Maintenance Planner |
! 86.6% |
| Planned maintenance share |
How much of our maintenance effort is planned rather than reactive? |
Higher is better ↑ |
≥ 80.0% |
Maintenance Manager |
! 65.5% |
Inventory & demand
| KPI |
Business question |
Direction |
Target |
Owner |
Current |
| Fill rate (units) |
Of the units customers asked for, how many did we ship from stock? |
Higher is better ↑ |
≥ 95.0% |
Supply Planner |
✕ 79.1% |
| On time in full (OTIF) |
How many orders arrived complete and on the promised date? |
Higher is better ↑ |
≥ 90.0% |
Logistics Manager |
✕ 74.5% |
| Inventory turnover |
How many times a year does the stock we hold get sold? |
Higher is better ↑ |
≥ 8.0x / year |
Inventory Controller |
! 5.6x / year |
| Days of cover |
If demand continues as usual, how many days will current stock last? |
Inside a band ↔ |
14.0 days to 35.0 days |
Supply Planner |
✕ 63.1 days |
| Stockout rate (SKU-days) |
How often is an item simply not available? |
Lower is better ↓ |
≤ 3.0% |
Supply Planner |
! 5.9% |
| Obsolete stock share |
How much of our inventory value has stopped moving? |
Lower is better ↓ |
≤ 5.0% |
Inventory Controller |
✕ 27.5% |
| Forecast error (MAPE) |
On average, by what percentage does each item's forecast miss? |
Lower is better ↓ |
≤ 40.0% |
Demand Planner |
✕ 389.2% |
| Forecast error (WAPE) |
Of all the units we sold, how many did the forecast get wrong? |
Lower is better ↓ |
≤ 30.0% |
Demand Planner |
✕ 77.0% |
| Forecast bias |
Do we systematically forecast too much or too little? |
Inside a band ↔ |
-5.0% to 5.0% |
Demand Planner |
✓ -2.1% |
Customers
Data quality as a KPI
| KPI |
Business question |
Direction |
Target |
Owner |
Current |
| Completeness |
Are the fields we need actually filled in? |
Higher is better ↑ |
≥ 99.0% |
Data Steward |
! 96.3% |
| Uniqueness |
Is each real-world record stored exactly once? |
Higher is better ↑ |
≥ 99.9% |
Data Steward |
✕ 96.8% |
| Validity |
Do the values respect the business rules? |
Higher is better ↑ |
≥ 98.0% |
Data Steward |
✓ 98.9% |
| Timeliness |
Is the data available soon enough after the event to act on it? |
Higher is better ↑ |
≥ 95.0% |
Data Engineer |
✓ 97.4% |
Current = value on the full dataset of the case (illustrative). Status icons: ✓ on target, ! watch, ✕ act.