Edition 1·Updated 2026-10-03·23 min read
Sources
About this book
An overview of the book, with source information for further reading.
Inventory Optimization Models and Simulations
Nicolas VandeputA practical, code-driven guide to optimizing inventory policies through mathematical models and simulations, covering everything from the classic EOQ to multi-echelon networks and simulation optimization.
Inventory Optimization: Models and Simulations teaches supply chain practitioners and students how to decide how much and when to order, and where to hold stock, by building models step by step—from deterministic EOQ foundations to stochastic demand and lead times, fill-rate and cost optimization, non-normal (gamma) demand, multi-echelon networks, and finally simulation optimization for problems too complex for closed-form math. With no more than a handful of lines of Excel or Python per model, Nicolas Vandeput demystifies the black boxes of expensive software vendors, always exposing the assumptions behind each model so the reader knows when to trust it. The result is a hacker's toolkit for reducing costs and dead stock while hitting target service levels—grounded in decades of practical experience and rigorous, but accessible, mathematics.
Movement I
Orient
What this book claims, and who wrote it.
- — The book's one-line promise
- — The author and where the book stands
A practical, code-driven guide to optimizing inventory policies through mathematical models and simulations, covering everything from the classic EOQ to multi-echelon networks and simulation optimization.
The need-to-know
The EOQ balances holding costs against transaction costs, and is robust to estimation errors. Safety stock scales with the square root of the risk-period (lead time plus review period). Fill rate is impacted by both cycle and safety stock, while cycle service level is only impacted by safety stock.
About this guide
The guide describes these challenges, steps and possible outcomes.
Who it is for
A supply chain analyst, planner, or manager who wants to reduce inventory costs and dead stock while reliably meeting customer service levels.
Challenges
- In practice · Deciding how much and when to order, and where to hold stock, across complex supply chains with variable demand and unreliable lead times.
- For the reader · Feeling overwhelmed by confusing terminology, arbitrary service-level targets, and the black-box promises of expensive software vendors.
Steps to consider
- 1Start with deterministic models (EOQ, reorder points) to establish foundations.
- 2Add stochastic demand and lead times to compute safety stocks.
- 3Optimize service levels and costs, and handle non-normal (gamma) demand.
- 4Extend to multi-echelon networks to decide where to hold inventory.
- 5Use simulations to optimize policies too complex for closed-form math.
Risks
Persistent bad service levels combined with dead stock. Cash tied up in sleeping, depreciating inventory.
Intended result
Lower overall inventory costs and reduced dead stock. Reliably achieved target service levels understood and trusted by the team.
Set the record straight
What this book sets straight
The common beliefs this book pushes back on.
You should aim for a 100% (or 95%/99%) service level as a fixed target.
The optimal service level is derived from holding and backorder costs (1 - hR/b), and 100% requires infinite safety stock.
Demand and lead times can be modeled as normal distributions.
Real demand and lead times are often right-skewed and strictly positive, so gamma or custom discrete distributions are frequently more appropriate.
Lead time equals transportation time.
Lead time includes review periods, production, planning, preparation, and many waiting times that accumulate along the supply chain.
Each echelon should optimize its own inventory locally.
Global multi-echelon optimization prevents bullwhip effects and can cut inventory 10-40% while maintaining service.
A complex, highly accurate model is always better.
A model that is 80% accurate but trusted and used beats a 95% accurate one that is never understood or applied.
Movement II
Map
The book's main ideas and how they connect.
Inventory Optimization Models and Simulations's own model — and how it sits inside its field.
- — 12 constructs the book works with
- — Where it agrees with the field, exceeds it, or fills a gap
The constructs
How they connect (15)
- Order Quantity → influences → Total Supply Chain Cost
- Demand Variability → predicts → Safety Stock
- Lead Time Variability → predicts → Safety Stock
- Review Period → predicts → Safety Stock
- Safety Stock → predicts → Service Level
- Safety Stock → predicts → Backorders and Units Short
- Order Quantity → influences → Service Level
- Safety Stock → predicts → Inventory Level
- Inventory Level → predicts → Total Supply Chain Cost
- Backorders and Units Short → predicts → Total Supply Chain Cost
- Cost Structure → moderates → Service Level
- Service Level → influences → Total Supply Chain Cost
- Total Supply Chain Cost → predicts → Profit
- Supply Chain Network Topology → moderates → Inventory Level
- Demand Variability → predicts → Total Supply Chain Cost
Where this book diverges from the corpus
- exceeds The field folds order quantity into a general replenishment-rule construct, while the book treats it as a distinct design lever with an explicit transaction-versus-holding cost tradeoff (the pre-match to Work Order System Discipline is a false name overlap).
- exceeds The field names review period only as one parameter inside inventory policy, whereas the book makes it a separate construct and links it to the risk period over which variation must be covered.
- exceeds The field includes safety stock as a policy parameter, but the book gives the quantitative sizing logic (service level factor times the square root of the risk period).
- exceeds The field covers cost reduction as an outcome, but not the holding, transaction, and backorder cost configuration that determines optimal order quantities and service levels.
Movement III
Master
Explore the book's ideas, examples and practical tools.
How the author makes the case — section by section, with the book's own tools.
- — 12 sections, in the book's order
- — The book's frameworks, checklists, and worked cases
strong · 1 source
- Inventory Optimization Models and Simulations
This section describes how to set the holding, ordering, and shortage cost parameters that shape the optimum. You learn how to estimate each and test how sensitive the answer is.
Cost Structure
The configuration of holding costs, transaction/ordering costs, and backorder or shortage costs that a supply chain faces; a contextual condition that determines optimal order quantities and service levels.
Why it matters. The optimal batch size and service level are outputs of these cost numbers, so a wrong estimate moves the whole policy to the wrong place.
Myth
Backorder or shortage cost is unknowable, so teams should simply fix a service level target and skip it.
Reality
A target service level implicitly encodes a shortage cost, so skipping the estimate hides the assumption instead of removing it. Making the implied penalty explicit lets you check whether the target is justified by margins and customer behavior.
- Cost StructureFramework — How this mechanism is run, step by step, as the literature describes it.
- Cost Structure — decision rulesChecklist — 5 checkpoints
- Cost StructureCase study — Real context from the source: US inventory costs were about $500 billion in 2018 (about 2% of GDP), spread roughly equally across financial costs, storage costs and other costs such as obsolescence, handling and insurance.
- Total Supply Chain CostCase study — The source gives no numeric case, so these inputs are illustrative assumptions.
- Cost Structure Worksheet (holding / transaction / shortage)Template
- Cost structure determines the optimal quantity and the service level you should aim for, so estimate it carefully.
- Any service target implies a shortage cost, so make it explicit and challenge it.
- Sensitivity analysis reveals which cost estimates deserve more effort.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Cost Structure Worksheet (holding / transaction / shortage)” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 5 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section explains how to define and choose a service target, and why the measure you pick changes the answer. You get guidance on matching the metric to what customers experience.
Service Level
The performance state describing the probability or fraction of demand fulfilled on time, measured as cycle service level, period service level, or fill rate; a behavioral state balancing customer satisfaction against cost.
Why it matters. Choosing the wrong service metric or the wrong target either wastes buffer or breaks promises to customers, and the two metrics can differ by large margins.
Myth
A 95 percent service level means that 95 percent of demand is filled.
Reality
Cycle service level measures the chance of no stockout in a cycle, while fill rate measures the share of units filled, and the two can diverge widely, especially with large batch sizes. A policy with 95 percent cycle service can deliver a fill rate well above that.
- Service Level — decision rulesChecklist — 5 checkpoints
- Service LevelCase study — The source's own situation: management hands the planner a service level target, and the planner translates it into 'we take x weeks of average demand as safety stock.' Run it properly.
- Service Level Definition & Target CardTemplate
- Cycle service level and fill rate are different quantities, and fill rate usually exceeds cycle service when batches are large.
- Service targets should differ by item economics, not be uniform.
- Specify the metric before specifying the percentage.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Service Level Definition & Target Card” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 3 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section shows how to quantify expected shortfall per cycle and what it costs. You learn to move from stockout probability to units short and their financial effect.
Backorders and Units Short
The expected quantity of demand that cannot be served directly from on-hand inventory, resulting in backorders or lost sales; a behavioral state that incurs penalty and goodwill costs.
Why it matters. Cost comes from the volume short and the penalty on each unit, not from the mere occurrence of a stockout, so ignoring size misprices risk.
Myth
Fewer stockout events always means lower shortage cost.
Reality
Shortage cost depends on expected units short, so one rare but deep stockout can cost more than frequent shallow ones. Two policies with the same stockout probability can have very different expected shortage.
- Backorders and Units ShortFramework — How this mechanism is run, step by step, as the literature describes it.
- Backorders and Units Short — decision rulesChecklist — 5 checkpoints
- Backorders and Units ShortCase study — Take the source's fixed reorder point policy: 'Order 10 when less than 3 left' (s = 3, Q = 10).
- Units-Short Cycle Log and Policy ComparisonTemplate
- Expected units short, not stockout frequency, drives shortage cost.
- Whether shortages become backorders or lost sales changes both cost and inventory behavior.
- Added buffer reduces shortage at a diminishing rate.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Units-Short Cycle Log and Policy Comparison” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 4 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section covers the on-hand, cycle, and in-transit inventory profile over time and how it translates into carrying cost. You learn to read the sawtooth and to size the average.
Inventory Level
The physical on-hand, cycle, and in-transit inventory held in the supply chain over time; a state driving holding costs and cash tied up, fluctuating between safety stock and cycle plus safety stock bounds.
Why it matters. Average inventory is what you pay to hold, so misreading it, particularly by omitting pipeline stock, misstates both cash tied up and holding cost.
Myth
Average inventory is simply half the order quantity.
Reality
That figure covers only cycle stock; the average also includes safety stock, and in-transit pipeline inventory can be large for long lead times. The level swings between safety stock and safety stock plus the batch size.
- Inventory LevelFramework — How this mechanism is run, step by step, as the literature describes it.
- Inventory Level — decision rulesChecklist — 5 checkpoints
- Inventory LevelCase study — The numbers below are assumed for illustration; only the formulas come from the source.
- Average inventory equals half the batch plus safety stock plus pipeline, not half the batch alone.
- Holding cost follows average level, so buffer and batch decisions both show up here.
- Simulated paths reveal peaks and gaps the average hides.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Inventory Level Decomposition Sheet” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 3 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section shows how to combine holding, ordering, and shortage costs into one objective and use it to compare policies. You get a method to find the cheapest policy that still meets service targets.
Total Supply Chain Cost
The aggregate of holding, transaction, and backorder costs incurred by an inventory policy; the primary outcome metric that inventory optimization seeks to minimize while meeting service targets.
Why it matters. The total is the objective that policies are judged on, so leaving a component out will steer you to a policy that looks cheap and performs badly.
Myth
Minimizing total cost means cutting inventory, since holding cost is the most visible component.
Reality
The components trade off: lowering inventory raises shortage and often ordering costs. The minimum sits where marginal holding cost equals marginal shortage and ordering savings, which is often at a higher inventory than managers expect.
- Total Supply Chain CostFramework — How this mechanism is run, step by step, as the literature describes it.
- Total Supply Chain Cost — decision rulesChecklist — 5 checkpoints
- Total cost is minimized where the marginal components balance, which is rarely at minimum inventory.
- Compare policies using common random numbers and enough replications.
- Show all three cost components so trade-offs are traceable.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Total Cost Worksheet for One SKU” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 2 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section links inventory policy cost to the final profit outcome. You learn when cost minimization is a valid proxy and when revenue effects must be included.
Profit
Sales revenue minus purchasing, holding, transaction, and backorder costs; the ultimate outcome the supply chain seeks to maximize, of which cost minimization is the primary lever when opportunity costs are included.
Why it matters. If service affects sales, minimizing cost alone can select a policy that loses more revenue than it saves.
Myth
Minimizing total supply chain cost always maximizes profit.
Reality
This holds only if revenue is independent of the policy. When stockouts lose sales or deter future customers, the cheapest policy can lower profit, so you must include the opportunity cost of missed sales.
- ProfitFramework — How this mechanism is run, step by step, as the literature describes it.
- ProfitCase study — The source's muffin case shows how the cost components combine.
- Profit Cost-Stack Worksheet (per SKU)Template
- Cost minimization maximizes profit only when revenue does not depend on service.
- Include lost-sales opportunity cost in the shortage penalty.
- Check where the profit-optimal and cost-optimal policies diverge.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Profit Cost-Stack Worksheet (per SKU)” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 3 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section covers how the structure of stocking nodes and echelons determines where inventory should sit. You learn to choose between local and network-wide optimization.
Supply Chain Network Topology
The structure of stocking nodes and echelons (serial, assembly, distribution, general) and whether inventory is optimized locally or globally; a contextual condition governing where inventory should be located.
Why it matters. Optimizing each node in isolation duplicates buffers across echelons and can inflate total network inventory when central coordination would cut it.
Myth
Each location can be optimized on its own and the results summed, giving a network-optimal result.
Reality
Nodes are coupled: upstream service sets downstream lead time and variability, and pooling at central nodes cuts total buffer. Local optima combined typically hold more inventory than a coordinated design.
- Supply Chain Network TopologyFramework — How this mechanism is run, step by step, as the literature describes it.
- Supply Chain Network Topology — decision rulesChecklist — 5 checkpoints
- Supply Chain Network TopologyCase study — The chapter's locally optimized network (Figure 10.4) has three nodes: a production facility, a regional hub and a distribution center.
- Network Topology & Optimization Scope SheetTemplate
- Network structure determines where the same buffer is most effective, and pooling can lower total stock.
- Optimize globally when nodes are linked, since local results summed overstate the inventory needed.
- Upstream service performance becomes downstream lead time variability.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Network Topology & Optimization Scope Sheet” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 4 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section shows how to choose the per-replenishment batch size and why it sits at the center of the cost and service trade-off. You get a way to test a quantity rather than inherit it from habit or supplier minimums.
Order Quantity
The fixed number of units ordered or produced per replenishment; a core design lever that balances transaction costs against holding costs and cycle stock levels in the supply chain.
Why it matters. A batch size set too high buries cash in cycle stock, and one set too low multiplies ordering transactions and stockout exposure at each replenishment point.
Myth
The economic order quantity formula gives the right batch size, so once you compute it the decision is finished.
Reality
The cost curve around the optimum is flat, so modest deviations for pallet sizes or truckloads cost little. The formula also ignores service targets and demand uncertainty, so the quantity must be re-tested in simulation against the service level you must hit.
- Order QuantityFramework — How this mechanism is run, step by step, as the literature describes it.
- Order Quantity — decision rulesChecklist — 5 checkpoints
- Review PeriodCase study — Take the source's Figure 1.2 policy: 'Order up to 13 every 5 days' with immediate replenishment.
- Order Quantity Design SheetTemplate
- Total Cost Worksheet for One SKUTemplate
- Order quantity trades transaction cost against cycle stock, and the total cost is flat near the optimum, so you can round to practical units cheaply.
- Quantity also affects service level because it sets how many replenishment cycles, and so stockout windows, occur per year.
- Treat the formula output as a hypothesis and validate it by simulation.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Order Quantity Design Sheet” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 5 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section explains the interval between inventory checks and why it lengthens the window you must protect. You learn to treat it as a design choice, not a calendar inheritance.
Review Period
The fixed time interval between consecutive inventory reviews or ordering opportunities in a periodic review policy; determines how long the supply chain must be protected against demand variation.
Why it matters. Because safety stock must cover demand over the review period plus lead time, a poorly chosen interval silently inflates buffer inventory across every item.
Myth
The review period only affects how much administrative work planners do, so it can follow the weekly or monthly planning rhythm.
Reality
Every extra day between reviews adds a day of demand uncertainty that safety stock must absorb, since you cannot react until the next review. The interval is a direct input to buffer size and cost, not a scheduling convenience.
- Review PeriodFramework — How this mechanism is run, step by step, as the literature describes it.
- Review Period — decision rulesChecklist — 5 checkpoints
- Order QuantityCase study — The book's own policy is "Order 10 when less than 3 left": s = 3, Q = 10.
- Review period extends the protection interval to review plus lead time, which directly raises the safety stock needed.
- Shortening the interval helps most on high-variability, high-value items, where the buffer saved outweighs the added review effort.
- Choose intervals by item class, not by the planning calendar.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Review Period Protection Worksheet” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 3 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section covers how to size the buffer that absorbs demand and lead time surprises. You get the logic that links variability, risk period, and target service to a stocking number.
Safety Stock
The buffer inventory held to protect against demand and lead time variability so that a desired service level can be achieved; scales with the service level factor and the square root of the risk-period.
Why it matters. Buffer sized too thin causes stockouts that cost sales and goodwill, while buffer sized too thick locks up working capital with little service gain.
Myth
Safety stock is a fixed percentage cushion, such as two weeks of demand, that works across items.
Reality
The right buffer scales with variability, the service factor, and the square root of the risk period, so identical weeks-of-cover produce wildly different service across items. Uniform rules over-protect stable items and under-protect volatile ones.
- Safety StockFramework — How this mechanism is run, step by step, as the literature describes it.
- Service LevelFramework — How this mechanism is run, step by step, as the literature describes it.
- Demand Variability — decision rulesChecklist — 5 checkpoints
- Lead Time Variability — decision rulesChecklist — 5 checkpoints
- Profit — decision rulesChecklist — 5 checkpoints
- Safety Stock — decision rulesChecklist — 5 checkpoints
- Demand VariabilityCase study — The passages give the formulas but no demand data, so these numbers are illustrative.
- Lead Time VariabilityCase study — The source's illustration is a supplier whose lead time follows a normal distribution with mean 20 and standard deviation 5 (Figure 6.2).
- Safety StockCase study — The source's Figure 7.7 uses demand d ~ N(100, 25²) per period with a fixed 50 pieces of safety stock, and varies the review period.
- Inventory Level Decomposition SheetTemplate
- Lead Time Variability WorksheetTemplate
- Review Period Protection WorksheetTemplate
- Safety Stock Sizing SheetTemplate
- Safety stock grows with the square root of the risk period, not linearly, which makes pooling and shorter intervals powerful.
- Each point of extra service costs progressively more buffer, so the final few points are the most expensive.
- A weeks-of-cover rule gives uneven protection, so size by variability.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Safety Stock Sizing Sheet” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 13 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section shows how to measure the spread of demand around its mean and carry it into policy. You learn which statistic to use and where measurement typically goes wrong.
Demand Variability
The degree to which actual demand fluctuates around its mean over time, captured by the demand standard deviation and coefficient of variation; a contextual condition that drives the need for safety stock.
Why it matters. Understating variability makes every downstream buffer and service promise optimistic, and overstating it wastes cash on unneeded stock.
Myth
Forecast accuracy and demand variability are the same, so a good forecast removes the need for buffer.
Reality
Safety stock protects against forecast error, not raw variation, but forecasts rarely eliminate error at the horizon of the lead time. Variability measured around a poor forecast, or around the mean, gives very different buffers, so you must state which you are using.
- Demand VariabilityFramework — How this mechanism is run, step by step, as the literature describes it.
- Lead Time VariabilityFramework — How this mechanism is run, step by step, as the literature describes it.
- SKU Demand Variability & Safety Stock SheetTemplate
- Demand variability drives both buffer size and total cost, so measuring it badly distorts the whole policy.
- Match the time bucket of your variance estimate to the risk period before you size stock.
- Segment items by coefficient of variation instead of applying one policy.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “SKU Demand Variability & Safety Stock Sheet” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for · 3 tools for this section. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
strong · 1 source
- Inventory Optimization Models and Simulations
This section covers how to capture the fluctuation of replenishment lead times, including queues and waiting. You get ways to measure it and to see its effect on buffer needs.
Lead Time Variability
The degree to which supply lead times fluctuate around their mean, including all accumulated waiting times; a contextual condition requiring additional safety stock and complicating inventory policy optimization.
Why it matters. Unmeasured lead time variability makes buffers look adequate on paper while real deliveries arrive late and cause stockouts.
Myth
If the supplier quotes a reliable average lead time, variability in delivery is a minor effect that can be ignored.
Reality
Lead time variance multiplies with demand level, so a few days of delay on a high-volume item can outweigh demand uncertainty entirely. The quoted lead time often leaves out accumulated waits such as order processing, transit queues, and receiving delay.
- Lead time variance adds to buffer needs in proportion to demand squared, so it matters most for fast movers.
- Measure lead time from order to usable stock, not from quote to shipment.
- Reducing variability at the source can be cheaper than holding stock to cover it.
The deep drill-down: 8 operational steps, a worked example from the source, 5 decision rules, 5 failure modes, and the “Lead Time Variability Worksheet” tool. Included when you buy this guide.
The rest of this section
the full written section · 4 how-to steps · 2 pitfalls to watch for. Included when you buy this guide.
Grounded in: Inventory Optimization Models and Simulations
Movement III · The run-it-now depth
The Playbook
Practical tools and examples from this guide.
Frameworks
Backorders and Units Short
How this mechanism is run, step by step, as the literature describes it.
- 1Separate the two outcomes before measuring anything. A stockout ends in a backorder (the client waits and is frustrated) or a lost sale (the client goes to the competition). The source states you often cannot tell which happened in the short term, so record every unmet unit as 'short' first and classify it later.
- 2Fix the policy you are measuring, because units short are a property of the policy and its parameters. Write it in the book's notation: (s, Q) continuous review, (R, S) periodic order-up-to, or (R, s, Q) periodic with a reorder point. Note the review period R, reorder point s, order quantity Q or up-to level S, and the replenishment lead time.
- 3Locate the exposure window. The risk sits between the moment stock hits the reorder threshold and the moment the order arrives. In a periodic policy the review period adds blind time, because you may be 'blocked from making an order when you need it'. The (R, s, Q) policy is riskier still, since it only orders if stock reaches the threshold. List these windows per item.
- 4Log demand that arrives when on-hand is zero or insufficient as units short, per order cycle. Take the average across cycles as your expected units short. Keep demand, on-hand and orders in the same time buckets so cycles compare cleanly.
- 5Where the policy is too complex to solve analytically, such as (R, s, Q), (R, s, S) or multi-sourcing with an emergency lane, estimate expected units short by simulation (the source's Chapter 13 approach). Do not force a tractable formula onto a policy it does not fit.
- 6Price the shortage with explicit, bounded assumptions. The source says backorder and lost-sale costs are hard or impossible to evaluate. Short term, you do not know if the client leaves, and the client may buy a substitute, possibly a more expensive one. Long term, brand damage and word of mouth matter. Pick a penalty range, not a point value, and test how the optimal policy moves across that range.
- 7Compare policies on expected units short against inventory held. A policy with a review period or an extra order condition needs more safety stock to hold the same shortage level. Quantify that extra stock as the price of the convenience.
- 8Re-check after each change to lead time, review period or demand variability. These are the drivers of shortage, and the source notes that variability is rising and lead times are lengthening.
Cost Structure
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Demand Variability
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Inventory Level
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Lead Time Variability
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Supply Chain Network Topology
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Order Quantity
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Profit
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Review Period
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Safety Stock
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Service Level
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Total Supply Chain Cost
How this mechanism is run, step by step, as the literature describes it.
◆ The full 8-step framework — included with this guide purchase
Checklists
Backorders and Units Short — decision rules
- If you cannot tell whether unmet demand was waited out or lost, then log it as 'units short' and classify later rather than assuming backorder.
- If the policy has a review period or a conditional order (R, s, Q), then expect higher units short at equal stock, and either add safety stock or accept the shortage.
- If the policy is too complex for a tractable model ((R, s, Q), (R, s, S), multi-sourcing), then estimate units short by simulation.
- If the shortage cost is uncertain, then test the policy across a range of penalty values and choose the setting that holds up across the range.
- If lead time or demand variability changes, then recompute expected units short before trusting the old reorder point.
Cost Structure — decision rules
◆ All 5 checkpoints — included with this guide purchase
Demand Variability — decision rules
◆ All 5 checkpoints — included with this guide purchase
Inventory Level — decision rules
◆ All 5 checkpoints — included with this guide purchase
Lead Time Variability — decision rules
◆ All 5 checkpoints — included with this guide purchase
Supply Chain Network Topology — decision rules
◆ All 5 checkpoints — included with this guide purchase
Order Quantity — decision rules
◆ All 5 checkpoints — included with this guide purchase
Profit — decision rules
◆ All 5 checkpoints — included with this guide purchase
Review Period — decision rules
◆ All 5 checkpoints — included with this guide purchase
Safety Stock — decision rules
◆ All 5 checkpoints — included with this guide purchase
Service Level — decision rules
◆ All 5 checkpoints — included with this guide purchase
Total Supply Chain Cost — decision rules
◆ All 5 checkpoints — included with this guide purchase
Case studies — including what didn't work
Backorders and Units Short
Take the source's fixed reorder point policy: 'Order 10 when less than 3 left' (s = 3, Q = 10). A client-visible cycle runs like this. Stock drops to 2, so you order 10 (you still order only 10, not more, because the quantity is fixed). While the order is in transit, suppose 5 more units are demanded. This is an illustrative number, not from the source. Only 2 can be served, so 3 units are short. If the clients wait, those 3 are backorders. If they leave, they are lost sales. The source stresses you cannot know which in the short term, so log '3 short' for this cycle. Repeat this across many cycles and average the result to get expected units short for (s = 3, Q = 10). If you moved to the periodic (R, s, Q) variant, 'every 4 days, order 10 only if stock reaches 5', the exposure window lengthens by the review gap, and the source says extra safety stock must compensate for it.
Cost Structure
Real context from the source: US inventory costs were about $500 billion in 2018 (about 2% of GDP), spread roughly equally across financial costs, storage costs and other costs such as obsolescence, handling and insurance. Holding cost is therefore a multi-part number, not just the cost of capital. Illustrative calculation (the numbers below are invented to show the arithmetic from the source formulas). Take D = 1,200 units/year, c = €10, h = 20% so h·c = €2/unit·year, and k = €50 per order. At Q = 100: holding = 2×100/2 = €100; transactions = 50×(1,200/100) = €600; total €700 (excluding the constant c_T·D). At Q = 400: holding €400, transactions 50×3 = €150, total €550. At Q = 200: €200 + €300 = €500. At Q = 300: €300 + €200 = €500. The cheapest quantities lie between the extremes, because holding cost climbs with Q while transaction cost falls. If change-over improvements halve k to €25, transaction cost at Q = 200 falls to €150, so the same total (€350) is reached with a smaller Q. That is the lean point in the source: lower fixed transaction costs mean a lower optimal order quantity and less inventory.
◆ What happened, and the outcome — included with this guide purchase
Demand Variability
The passages give the formulas but no demand data, so these numbers are illustrative. Take two SKUs with the same mean weekly demand μd = 100, a 4-week exposure window (τ = 4) and a 95% cycle service level (zα = Φ⁻¹(0.95) ≈ 1.645). SKU A has σd = 40 per week, so CV = 0.40. SKU B has σd = 10 per week, so CV = 0.10. Safety stock for A is 1.645 × 40 × √4 ≈ 132 units. For B it is 1.645 × 10 × √4 ≈ 33 units. A flat rule of 'one week of average demand' gives both SKUs 100 units. That overprotects B threefold and underprotects A. The source warns that such rules ignore each product's own demand variability. The only input that differs between the two is σd, which is why σd and CV have to be measured per SKU.
◆ What happened, and the outcome — included with this guide purchase
Inventory Level
The numbers below are assumed for illustration; only the formulas come from the source. Take d = 10 units/day and L = 5 days. Under (s, Q) with Q = 100, s = d·L = 50, cycle stock = ½·Q = 50 and in-transit = d·L = 50. Under (R, S) with R = 10 days, S = d·L + d·R = 50 + 100 = 150, cycle stock = ½·d·R = 50 and in-transit = 50. A planner who reads 'target stock 150' as the expected inventory expects 150 units on-hand. The model says expected on-hand is only about 50, plus safety stock. This is the source's 'confusion curse': the gap between the up-to level and the expected physical inventory widens as lead time grows, and it worsens when orders are placed while others are still waiting to be received. Reading the target as the expected level overstates stock and cash tied up. The source's real-world anchor is the U.S. Census Bureau figure of roughly 1.4 months of sales held by manufacturers, wholesalers and retailers. Use that as a sanity check on your own inventory-to-sales ratio.
◆ What happened, and the outcome — included with this guide purchase
Lead Time Variability
The source's illustration is a supplier whose lead time follows a normal distribution with mean 20 and standard deviation 5 (Figure 6.2). Assume a product sold at a constant amount each day, here a hypothetical d = 100 units/day (the number is mine, not the source's). Average lead-time demand is 20 × 100 = 2,000 units. A delivery at the mean arrives on time only about half the time, so half the orders land late and the on-hand stock is at risk of depletion. For a 95% cycle service level, z = 1.645, so cover 20 + 1.645 × 5 ≈ 28.2 days of demand. With fixed demand the safety stock is z·σ_L·d ≈ 1.645 × 5 × 100 ≈ 822 units, and the reorder trigger covers about 2,822 units. If the supplier's σ_L fell to 2.5, the buffer would halve to about 411 units. The cost of the reliability gap is therefore visible in units. The upside runs the other way: when the supplier is early, you hold surplus inventory and pay useless holding costs.
◆ What happened, and the outcome — included with this guide purchase
Supply Chain Network Topology
The chapter's locally optimized network (Figure 10.4) has three nodes: a production facility, a regional hub and a distribution center. Each node picks its own safety stock, order quantity and review period, and can change them without telling the others. The passages warn that this siloed set-up lets the slightest change in external demand drastically hit the chain, and that nodes may chase profitable stock to the detriment of the whole. Classify it first. It is a three-echelon chain with no branching, so it fits the serial case, with the production facility as the supply echelon and the distribution center as the demand echelon. The fix is a global optimization (MEIO) with aligned policies, not three independent ones. Now take a distributor with one central warehouse and several shops, which is a distribution topology. Pooling two shops of equal demand deviation σ gives σ√(2+2ρ). At ρ = 0 that is about 1.41σ, not 2σ, so safety stock grows far less than the sum of the two. At ρ = 1 it is exactly 2σ and pooling gains nothing. In both cases, supply-side variability stays untouched. Handling costs rise and total lead time may lengthen.
◆ What happened, and the outcome — included with this guide purchase
Order Quantity
The book's own policy is "Order 10 when less than 3 left": s = 3, Q = 10. The stock falls to 2 pieces, below the reorder point of 3. You still order exactly 10, not 11 or 8, because with a reorder point the quantity is always fixed. The time between orders varies as demand varies. The same logic applies at home: with 2 bottles of milk left, you buy 6. Now compare the periodic alternative, "Order up to 13 every 5 days" (R = 5, S = 13). Illustratively, with 2 units on hand at review you order 13 − 2 = 11 units, and with 5 on hand you order 8. The schedule is fixed and the quantity moves every time. A third option, "Order 10 pieces every 4 days only if inventory level reaches 5 pieces," keeps both a fixed schedule and a fixed Q of 10. It suits a supplier who ships on a calendar and a product that is palletized or rebated by the full unit load.
◆ What happened, and the outcome — included with this guide purchase
Profit
The source's muffin case shows how the cost components combine. A muffin sells for 2€, and any leftover sells for 1€. Because the leftover brings in salvage revenue, the overage cost is reduced to 1€, per the passage. This follows c_o = c − s_v, because leftovers cannot be sold in a later period. Now the other side: if you run out, you lose the sale and forfeit the profit p − c, which is 2€ minus the purchase cost (the purchase cost is not given in the excerpt). That forfeited profit is the underage cost, an opportunity cost rather than cash out of pocket. Change one assumption to see the sensitivity. If the leftovers had to be disposed of at a fee, as with hazardous goods, that fee would be added to the purchase cost and the overage cost would rise. Ordering one extra unit gets more expensive on the overage side and the right order quantity falls. The decision is never 'avoid stock-outs' or 'avoid leftovers' in the abstract. It is a comparison of the two per-unit costs, with profit hidden inside the underage cost.
◆ What happened, and the outcome — included with this guide purchase
Review Period
Take the source's Figure 1.2 policy: 'Order up to 13 every 5 days' with immediate replenishment. The review period is 5 days and S = 13. At one review you count 4 units of net inventory, so you order 9. At the next you count 2, so you order 11. The schedule never moves while the quantity always does. Now use the source's supplier calendar: you order every Friday evening, the supplier prepares the order Monday morning and delivers Tuesday. Suppose you run out of stock on Monday evening. You cannot place an order until the next Friday, four days later, and only after that does the delivery cycle begin. Safety stock must cover that exposure window, so a safety stock computed from lead time alone leaves you short. The review period belongs in the calculation, which is the omission the source says practitioners most often make.
◆ What happened, and the outcome — included with this guide purchase
Safety Stock
The source's Figure 7.7 uses demand d ~ N(100, 25²) per period with a fixed 50 pieces of safety stock, and varies the review period. As the order cycle gets longer, the fill rate stays virtually unchanged at around 95%, while the cycle service level falls to around 60–70%. The reason is that cycle stock guarantees fill rate in long cycles, but the cycle service level depends only on whether the 50 pieces survive the high-risk stretch at the end of the cycle. The risk-period scaling shows the mechanism (my arithmetic, assuming normal demand; the source does not give the exact cycle lengths). With a 1-period risk window, σ = 25 and 50 pieces is z = 2, a cycle service level of about 97.7%. With a 4-period window, σ = 25 × √4 = 50, so the same 50 pieces is z = 1, or about 84%. The buffer stays the same while its protection drops. Judged only by the cycle service level, the policy looks like it is failing, yet customers still receive about 95% of units.
◆ What happened, and the outcome — included with this guide purchase
Service Level
The source's own situation: management hands the planner a service level target, and the planner translates it into 'we take x weeks of average demand as safety stock.' Run it properly. Step 1: ask which metric the target is. If it is a cycle service level, it is the probability of no stockout in a replenishment cycle. Step 2: note that the ERP records fill rate, which is the fraction of demand served from stock. Because β > client service level > α_p > α over the long term, a recorded fill rate above the cycle target does not mean the policy is over-protected. The two measure different things. Step 3: replace 'x weeks' with a calculation from the product's demand variation over lead time plus review period. Compute that variation in the same buckets as replenishment: if the chain reviews weekly, use weekly forecast error, not a monthly deviation divided by 22. Step 4: because positive auto-correlation (a sunny Saturday followed by a sunny Sunday) makes the model undershoot required safety stock, watch realized service for undershoot. Step 5: track average backlog per period divided by average period demand as a conservative fill-rate proxy. The result is one stated metric, one target, and one cross-check, instead of a single unexplained percentage.
◆ What happened, and the outcome — included with this guide purchase
Total Supply Chain Cost
The source gives no numeric case, so these inputs are illustrative assumptions. Take D = 1,000 units/year, k = 50 per order, h = 2 per unit-year, cT = 1 per unit. Setting hQ/2 = kD/Q gives Q* = √(2kD/h) = √50,000 ≈ 223.6 units. Holding cost = 2 × 223.6/2 ≈ 223.6 and transaction cost = 50 × 1,000/223.6 ≈ 223.6, so C(Q*) ≈ 447.2, and the two equal each other as the source predicts. Add cT·D = 1,000 and the reported total is ≈ 1,447.2. Ordering 500 at a time costs 500 + 100 = 600 against 447.2, and ordering 100 at a time costs 100 + 500 = 600. Cutting k from 50 to 25 gives Q* ≈ 158.1 and C ≈ 316.2: smaller batches and less stock, as the source says about lean practice. None of these figures includes backorder cost, which sits outside this model.
◆ What happened, and the outcome — included with this guide purchase
Templates
Units-Short Cycle Log and Policy Comparison
Cost Structure Worksheet (holding / transaction / shortage)
◆ The fillable template — included with this guide purchase
SKU Demand Variability & Safety Stock Sheet
◆ The fillable template — included with this guide purchase
Inventory Level Decomposition Sheet
◆ The fillable template — included with this guide purchase
Lead Time Variability Worksheet
◆ The fillable template — included with this guide purchase
Network Topology & Optimization Scope Sheet
◆ The fillable template — included with this guide purchase
Order Quantity Design Sheet
◆ The fillable template — included with this guide purchase
Profit Cost-Stack Worksheet (per SKU)
◆ The fillable template — included with this guide purchase
Review Period Protection Worksheet
◆ The fillable template — included with this guide purchase
Safety Stock Sizing Sheet
◆ The fillable template — included with this guide purchase
Service Level Definition & Target Card
◆ The fillable template — included with this guide purchase
Total Cost Worksheet for One SKU
◆ The fillable template — included with this guide purchase
Items marked Paid are included when you buy this guide.
Movement IV
Reflect
Consider the book's evidence, limitations and how it compares with other sources.
How good is it — where the book stands against the field, what it leaves open, and when to trust it.
- — Its positioning, its critique, its blind spots
- — When to apply it — and when not
- — The evidence behind the advice
Book profile · in the corpus
This book’s model, against the corpus
12 of 12 constructs align with the field · 0 the book adds · 4 where it diverges · the field spans 54 constructs across 72 books
Shared with the corpus — corroborated by other sources
Where it diverges — the book and the field pull apart
The corpus adds — from 71 other sources this book doesn't cover
The full field guide folds in ideas this book doesn’t reach — drawn from 71 further sources and cited in the full model.
This book’s place in the corpus
Why the corpus guide, not just this book
The book builds on classical stochastic inventory theory (EOQ, newsvendor, base-stock and (s,S) policies) and is the authority on how order quantity, review period, safety stock, cost structure, and service level interact quantitatively. The reconciled field-guide still adds the surrounding context the book lacks: forecasting quality and bias, data and incentive issues, bullwhip, coordination, and risk, which determine whether these inventory formulas work in practice.
This guide stands on the shoulders of this book and 71 other sources — every claim cited, the disagreements named.
Read it closely
The book, examined
Not a summary — a close analytical reading: how the book is built, what it leaves open, and where it falls short.
How it’s built — the argument in order
- 01Introduction: models, assumptions and the inventory optimization journey — Frames the book's stance: every model rests on assumptions (read: limitations), and a model that is roughly right, understood and trusted beats a more accurate one nobody uses. Sets the 'Vires acquirit eundo' path of starting simple and gathering strength by adding realism step by step.
- 02Ch. 2 – How much should I order? (EOQ) — Derives the deterministic EOQ, Q* = sqrt(2kD/h), by balancing transaction cost against holding cost. Allows a forecast to replace historical demand, gives a short history (Harris, Wilson, Erlenkotter, and later extensions), and runs a sensitivity analysis showing total cost is robust to errors in Q and in cost estimates.
- 03Ch. 3 – When should I order? Review period — Turns the EOQ into an optimal review period T* = Q*/D. Rounds it to a practical integer and, with the power-of-2 policy (Maxwell & Muckstadt), to base-period multiples that synchronize thousands of SKUs. Uses the Ch. 2 sensitivity analysis to show the cost penalty is small (at worst a factor √2 off T*).
- 04Ch. 4–5 – Stochastic demand, safety stock and reorder policies — Introduces demand variability, the risk-period and safety stock S_s = zσ√τ, scaling with the square root of the risk-period. Presents the policies (s,Q), (R,S) and (R,s,Q). Under periodic review the risk-period becomes R+L, and the two policies are shown to be interchangeable through a variable-substitution table. Includes the up-to level S = dL + dR + S_s.
- 05Service level and fill rate (middle chapters) — Distinguishes cycle service level, which depends only on safety stock, from fill rate, which also depends on cycle stock and units short. Adds lead time variability and the practical hacks that fit the models to reality.
- 06Ch. 8 – Cost and service level optimization — Optimizes policy parameters against total cost. The optimal service level equals 1 − (holding cost ÷ backorder cost over the risk-period), which settles the review period / safety stock trade-off that the (R,S) policy leaves open.
- 07Non-normal (gamma) demand and discrete/intermittent cases — Relaxes the normality assumption for low-volume or skewed demand by using the gamma distribution, keeping the same safety stock logic.
- 08Multi-echelon networks — Extends the models to networks using the guaranteed-service (risk-period) framework. Shows how to allocate safety stock between upstream and downstream locations to answer where inventory should be held.
- 09Simulation optimization — For problems too complex or intractable for closed-form math, simulates the system and searches for near-optimal policies, accepting longer computation time in exchange for flexibility. Closes the 'gather strength as we go' journey.
What it leaves unsolved
How can the right balance between model complexity and usability be determined for a given company?
The author says an 80%-accurate model that is trusted and used beats a 95%-accurate one that is not. He gives no way to measure this trade-off or to tell when added complexity stops paying for itself.
How should the holding, transaction and backorder costs be estimated reliably?
The EOQ and the optimal service level both depend on these costs. The book relies on sensitivity analysis to show robustness, but backorder or lost-sales costs are hard to observe and are mostly left to the user's judgment.
How should the optimal review period be chosen jointly with safety stock under stochastic demand?
The text admits that in an (R,S) policy the safety stock depends on the review period, so cost optimization is no longer as simple as the EOQ and must be deferred to a later chapter.
How can demand and lead time be modeled when the assumed distributions do not hold, for example with trends, seasonality or correlation between periods?
The models assume known distributions and often independence. The text suggests a forecast can replace historical demand, but it does not say how forecast error and non-stationarity should be handled.
How reliable are the assumptions needed for multi-echelon models, such as guaranteed service, in real networks with thousands of SKUs, suppliers and channels?
The author notes that there are too many SKUs, suppliers, clients and channels for management to sort out manually. The models therefore remain simplifications.
How can simulation optimization avoid becoming too computationally heavy, and how close to optimal are its solutions?
The book accepts 'near-optimal' policies at the cost of computation time. It cannot guarantee how near, and heuristic search offers no proof of global optimality.
Where it falls short — a fair critique
The history credits Harris, Wilson and later extensions (quantity discounts, backorders, ROI-based optimization), but the base EOQ the book builds on excludes discounts, capacity limits, and backorders and supplier constraints. Readers get no guidance on integrating these, so the core model is applicable only to simple cases.
The book is candid that models are imperfect, but it asserts that being 'correct 95% of the time should be enough to bring substantial savings'. It gives no evidence, case data or benchmark behind that figure, and no method for estimating the savings a given model delivers.
The framing of the accuracy vs. usability trade-off is partly contradictory. It says a complex model is likely more accurate and cheaper, then that an 80% model beats a 95% one if it is used. The figures are illustrative and unsupported, so the conclusion rests on an assumption about user behavior rather than on argument or data.
The power-of-2 policy is justified by schedule simplification and a bounded cost penalty from the EOQ sensitivity analysis. The sensitivity result is deterministic. Under stochastic demand the review period also drives safety stock, so the claim that the cost impact is marginal is not shown to carry over.
The normal-distribution safety stock formula S_s = zσ√τ assumes independent, identically distributed demand across periods. Autocorrelation, promotions, and demand uncertainty from forecast error (as opposed to historical variation) are not addressed in the passages. Applied naively, the √τ scaling can understate risk.
Treating the replenishment cycle as simply review period plus lead time, with a single risk-period, assumes lead times are not correlated with demand and that orders do not cross. The text notes that lead time variability matters, but the (R,S) treatment as given is a simplified framing that can misstate risk in practice.
The (R,S) policy is stated with Q = S − net inventory, with no treatment of minimum order quantities, truck sizes or supplier batch constraints, which the (R,s,Q) discussion only begins to raise. Practitioners with such constraints must extrapolate.
The optimal service level formula (1 − holding/backorder cost) depends on a backorder cost that is rarely known, and the book largely presents it as a given input. It acknowledges neither how fragile the policy is to errors in that cost nor how it interacts with lost sales or customer behavior.
Before you apply it
Using it well
Where the method fits, who it’s for, and the honest case for and against — so you apply it where it works.
Is this book for you?
For you if
- You are a supply planner, analyst or student who must decide order quantities, timing and safety stock
- You want to see the assumptions inside vendor software rather than trust a black box
- You are comfortable with a few lines of Excel or Python and basic statistics
- You manage many SKUs and want practical ways to cut cost and dead stock while holding service targets
Skip it if
- You need a forecasting book; demand forecasting is treated as an input, not the topic
- You want a purely managerial or strategic overview with no math or code
- Your problem is production scheduling or full network design rather than stock policy
- You need a ready-made off-the-shelf tool and have no interest in building models
Need first
- Basic probability: the normal distribution, mean and standard deviation
- Basic algebra and calculus intuition, for example minimizing a cost function
- Working familiarity with Excel or Python
- Reasonable estimates of demand, its variability, lead times and holding/transaction costs
- Terms such as SKU, lead time and service level
When it applies — and when it doesn’t
- Setting order quantities for items with fairly stable demand and clear holding and transaction cost estimates — EOQ is the foundation of the book and, per the sensitivity analysis, robust to errors in cost and demand estimates.
- Synchronizing ordering across thousands of SKUs and a shared supplier or truck — A periodic review with power-of-2 rounding cuts schedule complexity at a bounded cost, at worst about 6% above the optimum.
- Setting safety stock for a given service level under roughly normal demand and lead times — Safety stock scaled with the square root of the risk-period (R + L) is the book's core, tractable method.
- Choosing a target service level by cost, where backorder and holding costs can be estimated — The optimal service level is 1 minus the holding-to-backorder cost ratio over the risk-period, if the costs are credible.
- Deciding where to hold safety stock across a multi-echelon network — The guaranteed-service (risk-period) framework gives a practical allocation across stages.
- Complex policies with interacting constraints where closed-form math is intractable — Simulation optimization finds near-optimal policies, at the price of computation time and a simulator you must trust.
- Items with a trend or known demand shift (promotions, seasonality) — EOQ can use a forecast instead of history, but it still assumes a constant rate within the horizon and needs a sound forecast.
- Slow, intermittent or very lumpy demand with many zero-demand periods — Normal-distribution safety stock misfits here; the book's gamma-demand extension or simulation is needed instead.
- Backorder or stockout cost is unknown or purely guessed — Cost-optimal service levels are only as good as the shortage-cost input, which is hard to measure; set a service target instead.
- Teams that cannot understand or maintain a sophisticated model — The book prefers a trusted, always-used 80%-accurate model to a 95%-accurate one nobody uses.
- Treating model outputs as automatic orders without checking assumptions — The book stresses that each model rests on assumptions; Harris himself warned against using EOQ as a silver bullet.
- Fully automating inventory decisions in volatile, disrupted supply chains — Stationary distributions and independent-demand assumptions break down when disruptions shift the underlying behavior.
The honest case
Strongest case for
- EOQ balances holding and transaction costs and is robust: moderate input errors or rounding (power-of-2) raise cost only slightly
- Building models step by step, from deterministic to stochastic to simulation, exposes what drives inventory and when to trust each model
- A model that is roughly right and widely used gives substantial savings across thousands of SKUs, which beats ad hoc rules
- Simulation optimization covers the cases closed-form math cannot, so the toolkit extends to realistic complexity
- Tying service level to the holding/backorder cost ratio replaces arbitrary targets with an economic rationale
Strongest objection
- Real demand is often non-stationary, intermittent and correlated, so normal-based safety stock formulas can badly misstate risk
- Backorder and holding costs are hard to measure, so the claimed cost-optimal service level may be false precision
- The guaranteed-service multi-echelon model assumes bounded demand and perfect inter-stage service, which real networks rarely deliver
- Simple models can hide errors that compound across thousands of SKUs and encourage over-trust in computed numbers
- Forecast error, supplier unreliability and disruptions often matter more than policy parameter tuning
The model's constructs are drawn from the source element(s); load-bearing constructs are corroborated across the shelf, emerging ones are flagged.
Ideas covered by the source notes
- Order Quantity
- Review Period
- Safety Stock
- Demand Variability
- Lead Time Variability
- Cost Structure
Movement V
Measure
Use available assessments to reflect on what you have learned.
A way to gauge yourself against the book's model, and the instruments it gives you.
- — A self-check built from the book
- — Instruments and what you'd measure next
Learning curriculum
After this book, you can…
The book's learning objectives, classified by Bloom's taxonomy and ordered so each builds on the ones before it.
- explainAfter this book you can explain why inventory models are simplifications, and judge when a model's assumptions (and its accuracy-versus-simplicity trade-off) make it trustworthy or in need of replacement.Check: Given a model description (e.g., EOQ or a normal-demand safety stock model), list its key assumptions and argue in a short written case whether it is appropriate for a described supply chain.
- explainAfter this book you can define the risk period (lead time plus review period) and explain when orders are placed and received under reorder-point and periodic review policies.Check: Draw and explain the timeline of a periodic review policy, identifying the risk period and which demand it must cover.
- classifyAfter this book you can classify supply chain network topologies (serial, assembly, distribution, general) and explain how local versus global optimization affects where inventory should be held.Check: Given network diagrams, identify the topology and explain how a local-optimization policy differs from a global one.
- computeAfter this book you can compute the economic order quantity from demand (or forecast), transaction cost and holding cost, and explain how it balances holding against transaction costs.Check: Calculate Q* = sqrt(2kD/h) for given data in Excel or Python, and plot holding, transaction and total cost curves to show the optimum.
- determineAfter this book you can determine the optimal review period for a periodic review policy and round it with practical methods such as the power-of-2 policy, quantifying the cost impact.Check: Given a set of SKUs with costs and demand, compute each optimal review period, round to a power-of-2 multiple of a base period, and calculate the resulting cost penalty (at most ~6% for the worst case).
- calculateAfter this book you can calculate safety stock and reorder or order-up-to levels for a target cycle service level under variable demand and variable lead times, showing that safety stock scales with the square root of the risk period.Check: Given demand mean and standard deviation, lead time mean and standard deviation, review period and a target service level, compute safety stock and the reorder level in Excel or Python.
- allocateAfter this book you can allocate safety stock across a multi-echelon network using the guaranteed-service (risk-period) framework, deciding which nodes should hold stock.Check: For a small serial or distribution network with lead times, holding costs and service-time commitments, compute node safety stocks and total cost, and compare with an independent single-echelon approach.
- computeAfter this book you can compute expected units short using the loss function and determine the safety stock needed to reach a target fill rate.Check: For given demand parameters and order quantity, calculate expected backorders per cycle and solve for the safety stock reaching e.g. a 98% fill rate.
- adaptAfter this book you can adapt safety stock and service models to non-normal demand (e.g., gamma-distributed or intermittent demand) and assess when the normal approximation fails.Check: Fit a gamma distribution to the mean and standard deviation of low-volume demand, compute safety stock for a service target, and compare to the normal-based result.
- analyzeAfter this book you can perform a sensitivity analysis on the EOQ and justify rounding or approximating order quantities because total cost is robust to estimation errors.Check: Compute the cost increase when Q or the input parameters deviate by ±X% from optimum, and recommend whether to round the order quantity.
- distinguishAfter this book you can distinguish cycle service level, period service level and fill rate, and explain why fill rate depends on both cycle stock and safety stock while cycle service level depends only on safety stock.Check: Given two policies with the same safety stock but different order quantities, compare their cycle service levels and fill rates and explain the difference.
- evaluateAfter this book you can derive and apply the optimal service level as 1 minus the ratio of holding to backorder cost over the risk period, and evaluate the resulting cost and profit trade-offs.Check: Given holding and backorder (or margin) costs, compute the cost-minimizing service level and safety stock, and compare total cost with a flat target service level policy.
- buildAfter this book you can build a simulation of an inventory system and use simulation optimization to find near-optimal policy parameters when closed-form models are intractable, weighing accuracy against computation time.Check: Code a Python simulation with stochastic demand and lead times, run a search to minimize total cost or maximize profit, and benchmark against analytical results.
- judgeAfter this book you can judge inventory policies by profit rather than by service level alone, balancing model complexity with usability and trust in a business context.Check: Given a case with several candidate policies (simple versus complex), recommend one using cost, profit and organizational adoption arguments.
How to measure it
Turning each idea into a measure
For each construct: how to operationalize it, the observable signals to look for, and how well it holds up.
The parameter Q in (s,Q) and (R,s,Q) policies, or the average of order sizes in periodic policies, computed via EOQ formula sqrt(2kD/h) or extensions.
- units per purchase order
- production batch size
- number of transactions per year
Ratio scale in units; can be rounded to practical multiples with minimal cost impact.
Directly observable and unambiguous when policy parameters are recorded. · Highly reliable as an archival policy parameter.
The parameter R in (R,S) and (R,s,Q) policies, optimized via T*=sqrt(2k/(hD)) and often rounded using a power-of-2 policy.
- days/weeks between orders
- MRP/DRP run frequency
- replenishment schedule
Ratio scale in time units.
Clear from replenishment schedules; confusion arises only in terminology. · Reliable when documented in the planning system.
Computed as Ss = z_alpha * sigma_x, where sigma_x is the demand deviation over the risk-period, using normal or gamma loss functions.
- policy safety stock parameter
- reorder point minus expected lead time demand
- order up-to level minus risk-period demand
Ratio scale in units; derived, not directly observed.
Valid given correct estimation of demand/lead time distributions; sensitive to normality assumptions. · Reliable as a computed parameter but depends on input estimate quality.
The demand standard deviation sigma_d (or forecast error deviation sigma_e) and coefficient of variation CV_d = sigma_d/mu_d, estimated from historical data.
- historical demand series dispersion
- forecast error standard deviation
- demand histogram spread
Ratio scale; must match the temporal aggregation of lead time and review period.
Sample deviation uses n-1 to be conservative; independence assumption often violated. · Reliability improves with more observations and matching aggregation level.
The lead time standard deviation sigma_L (and mean mu_L), modeled as normal or gamma; incorporated via sigma_L^2 * mu_d^2 in the safety stock formula.
- variance in order receipt dates
- supplier on-time delivery records
- custom/handling delays
Ratio scale in time units; often right-skewed in practice.
Normal continuity assumption limited; discrete and dependent lead times reduce model accuracy. · Depends on quality of historical receipt records.
Parameters h (holding cost per unit per period), k (fixed transaction cost), b or b_tau (backorder/backlog cost), c (purchase cost), used in cost and optimal service level equations.
- cost of capital
- storage and handling costs
- order processing costs
- service penalty clauses
Monetary units; holding cost often expressed as percentage of product cost.
Some components (goodwill, opportunity cost) are hard to estimate; EOQ is robust to estimation error. · Cost accounting components reliable; intangible costs less so.
Cycle service level alpha = Phi(z) or F_x(iota); fill rate beta = 1 - Us/dc; period service level tracked via simulation.
- fraction of demand served from stock
- probability of no stock-out per cycle
- OTIF percentage
Probability/percentage scale between 0 and 1.
Fill rate requires recording excess demand; cycle service level less meaningful for long order cycles. · Reliable when demand and stock-outs are properly recorded; lost sales undermine measurement.
Expected units short Us = sigma_x * L_N(z) for normal demand or L_Gamma(iota;k,theta) for gamma demand over the risk-period.
- backlog records
- unfilled order quantities
- stock-out events
Ratio scale in units per cycle.
Measurable under backordering; difficult and biased under lost sales (spiral-down effect). · Reliable in B2B backorder settings; unreliable in B2C lost-sales environments.
Average on-hand = cycle stock (Q/2 or dR/2) + safety stock; in-transit = d*L; simulated via three progressively refined physical inventory estimation methods.
- warehouse stock counts
- ERP inventory records
- in-transit shipment quantities
Ratio scale in units; average requires assumptions about intra-period consumption.
Model estimate diverges from simulation at high demand coefficient of variation. · Physical counts reliable; average level estimation depends on method and simulation length.
C = h*(on-hand) + k*(transactions) + b*(backorders); computed per period or per year depending on policy and validated via simulation.
- total inventory carrying cost
- ordering/setup expenses
- penalty payments
Monetary units per period or year.
Excludes in-transit holding in some formulations; convex in Q and service level. · Reliable given accurate cost parameters; simulation confirms model at low CV_d.
Profit = (p-c)*Demand - h*(on-hand+in-transit) - k*Transactions - b*Backorders; in newsvendor, P(Q,d) based on sales, salvage, and costs.
- gross margin
- net operating profit
- return on investment
Monetary units; maximization equivalent to cost minimization when opportunity costs included.
Requires accurate per-unit margin; some firms avoid computing exact per-product profit. · Reliable if margins and costs are well recorded.
Classified as serial, assembly, distribution, or general networks with nodes, edges, lead times, and holding costs; optimized via guaranteed-service (risk-period) model.
- network diagram structure
- node-level lead times and holding costs
- echelon inventory positions
Categorical (topology type) plus structural parameters.
Guaranteed-service model assumes bounded demand and aligned review periods. · Reliable when network data (lead times, costs, demand) are accurately mapped.
Self-assessment
Where would you like to improve?
This is a structured self-diagnostic built from the model — a mirror for reflection, not a validated psychometric scale. For validated measurement, see the instruments below.
1 = Strongly Disagree · 7 = Strongly Agree
Proposed measures — starter instruments where no validated one was found
Replenishment Order Quantity Design Index
proposed · not validatedRated for your team or hiring process — not a personal self-check.
- A documented order quantity exists for each stocked item and is derived from an explicit trade-off between ordering or setup costs and holding costs.
- The inputs used to set order quantities (demand rates, ordering or setup cost, holding cost rate, supplier minimums or lot sizes) are recorded and refreshed on a scheduled cadence.
- Order quantities are compared against actual ordering and holding cost outcomes at least annually, and deviations trigger documented adjustments.
Scale: 1–7 (Strongly Disagree → Strongly Agree), rated by an evaluator or the team. Average the items; treat ≤3 as a gap to close in the process.
Inventory Review Period Discipline Index
proposed · not validatedRated for your team or hiring process — not a personal self-check.
- Each item or item class has a defined review interval that is written in the inventory policy and tied to supplier schedules, demand patterns, and item value.
- Scheduled inventory reviews take place on the calendar dates set by the policy, and completion is logged for each review cycle.
- The chosen review intervals are explicitly factored into target stock levels, so that exposure over the review period plus lead time is accounted for.
Scale: 1–7 (Strongly Disagree → Strongly Agree), rated by an evaluator or the team. Average the items; treat ≤3 as a gap to close in the process.
Safety Stock Buffer Management Index
proposed · not validatedRated for your team or hiring process — not a personal self-check.
- Safety stock levels for each stocked item are calculated from measured demand variability, lead time variability, and a stated target service level.
- Safety stock parameters are recalculated on a defined schedule using current demand and supplier lead time data.
- Stockout incidents and excess buffer inventory are tracked against service level targets, and the results are used to adjust safety stock settings.
Scale: 1–7 (Strongly Disagree → Strongly Agree), rated by an evaluator or the team. Average the items; treat ≤3 as a gap to close in the process.
Sources
- Inventory Optimization Models and Simulations — Nicolas Vandeput · A practical, code-driven guide to optimizing inventory policies through mathematical models and simulations, covering everything from the classic EOQ to multi-echelon networks and simulation optimization.
The cheat sheet
Everything, on one page
One key takeaway from each section, with links to read more.
- Order QuantityOrder quantity trades transaction cost against cycle stock, and the total cost is flat near the optimum, so you can round to practical units cheaply.
- Review PeriodReview period extends the protection interval to review plus lead time, which directly raises the safety stock needed.
- Safety StockSafety stock grows with the square root of the risk period, not linearly, which makes pooling and shorter intervals powerful.
- Demand VariabilityDemand variability drives both buffer size and total cost, so measuring it badly distorts the whole policy.
- Lead Time VariabilityLead time variance adds to buffer needs in proportion to demand squared, so it matters most for fast movers.
- Cost StructureCost structure determines the optimal quantity and the service level you should aim for, so estimate it carefully.
- Service LevelCycle service level and fill rate are different quantities, and fill rate usually exceeds cycle service when batches are large.
- Backorders and Units ShortExpected units short, not stockout frequency, drives shortage cost.
- Inventory LevelAverage inventory equals half the batch plus safety stock plus pipeline, not half the batch alone.
- Total Supply Chain CostTotal cost is minimized where the marginal components balance, which is rarely at minimum inventory.
- ProfitCost minimization maximizes profit only when revenue does not depend on service.
- Supply Chain Network TopologyNetwork structure determines where the same buffer is most effective, and pooling can lower total stock.
Publication details
Consult the sources listed in this guide for further reading. Edition 1 · Updated 2026-10-03.
Explore related books and profiles in the library.