Skip to content

KPI Dictionary

13 metrics, each stated as a formula, in words, and by the question it answers. Every row opens the full definition with its decision switches and pitfalls.

Filter by business problem

Showing all 5 topics · 13 metrics

Inventory & Working Capital

KPIFormulaWhat it answers
Inventory TurnsK-05
Turns=COGSannualizedI‾,I‾=1n∑k=1nIk\text{Turns} = \frac{\text{COGS}_{\text{annualized}}}{\overline{I}}, \qquad \overline{I} = \frac{1}{n}\sum_{k=1}^{n} I_k

Turns = annualized COGS ÷ average inventory value

Where

COGSannualized\text{COGS}_{\text{annualized}}
cost of goods shipped or issued over the window, scaled to a year
I‾\overline{I}
average on-hand inventory value
IkI_k
on-hand value at period end k, at the same valuation as COGS
kk
a period end in the average
nn
period ends in the average
How many times a year does inventory turn over — with a COGS, units, or revenue numerator, an average or point-in-time denominator, and at which valuation?
Days of Supply (DOS)K-06
DOS=∑iQioh∑idˉi\text{DOS} = \frac{\sum_{i} Q^{\mathrm{oh}}_{i}}{\sum_{i} \bar{d}_{i}}

DOS = on-hand quantity ÷ average daily demand (declared window)

Where

ii
item × location in scope
QiohQ^{\mathrm{oh}}_{i}
current on-hand quantity
dˉi\bar{d}_{i}
average daily demand over the declared trailing window or forward horizon
How long would today's stock last — against trailing history or the forward plan, in units or dollars, and what do you report when demand is zero?
Excess & Obsolete (E&O)K-10
Excess=∑imax⁡ ⁣(Qioh−Qitarget, 0)ciObsolete=∑i∈ObsQioh ciE&O value=Excess+Obsolete\begin{aligned} \text{Excess} &= \sum_{i} \max\!\left(Q^{\mathrm{oh}}_{i} - Q^{\mathrm{target}}_{i},\, 0\right) c_i \\ \text{Obsolete} &= \sum_{i \in \mathrm{Obs}} Q^{\mathrm{oh}}_{i}\, c_i \\ \text{E\&O value} &= \text{Excess} + \text{Obsolete} \end{aligned}

Excess = Σ [max(on-hand − target, 0) × unit cost]; Obsolete = Σ over items flagged obsolete [on-hand × unit cost]; E&O value = Excess + Obsolete

Where

ii
item × location
QiohQ^{\mathrm{oh}}_{i}
on-hand quantity
QitargetQ^{\mathrm{target}}_{i}
quantity the declared coverage horizon justifies
cic_i
unit cost at the declared valuation
Obs\mathrm{Obs}
items flagged obsolete (lifecycle status corroborated by zero demand)
How much inventory has no forward demand to justify it — and is excess defined by coverage horizon, by age, or by the accounting reserve policy?
Cash-to-Cash Cycle TimeK-11
C2C=DIO+DSO−DPODIO=I‾COGS/365,DSO=AR‾Revenue/365,DPO=AP‾COGS/365\begin{aligned} \text{C2C} &= \text{DIO} + \text{DSO} - \text{DPO} \\ \text{DIO} &= \frac{\overline{I}}{\text{COGS}/365}, \quad \text{DSO} = \frac{\overline{AR}}{\text{Revenue}/365}, \quad \text{DPO} = \frac{\overline{AP}}{\text{COGS}/365} \end{aligned}

C2C days = DIO + DSO − DPO

Where

I‾\overline{I}
average inventory balance over the window
AR‾\overline{AR}
average receivables balance, same window
AP‾\overline{AP}
average payables balance, same window
COGS\text{COGS}
the period's cost of goods sold
Revenue\text{Revenue}
the period's revenue
365365
days in the period basis
How many days is cash locked up between paying suppliers and collecting from customers — and are DIO, DSO, and DPO on consistent bases before you subtract them?

Demand Planning & Forecasting

KPIFormulaWhat it answers
Forecast Accuracy — WAPE & MAPEK-03
WAPE=∑i∣Fi−Ai∣∑iAiMAPE=1n∑i∣Fi−Ai∣AiAccuracy=max⁡ ⁣(0,  1−WAPE)\begin{aligned} \text{WAPE} &= \frac{\sum_{i} \lvert F_i - A_i \rvert}{\sum_{i} A_i} \\ \text{MAPE} &= \frac{1}{n} \sum_{i} \frac{\lvert F_i - A_i \rvert}{A_i} \\ \text{Accuracy} &= \max\!\left(0,\; 1 - \text{WAPE}\right) \end{aligned}

