Solutions Services ROI Calculator About Blog Contact Book 15 min →
KPIs

Demand Planning KPIs: Which to Track and How to Build the Dashboard

The indicators a demand planning and S&OP team should track: MAPE, WAPE, bias, coverage, turns, fill rate, OTIF and plan adherence, with formulas, levels and how to organize them in a dashboard.

Why measure (and what not to measure)

A demand planning team promises three things: forecast reasonably well, hold the right inventory and serve the customer. KPIs exist to know whether those three promises are kept and, when they are not, where the chain breaks: did the forecast miss? Was it right but purchasing did not follow it? Did the supplier deliver late?

The temptation is to measure everything. The result is a dashboard with forty indicators nobody reads. The rule we use: every KPI must answer a question someone asks to make a decision. No question, no KPI. Below, the ones that survive that rule, grouped in four families.

Forecast accuracy KPIs

They measure how far the forecast landed from actual sales. They are always computed with a defined lag (for example, the forecast made one month ahead) and on demand, not on sales if there were stock-outs.

MAPE (Mean Absolute Percentage Error)

MAPE = (1/n) × Σ | Actual − Forecast | / | Actual |

The average percentage error per period or per item. It is the best known and the most problematic: it is undefined when actuals are zero, it punishes the same absolute error far more on small items, and for that reason averaging MAPEs across a catalog says nothing useful. Use it per item, with continuous demand, and for conversation.

WAPE (Weighted Absolute Percentage Error)

WAPE = Σ | Actual − Forecast | / Σ Actual

The sum of absolute errors divided by the sum of demand. It weights each item by its volume, is not undefined with zeros and aggregates well from item to family to total. It is the accuracy indicator we recommend for the dashboard. Some companies publish it as accuracy (100 % minus WAPE).

Bias

Bias = Σ ( Forecast − Actual ) / Σ Actual

The signed error. A 20 % WAPE with zero bias means you are right on average but with dispersion; a 20 % WAPE with +18 % bias means the forecast runs systematically high, and that is inventory. Bias can be corrected; dispersion, not always. Convention: positive when forecast exceeds actual (over-forecast); it must be fixed and documented because every tool defines it differently.

Tracking signal

TS = Σ ( Actual − Forecast ) / MAD

The cumulative sum of errors divided by the mean absolute deviation (MAD). It works as an alarm: when it leaves the ±4 range, the model has stopped working for that item and needs review. It is useful in a large catalog where nobody can look at every series.

Forecast Value Added (FVA)

Compares the error of each step of the process (statistical model, planner adjustment, sales adjustment) against a naive method, for example the average of the last three months. It answers the uncomfortable question: do manual adjustments improve or worsen the forecast? In many teams, sales adjustments make it worse. Without this KPI nobody knows.

Inventory KPIs

KPIFormulaQuestion it answers
Coverage (days or weeks)Available inventory ÷ forecast daily demandHow long will what I have last?
TurnsAnnual cost of sales ÷ average inventoryHow many times a year do I renew stock?
ExcessInventory above target coverage, valuedHow much capital is surplus?
ObsolescenceInventory with no movement in N months, valuedHow much will not sell?
Actual vs theoretical safety stockInventory on order receipt ÷ computed safety stockIs the buffer sized right?

Coverage must be computed with forecast demand, not past demand: an item with 60 days of coverage entering high season is short. And always by item and family, never only the total: the average hides stock-outs on what moves and excess on what does not. How to size the buffer is explained in the article on safety stock.

Service KPIs

  • Fill rate: units delivered ÷ units ordered. Measures what share of demand was served. It is computed by order line, by order or by unit; decide which.
  • OTIF (On Time In Full): orders delivered complete and on date ÷ total orders. It is stricter than fill rate because an order with one missing line or one day late counts as failed.
  • Backorders: units or value committed without inventory to serve it. It is the snapshot of the shortage right now.

Service KPIs close the loop with inventory KPIs: if fill rate drops while total coverage rises, the problem is the mix, not the quantity.

S&OP process KPIs

  • Plan adherence: executed ÷ approved, for purchasing and production. If the plan is approved and purchasing then orders something else, S&OP is decorative. This KPI makes it visible.
  • Cycle punctuality: steps completed on the calendar date. A process that slips every month is dying.
  • Plan stability: how much the plan changes from one cycle to the next for the same months. A plan that changes 30 % every month is useless for buying or producing.

