Why the formula gives the wrong answer
The standard safety stock formula — Z × σd × √L — is elegant and widely used. It assumes demand variability is normally distributed, lead times are independent of demand, stockouts don't affect future demand, and replenishment is instantaneous once the reorder point is reached. None of these assumptions hold in real supply chains.
In practice, demand is lumpy — a few large orders arrive unpredictably between periods of quiet. Lead times cluster around the average most of the time and then occasionally spike — and the spikes correlate with demand peaks, when you most need the stock. Stockouts create backorders that inflate the next order, creating bullwhip effects that a formula cannot see.
The result: Formula-based inventory policies are either over-stocked (because analysts add buffers to compensate for distrust in the formula) or under-stocked when the formula's assumptions break down during demand spikes. Simulation replaces the assumptions with actual distributions fitted to your data.
What inventory simulation answers
Safety stock levels
How much buffer stock is needed to achieve a target service level — 95%, 98%, 99.5% — under your actual demand variability and lead time distribution, not the formula's assumed normal distribution.
Reorder point & quantity
When to trigger a replenishment order and in what quantity — balancing order frequency (transaction cost), holding cost, and the risk of running out between the order and its arrival.
Supplier lead time risk
Which suppliers' lead time variability contributes most to your stock risk — and what additional buffer is required per supplier to maintain your service level target under their specific delivery pattern.
Multi-echelon inventory
For distribution networks with central warehouse and regional DCs, how to split inventory between echelons to minimise total network stock while maintaining service levels at each point in the chain.
Seasonal & promotional demand
How much to pre-build before a demand surge — seasonal ramp-up, promotional events, new product launches — so that the surge doesn't exhaust safety stock before replenishment can respond.
Supply disruption scenarios
What stock level survives a specific supplier disruption — 2-week delay, 40% capacity reduction, complete stoppage — without service level failure. Used for supply chain risk assessment and business continuity planning.
Monte Carlo vs discrete-event: which approach?
Both methods have their place — and we use both, depending on what the question requires:
| Approach | Best for | Typical use |
|---|---|---|
| Monte Carlo simulation | Pure inventory policy questions | Safety stock & reorder point when inventory is independent of operational flow |
| Discrete-event (Simio / AnyLogic) | Inventory + operations together | When replenishment interacts with warehouse capacity, receiving dock throughput, or production scheduling |
| System dynamics | Network-level bullwhip & policy | Multi-echelon networks, demand amplification analysis across supply chain tiers |
| Spreadsheet formula | Simple, stable environments | Suitable when demand is genuinely normal and lead times are stable — rare in practice |
For most inventory policy questions, we start with Monte Carlo and upgrade to discrete-event when the operational context matters — for example when the question is "how much safety stock do we need if our receiving dock is also processing returns during peak?"
Our process
Data fit & distribution analysis
We fit statistical distributions to your demand data and lead time records — testing normality, identifying heavy tails and seasonality, and flagging outliers that should be modelled separately. This step often reveals that demand is far more variable than the formula assumes, and explains why current safety stock levels feel wrong.
Model build & baseline validation
The simulation model is built and validated against historical performance: given the actual demand and lead times you experienced, does the model reproduce the stockout frequency and inventory levels you observed? A validated model provides confidence that the policy recommendations will hold in real operation.
Policy scenario matrix
We test the policy variations you want to evaluate — different safety stock levels, different reorder points, different order quantities — against your historical demand and lead time distributions, plus stress scenarios (demand spikes, supply disruptions). Each scenario runs thousands of simulated periods to produce stable service level and stock level estimates.
Recommendation & cost analysis
You receive a policy recommendation with the specific safety stock and reorder point for each SKU group or product family, a service level vs holding cost trade-off curve showing where the optimal operating point is, a supplier risk ranking, and the simulation model — yours to rerun when demand patterns change or new suppliers are added.
What you get at the end
Connection to digital twin & production planning
Inventory simulation answers the strategic question: what policy should we run? A digital twin answers the operational question: given today's stock levels and incoming orders, what should we do right now? These are complementary, not competing.
We often build both: the simulation study establishes the target safety stock and reorder parameters, and the digital twin consumes live ERP/WMS data to monitor whether those parameters are holding up in real operation and flags when demand patterns are drifting away from the model assumptions.
If you already have a digital twin, a simulation-based inventory study can be run as a parallel project and its output loaded directly into the digital twin's replenishment logic. If you don't have a digital twin yet, the inventory model is still fully useful on its own.
Tools & technology
Monte Carlo inventory studies are built in Python with fitted statistical distributions and parallel scenario execution. Discrete-event inventory models — when operational interaction matters — are built in Simio or AnyLogic. For network-level, multi-echelon, or demand amplification studies, we use AnyLogic's system dynamics capabilities. All models are delivered with documented assumptions and a Python or Excel interface for reruns without specialist software.
What data do we need?
- Demand history — 12–24 months of order or consumption data per SKU, with dates and quantities (ERP or WMS export)
- Lead time records — purchase order history showing order date and goods receipt date per supplier and SKU
- Current inventory policy — existing safety stock levels, reorder points, and order quantities
- Service level targets — your target fill rate or order completion rate by product group
- Cost parameters — holding cost rate and order transaction cost, if a cost optimisation is needed (not required for service level studies only)
- Planned changes — new suppliers, new SKUs, upcoming demand events, or supply chain restructuring plans