WAPE = Σ |forecast − actual| ÷ Σ actual; MAPE = mean of |forecast − actual| ÷ actual per row

Where

ii
item × location × period at the declared lag
FiF_i
forecast
AiA_i
actual demand
nn
rows scored — item × location × period cells with a non-zero actual, which MAPE cannot score otherwise
How far off was the forecast — and is your accuracy a volume-weighted error, or an average of per-item percentages that lets the smallest items dominate the number?
Forecast BiasK-04
Bias %=∑iFi−∑iAi∑iAi\text{Bias}\,\% = \frac{\sum_{i} F_i - \sum_{i} A_i}{\sum_{i} A_i}

Bias % = (Σ forecast − Σ actual) ÷ Σ actual

Where

ii
item × location × period at the declared lag, over the rolling window
FiF_i
forecast
AiA_i
actual (positive result = over-forecast)
Does the forecast systematically run high or low — and is bias a signed percentage, a tracking signal, or a streak count, with which sign convention?

Customer Service & Fulfillment

KPIFormulaWhat it answers
OTIF — On Time In FullK-01
OTIF=∑ℓ∈E1 ⁣[tℓarr≤tℓprom]⋅1 ⁣[qℓship,1≥qℓord]∣E∣\text{OTIF} = \frac{\sum_{\ell \in E} \mathbf{1}\!\left[t^{\mathrm{arr}}_{\ell} \le t^{\mathrm{prom}}_{\ell}\right] \cdot \mathbf{1}\!\left[q^{\mathrm{ship},1}_{\ell} \ge q^{\mathrm{ord}}_{\ell}\right]}{\lvert E \rvert}

OTIF = eligible lines on time (arrival on or before the first-confirmed promise) and in full (first attempt) ÷ eligible lines

Where

ℓ\ell
an eligible order line
EE
eligible order lines (not fully cancelled, promise date due)
tℓarrt^{\mathrm{arr}}_{\ell}
arrival date of line ℓ
tℓpromt^{\mathrm{prom}}_{\ell}
first-confirmed promise date
qℓship,1q^{\mathrm{ship},1}_{\ell}
quantity shipped on the first attempt
qℓordq^{\mathrm{ord}}_{\ell}
ordered quantity
1\mathbf{1}
1 when the bracketed test holds, else 0
Did the customer get what they ordered, when they were told, complete — and which of the six definitions of that are you actually reporting?
Fill RateK-02
Fill rate=∑ℓqℓship,1∑ℓqℓord\text{Fill rate} = \frac{\sum_{\ell} q^{\mathrm{ship},1}_{\ell}}{\sum_{\ell} q^{\mathrm{ord}}_{\ell}}

Fill rate = Σ qty shipped (first pass) ÷ Σ qty ordered

Where

ℓ\ell
an order line in scope
qℓship,1q^{\mathrm{ship},1}_{\ell}
units shipped on the first shipment against the line
qℓordq^{\mathrm{ord}}_{\ell}
units originally ordered on the line
Of what the customer ordered, how much shipped — counted in units, lines, or orders, at first pass or eventually, against the original ask or the ask after cancellations?
Perfect Order RateK-07
Perfect order rate=∑o∈O∏c∈C1 ⁣[passo,c]∣O∣\text{Perfect order rate} = \frac{\sum_{o \in O} \prod_{c \in C} \mathbf{1}\!\left[\text{pass}_{o,c}\right]}{\lvert O \rvert}

Perfect order rate = orders passing every declared component test ÷ orders shipped

Where

OO
orders shipped in the period after declared exclusions
oo
an order in O
CC
the declared component tests (on time, in full, damage-free, billing-accurate)
cc
a component test in C
passo,c\text{pass}_{o,c}
order o passes test c
∏\prod
every test must pass
Did the order arrive on time, complete, undamaged, and correctly billed — and which of those tests are actually inside your version of perfect?
Lead Time — Order-to-Delivery & SupplierK-09
LTℓ=tℓstop−tℓstartReported=median⁡ℓ ⁣(LTℓ),  P90 ⁣(LTℓ)\begin{aligned} \text{LT}_{\ell} &= t^{\mathrm{stop}}_{\ell} - t^{\mathrm{start}}_{\ell} \\ \text{Reported} &= \operatorname{median}_{\ell}\!\left(\text{LT}_{\ell}\right),\; P_{90}\!\left(\text{LT}_{\ell}\right) \end{aligned}

Lead time = stop timestamp − start timestamp, per document line

Where

