Predict the next delivery
The policy checks inventory position at each day's end and places at most one fixed-size order at or below the point. It does not continuously monitor stock or order up to a target. No costs are modeled, so this is a service comparison, not an economic optimizer.
A five-day proof before random runs
Load the delayed-delivery example: initial stock 5; demand exactly 4/day; point 3; order 6; lead 2 days; horizon 5. Predict days 2 and 3 before examining the ledger. On day 1, one unit remains and an order for 6 is due day 3. Should another order be placed on day 2?
Reveal the daily derivation
| Day | Opening | Arrivals | Demand | Sales | Closing | On order before decision | Position | New order | Next due |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 5 | 0 | 4 | 4 | 1 | 0 | 1 | 6 | 3 |
| 2 | 1 | 0 | 4 | 1 | 0 | 6 | 6 | 0 | 3 |
| 3 | 0 | 6 | 4 | 4 | 2 | 0 | 2 | 6 | 5 |
| 4 | 2 | 0 | 4 | 2 | 0 | 6 | 6 | 0 | 5 |
| 5 | 0 | 6 | 4 | 4 | 2 | 0 | 2 | 6 | 7 |
Day 2 position is 0 + 6 = 6, above point 3, so no duplicate order is placed despite a stockout. Day 3 receives 6, sells 4, and position 2 triggers an order due day 5. Total sales 15/20 demand gives 75% unit fill; only 3/5 days avoid a stockout (60%). Final-day order 6 is due day 7, beyond this report. It is pipeline stock, not ending on-hand stock of 2.
Compare the same world
In this five-day case compare point 6/order 6 with the current point 3/order 6, holding every other input and seed. Predict whether more orders improve fill in this short horizon, and compare both average and ending stock. Then reset defaults and compare seeds 42 and 43 without changing the policy.
Interpret the comparison
Point 6 places another order on day 2: arrivals on days 3 and 4. Sales become 17/20 (85%); average closing stock becomes (1+0+2+4+0)/5 = 1.4 instead of 1.0. Ending stock is 0 rather than 2, while pipeline stock rises to 12 rather than 6: new orders on days 4 and 5 arrive beyond the horizon. That tradeoff has no modeled holding-cost penalty. Changing the seed generates a different sample path; one run's fill is not the expected service level.
Boundary checks
Try initial zero stock, demand zero, order quantity 1 with constant demand 4, and lead time longer than the horizon. At zero demand fill is N/A, not evidence of 100% service. Long-lead orders stay outstanding; they do not arrive early. At position exactly equal to the point, an order is placed. The one-order-per-day rule means a tiny order may never recover from sustained depletion.
Save and reproduce
Save complete run JSON before leaving the tab; restore it to recalculate from the seed and all policy inputs. The saved results are an audit record, not trusted input. The ledger shows 15 days at a time; export retains the full run.
Extension: repeated runs
Specify independent seeds and a replication count before comparing policies. Report variation of run-level fill and inventory across seeds, separately from daily variability within one run. Use common seeds for paired policies. Validate the deterministic five-day arithmetic first; estimating service does not create a cost objective.