Levels, lag and frequency

The same KPI gives very different results depending on how it is sliced. Three decisions to make before computing anything:

  1. Aggregation level. Error at family level is always lower than at item level, and at country level lower than by customer. Define the level at which decisions are made (usually family by month for leadership, item for the planner) and measure there.
  2. Lag. The forecast made a month ago is more accurate than the one made three months ago. Measure with the lag used by whoever consumes the plan: if purchasing works three months ahead, the relevant KPI is the error at lag 3.
  3. Frequency. Forecast KPIs are computed once per cycle (monthly). Inventory and service KPIs, weekly or daily, because they feed execution.

And a fourth: save every version of the forecast. Without each cycle\'s snapshot there is no lag and no plan stability to measure. It is the first thing we check when a team says it cannot compute its accuracy: almost always last month\'s forecast was overwritten.

How to build the dashboard

An inventory and planning dashboard is built in this order, whether in Power BI or Excel:

  1. Questions by audience. Leadership wants to know whether the plan is met and how much capital is in inventory. The planner wants to know which items have bias and which are at risk of stock-out. Purchasing wants coverage by supplier. Three views, not one dashboard for everyone.
  2. Minimum data. Sales (and demand corrected for stock-outs), forecast by cycle with its generation date, available and in-transit inventory, customer orders, purchase orders and the master with the hierarchies. All with the same item key and the same calendar.
  3. Written definitions. A table with each KPI, its formula, level, lag and owner. It goes inside the dashboard. It avoids the monthly argument about which number is right.
  4. Data model. Fact tables (sales, forecast, inventory) and dimensions (item, customer, calendar). Measures are computed on the model, not in precalculated columns, so they aggregate correctly at any level.
  5. Visuals that answer questions. An indicator with its trend and target; an exceptions table (items with bias above X, coverage below Y); drill-down from family to item. Fewer charts, more action lists.
  6. Automatic refresh. ERP connection or scheduled extracts. A dashboard assembled by hand on Monday dies on the first busy Monday.

If you would rather have us build it with you, that is exactly DataSolve\'s dashboards and reporting service.

Common mistakes

  • Averaging MAPEs. The average of percentage errors per item is not the catalog error. Use WAPE or sum absolute errors and demand before dividing.
  • Measuring against sales when there were stock-outs. The forecast seems to over-forecast when in fact demand was there and product was not.
  • No defined lag. Comparing the "latest" forecast against actuals inflates accuracy, because that forecast was made with almost all the information.
  • Coverage with past demand. It biases the indicator exactly when it matters most: entering or leaving the season.
  • KPIs without target or owner. A number without a goal generates no action; a KPI without an owner never improves.
  • Changing definitions without notice. It breaks the historical series and trust. If a formula must change, it is documented and recalculated backwards.

Is your inventory report assembled by hand every Monday?

We design the dashboard around your questions, agree the definitions and connect it to your ERP so it refreshes itself.

See the dashboards service →

Frequently asked questions

MAPE or WAPE?

WAPE for almost everything. MAPE treats an item selling 5 units the same as one selling 5,000, and blows up when actuals are zero. WAPE weights by volume, so a large error on a small item does not distort the total. MAPE only makes sense item by item, and with care.

What is a good MAPE?

It depends on level and sector. At family and month level, a WAPE of 15 to 25 % is common in consumer goods; per item it can be double. More useful than the absolute number is the trend and the comparison against a naive method (the average of recent months): if your forecast does not beat it, something is wrong.

How many KPIs should the dashboard have?

Those that answer decision questions. A planning dashboard works well with six to eight: WAPE, bias, coverage, excess, fill rate, OTIF and plan adherence. The rest are detail views of those same ones.

Do I need Power BI?

Not necessarily. With one planner and data that fits in a sheet, Excel works. Power BI (or similar) matters when several areas consume the dashboard, you need to drill from family to item and the refresh must be automatic.

Want to apply this in your operation?

Book a 15-minute call. We will tell you where we would start with your data, no sales pitch.

Book 15 minutes →