ℓ\ell
order line (customer clocks) or PO schedule line (supplier clock)
tℓstartt^{\mathrm{start}}_{\ell}
the declared start timestamp of the chosen clock
tℓstopt^{\mathrm{stop}}_{\ell}
its declared stop timestamp
median⁡\operatorname{median}
median of the pooled per-line durations at the queried scope
P90P_{90}
their 90th percentile, likewise pooled
How long from commitment to arrival — which two timestamps define the clock, and is the reported number a mean or the percentile customers and planners actually feel?

Procurement & Supply

KPIFormulaWhat it answers
Supplier On-Time DeliveryK-12
Supplier OTD=∑s∈S1 ⁣[tsrcpt≤tsprom]∣S∣\text{Supplier OTD} = \frac{\sum_{s \in S} \mathbf{1}\!\left[t^{\mathrm{rcpt}}_{s} \le t^{\mathrm{prom}}_{s}\right]}{\lvert S \rvert}

Supplier OTD = PO schedules received within the declared window ÷ eligible PO schedules due

Where

ss
an eligible PO schedule line
SS
eligible PO schedule lines due in the period, after declared cancellations and exclusions
tsrcptt^{\mathrm{rcpt}}_{s}
date the cumulative dock receipt reached the committed quantity
tspromt^{\mathrm{prom}}_{s}
original supplier-confirmed receipt date (the window edge where a commercial receiving window applies)
1\mathbf{1}
1 when the test holds, else 0
Did the supplier deliver to your dock by the date they originally committed — at which receipt grain, against which promise, and after how much of the line arrived?

Manufacturing & Production

KPIFormulaWhat it answers
Schedule AttainmentK-08
Mix attainment=∑imin⁡ ⁣(ci, si)∑isiVolume attainment=∑ici∑isi\begin{aligned} \text{Mix attainment} &= \frac{\sum_{i} \min\!\left(c_i,\, s_i\right)}{\sum_{i} s_i} \\ \text{Volume attainment} &= \frac{\sum_{i} c_i}{\sum_{i} s_i} \end{aligned}

Mix attainment = Σ min(qty completed, qty scheduled) ÷ Σ qty scheduled; Volume attainment = Σ qty completed ÷ Σ qty scheduled

Where

ii
item × line or work center × schedule period
cic_i
quantity completed in the period
sis_i
quantity on the schedule frozen at the planning fence
Did production build what the schedule said, when it said — measured against which frozen schedule, on volume or on mix, and do overbuilds cancel shortfalls?
First Pass YieldK-13
FPY=∑ugood,1∑ustartedRTY=∏k=1KFPYk\begin{aligned} \text{FPY} &= \frac{\sum u^{\mathrm{good},1}}{\sum u^{\mathrm{started}}} \\ \text{RTY} &= \prod_{k=1}^{K} \text{FPY}_k \end{aligned}

FPY = Σ units first-pass good ÷ Σ units started

Where

ugood,1u^{\mathrm{good},1}
units that completed the declared boundary conforming on the first attempt, with no rework or scrap recorded inside it
ustartedu^{\mathrm{started}}
units started into the boundary in the period
FPYk\text{FPY}_k
first pass yield of serial operation k
kk
a serial operation in the routing
KK
the number of serial operations in the routing
RTY\text{RTY}
rolled throughput yield across K strictly serial operations
Of everything started into the process, how much came out conforming the first time — measured at which boundary, counted in which units, and with rework recorded where it can still be seen?

Showing all topics.

More metrics will follow. Each ships only when the definition and its decision switches have been worked through end to end.

The KPI tree

The dictionary defines 13 metrics one entry at a time. This is the map of how they fit together — which metrics are literally other metrics combined, which pairs are the same arithmetic read twice, and where this practice judges one metric to move another. Every line carries its reason, and the authored ones say so.

How to read it

None of these metrics stands alone. Cash-to-cash is three other metrics subtracted from each other. Perfect order is OTIF plus two more tests. OTIF is fill rate and on-time delivery evaluated jointly. Read one entry at a time and that is invisible; read them as a map and it is the first thing you see — which is also why a switch flipped in one entry quietly restates the number in another.

There are two kinds of line here and one honesty rule. A solid line is definitional: the arithmetic makes it true, and there is nothing to argue about. A dashed line is this practice’s judgment that one metric moves another — no coefficient, no promised effect size, and a written reason attached to every one of them. A dotted line is the same components aggregated a second way, which is why it has no arrowhead: neither end causes the other.

That distinction is the whole point. The dictionary’s thesis is that supply chain metrics are not standardized and somebody has to author them; a map of how they interact is exactly the same problem one level up. So the definitional edges and the authored ones are drawn differently, listed separately below, and the authored ones are labeled as judgment rather than as findings.

  • Decomposes into (definitional)
  • Influences (authored)
  • Same arithmetic, restated
  • Named, not yet an entry

