Dimitris Dakos ΕΛ
Tool · Excel

ReorderOpt: inventory and demand planning in native Excel

ReorderOpt turns a product list and a daily sales export into reorder decisions, cash-at-risk figures and plain-language guidance for each SKU. Dimitris designed and built it from 20+ years of supply chain practice, to make the logic a planning team applies explicit and traceable, cell by cell.

Designed and built by
Dimitris Dakos
Runs in
Excel, native formulas, no macros
Scale
Up to about 2,000 SKUs per template
Status
In final testing
6forecasting methods, chosen per SKU
0macros or add-ins
16,000+traceable formulas in the 12-SKU demo
2,000SKUs in the largest template

How it works

The user pastes two things. Everything after the data check recalculates automatically.

  1. Product list

    One row per SKU: cost, price, supplier, lead time, MOQ, stock on hand.

  2. Sales history

    A daily sales export: SKU, date, units.

  3. Gate

    Data check

    Sort order, duplicates, negatives, blanks and capacity are checked first.

  4. Classify and forecast

    Each SKU is classified and routed to the forecasting method that fits its demand.

  5. Decide

    Reorder now or not, how many units, the cash needed and the next action; plus cash tied up, overstock and dead stock.

If the data check fails, no result downstream is trusted until the inputs are fixed.

The method

Every SKU is classified, routed to the forecasting method that fits its demand, and sized to a target service level. This is the logic a planning team applies, made explicit in formulas.

Classification, through several lenses

LensBased onSets
Value ABCAnnual usage value at costService level: A 97%, B 92%, C 85%
Margin ABCMarginFlags value-versus-margin conflicts for the owner
Velocity ABCUnits soldForecast granularity: daily, weekly or monthly
XYZVariability of daily demandX ≤ 20%, Y 20–50%, Z > 50%; frequent zero-sales weeks mean intermittent

Forecasting, routed by demand pattern

Demand patternMethod
Intermittent (Z)Croston with Syntetos–Boylan bias correction (SBA)
A or B, steady or variableSimple exponential smoothing; Holt when a trend is present
C, steady (X)Moving average
C, variable (Y)Simple exponential smoothing
SeasonalHolt-Winters with 2+ years of history, otherwise seasonal-naive or level × uplift
One-shot seasonal buyNewsvendor

Safety stock and reorder point

SS = z · √L·σd2 + d̄2·σL2

ROP = d̄·L + SS

Safety stock covers both demand variability and supplier lead-time variability, so the reorder point uses the average lead time and the risk is not counted twice. Lumpy demand gets an empirical reorder point instead of the normal-distribution one; one-shot seasonal buys use the newsvendor critical ratio.

The same run flags cash tied up, overstock, dead stock, failed launches, GMROI below 1 and an estimate of revenue lost to stockouts.

Design choices

Before the logic was built, the formula reference and the operating rules were cross-checked in four rounds, from 23 open issues to zero.

See it on real data

Dimitris is happy to walk through ReorderOpt in a conversation.

← Systems & AI