KPI real-time values
How the numbers on KPI cards are computed live: the real-time engine, the 15-minute cache, which 25 KPIs have real values (and their formulas), and why 25 show "not available yet".
The numbers on KPI cards are computed live by the KPI real-time engine — they are your real business data, not demo data. Every value carries its formula (note): what was counted, over which period, and from which module. If a KPI cannot be computed honestly, it shows "not available" instead of a made-up number.
How real-time values are computed#
The engine maps each KPI code to its real tables (warehousing locations, orders, shipments, invoices…), computes it for your organization only, and caches the result for 15 minutes. Window KPIs look at the last 30 days by default; point-in-time KPIs (like capacity utilization or overdue receivables) are snapshots of right now. Year-over-year style comparison is included when it exists: window KPIs also return the previous equal-length period (prev_value).
25 KPIs with real-time values#
- Capacity utilization: locations with stock ÷ active locations.
- Dock-to-stock time: receipt completion − goods arrival, in hours (proxy: receipt timestamps).
- Order fulfillment rate: fulfilled ÷ (total − cancelled).
- Order cycle time: order placement → delivered event, in hours.
- Short fulfill rate: shipped orders with shortage lines ÷ shipped orders.
- Cancellation rate: cancelled ÷ total orders.
- Average order value: order amount total ÷ order count.
- On-time delivery rate: PODs on time ÷ deliveries with a promised date.
- Cost per shipment: transport cost total ÷ shipment count.
- Gate turn time: gate-out − gate-in, in minutes.
- Dwell time: gate-out − gate-in, in hours.
- Return rate: return orders ÷ shipped orders.
- Top return reason share: #1 reason ÷ returns with a reason.
- Refurbish resale rate: restock-disposition lines ÷ return lines.
- Return cycle time: RMA creation → disposition, in days (proxy: creation timestamp).
- Stop density: stops ÷ routes.
- PO cycle time: PO date → goods receipt, in days.
- Supplier OTIF: on-time and in-full POs ÷ received POs.
- DSO: receivables ÷ average daily billings × days.
- DPO: payables ÷ average daily bills × days.
- AR overdue %: overdue receivables ÷ total receivables.
- Average deal size: pipeline amount ÷ deal count.
- Fuel efficiency: miles (odometer deltas) ÷ gallons.
- Flow success rate: successful runs ÷ total runs.
- SLA attainment rate: resolved within SLA ÷ resolved tickets.
25 KPIs without real-time values yet#
These are not engine bugs — the underlying data was never recorded, or the field is empty everywhere. They will switch on automatically once the data exists; no code changes needed.
- Inventory turnover: no cost data (no cost field, no COGS entries).
- Picking accuracy: pick errors are never recorded.
- On-time shipment rate: no promised time anywhere.
- Receiving efficiency: no valid receiving labor hours.
- Order accuracy: no shipment error records.
- Perfect order rate: damage / document dimensions untracked.
- OTIF: in-full has no data (no delivered quantities).
- First-attempt delivery rate: no attempt records.
- Cost per mile: no mileage data.
- Empty mile %: no empty-mile data.
- Door utilization: no door occupancy time records.
- Per-diem / demurrage: no fee data.
- Port turn time: pickup / return times empty.
- Cost per stop: routes have no cost field.
- POD on-time rate: no promised / window time.
- Purchase cost variance: no standard price.
- Supplier scorecard: quality dimension untracked.
- Cash-to-cash cycle: needs COGS / inventory days.
- Gross margin by client: no direct cost data.
- Lead conversion rate: no lead→client conversion records.
- Win rate: no closed deals (won + lost = 0).
- Sales cycle length: no won deals.
- Labor productivity: no valid labor hours.
- Overtime %: no overtime hour field.
- Fleet utilization: dispatch log is empty.
Reading the comparison#
Window KPIs return prev_value — the same metric over the previous equal-length period (e.g. the 30 days before the last 30 days). Point-in-time KPIs (capacity utilization, DSO, DPO, overdue %) have no previous period and omit it. Small samples are flagged: sample_size tells you how many records the number is based on.