What this map is not. Not a causal model: no edge carries a coefficient or a promised effect size. Not a benchmark: nothing in this map compares a number to an industry figure, and where the dictionary mentions a target it is an internal goal and says so. And deliberately not SCOR or any other published hierarchy — this map claims exactly as much authority as the reasons written beside its edges. (SCOR is a registered trademark of the Association for Supply Chain Management; it is named here only to say this map is not it.)

The tree

13 dictionary metrics and the 5 components their arithmetic needs, laid out in 4 tiers. Select any node — by click or by keyboard — to see what it decomposes into, what it is a component of, and what this practice judges to move it. Nothing below the canvas depends on the selection: every relationship drawn here is also written out, with its reason, just below.

18 nodes — 13 dictionary metrics and 5 named components — laid out in 4 tiers. The left and right arrow keys move along a tier, up and down move to the nearest node in the tier above or below, Home and End jump to the first and last, Enter or Space shows a node’s relationships, and Escape clears the selection. Every relationship shown here is also written out, with its reason, in the list just below the diagram — open “Every relationship, written out” to read them all.

Select a metric to see its relationships.

Every relationship, written out — all 18

Definitional — 3 metrics built from others
Cash-to-Cash Cycle Time
  • Days of Supply (DOS) (inventory leg (DIO)) — DIO is days of supply in dollars — the days-of-supply entry's formula says so — and the cash-to-cash entry warns the two must be one shared computation or they contradict each other in front of finance.
  • Days Sales Outstanding (DSO) (discussed in the dictionary) (receivables leg) — Cash-to-cash is DIO plus DSO minus DPO by definition; DSO is the receivables leg, struck against revenue under the classical convention.
  • Days Payable Outstanding (DPO) (discussed in the dictionary) (payables leg) — The payables leg, struck against cost of goods — subtracted, because supplier terms finance the cycle.
Perfect Order Rate
  • OTIF (on-time & in-full components) — The on-time and in-full tests of the perfect-order set, taken jointly at order grain, are OTIF — perfect order is OTIF plus the condition and billing tests.
  • Damage-Free Delivery (discussed in the dictionary) — The condition component of the classical perfect-order set — a line delivered in full that arrives damaged fails the order.
  • Invoice Accuracy (discussed in the dictionary) — The billing component of the classical set — the hardest to assemble, because disputes surface in receivables rather than in shipping.
OTIF
  • Fill Rate (the quantity half) — Fill rate is OTIF's in-full component measured alone — jointly tested inside OTIF and never multiplied with the time half, because late lines are disproportionately short lines.
  • On-Time Delivery (OTD) (discussed in the dictionary) (the time half) — OTD is OTIF's on-time component measured alone — a pass/fail clock with no quantity test.
Same arithmetic, restated — 2 pairs
  • Forecast Accuracy and Forecast Bias — Identical components from the same forecast-vs-actual fact: accuracy takes the absolute value, bias keeps the sign — which is why both entries score the same rows.
  • Inventory Turns and Days of Supply (DOS) — Days of supply is roughly 365 divided by turns — but only when both are built on identical bases; the same numerator family, inverted.
Authored judgment — 8 edges
  • Forecast Bias → Excess & Obsolete (E&O) — A consistent over-forecast accumulates stock one planning cycle at a time, and coverage measured against that same forecast hides the excess until the forecast is corrected.
  • Forecast Accuracy → Days of Supply (DOS) — Safety stock is sized against forecast error at the planning lag — the larger the error, the more coverage the buffer adds to on-hand.
  • Lead Time → Days of Supply (DOS) — Safety stock exists to absorb the lead-time tail; a longer or fatter-tailed distribution raises the buffer, and the buffer is on-hand — the days-of-supply numerator.
  • Lead Time → On-Time Delivery (OTD) (discussed in the dictionary) — The on-time test is a threshold drawn on the same clock lead time reads as a distribution — the distribution shifts, and OTD moves before any promise changes.
  • Schedule Attainment → Fill Rate — What production does not build against the frozen schedule, the first shipment cannot ship — mix misses surface downstream as first-pass fill misses.
  • Days of Supply (DOS) → Fill Rate — First-pass fill fails where coverage runs out; the coverage days of supply reports is the availability fill rate spends.
  • Supplier On-Time Delivery → Inventory Turns — Unreliable inbound receipts force planners to carry earlier and larger buffers; that raises average inventory for the same annual consumption and pushes turns down.
  • First Pass Yield → Schedule Attainment — Scrap and rework consume the very capacity the schedule was cut against — a unit that fails its first pass either never completes or completes late, so a first-pass miss surfaces as a schedule-attainment miss before any customer sees it.

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by SAP, Oracle, Microsoft, or Infor. Product names are trademarks of their respective owners.