safety-stock
id: safety-stock title: Buffer Stock & the Reorder Point sidebar_position: 2 type: concept audience: inventory_manager, supply_chain_lead time_to_read: 10min
Buffer Stock & the Reorder Point
Synplex uses a buffer stock setting — measured in days of average demand — to set the safety cushion built into each variant's reorder point. When the simulation projects stock will fall to or below the reorder point, it flags the variant as Low Stock and triggers a recommended order.
How the reorder point is calculated
The reorder point is calculated in units using the average daily demand derived from the demand plan: safetyStock = avgDailyDemand × bufferStockDays reorderPoint = avgDailyDemand × (leadTimeDays + bufferStockDays)
What each term means:
| Term | Source | Default |
|---|---|---|
avgDailyDemand | Total 365-day planned demand ÷ 365 | From demand plan |
leadTimeDays | Days from order placement to receipt | 30 days |
bufferStockDays | Safety cushion expressed as days of demand | 7 days |
Example: A variant with an average daily demand of 10 units, a lead time of 30 days, and a buffer of 7 days has: safetyStock = 10 × 7 = 70 units reorderPoint = 10 × 37 = 370 units
When the simulation's running stock level reaches 370 units, the variant is flagged for reorder. If stock is already at or below 370 on Day 0, a recommended order is generated immediately.
The reorder point is recalculated each time metrics refresh, using the latest demand plan and the configured lead time and buffer stock days.
What buffer stock actually protects against
Buffer stock adds days of cushion beyond the pure lead time demand. It absorbs:
- Supplier delivery arriving a few days late
- Demand running slightly above the plan during the lead time window
- Lag between a Shopify sync updating on-hand quantities and metrics recalculating
It is not a statistical safety stock formula (no standard deviation, no service level calculation). It is a simple linear buffer: more days means a higher reorder point and earlier warnings.
Configuring buffer stock days
Global default
Go to Settings → Insight Settings and set the Stock Buffer Days field. This applies to every inventory level that does not have a per-level override.
| Setting | Default | Effect |
|---|---|---|
Stock Buffer Days (defaultStockBufferDays) | 7 days | Days of demand added to lead time in reorder point |
Per-inventory-level override
On the product detail page, each inventory level (variant × location combination) can
have its own bufferStockDays value set independently of the shop default. Use this when
a specific location has consistently unreliable delivery or unusually variable demand that
warrants a different cushion from the rest of your catalogue.
How buffer stock days interact with Lead Time Days
Both settings feed into the same formula. Increasing either one raises the reorder point and causes Low Stock to fire earlier:
| Lead Time | Buffer Stock | Reorder Point (at 10 units/day) |
|---|---|---|
| 30 days | 5 days | 350 units |
| 30 days | 7 days | 370 units |
| 30 days | 14 days | 440 units |
| 45 days | 7 days | 520 units |
If you are seeing too many Low Stock alerts on products that are not actually at risk, reducing buffer stock days (or lead time if it is set too high) will bring the reorder point down. If you are experiencing stockouts before orders arrive, increase buffer stock days.
Buffer stock days vs Purchase Days of Inventory Reach
These are two separate and independent settings that are often confused:
| Setting | Controls | Effect on reorder point |
|---|---|---|
| Buffer Stock Days | How early the reorder point fires | Direct — raises the reorder point |
| Purchase Days of Inventory Reach | How much to order when the reorder point fires | None — only affects order quantity |
purchaseDaysOfInventoryReach (default: 90 days) sets how many days of demand the
simulation targets when sizing a virtual order. A larger value means larger orders placed
less frequently; it has no effect on when Low Stock is triggered.
The order quantity calculation
When the simulation detects stock ≤ reorderPoint, it calculates the order quantity as:
orderQty = shortage + (avgDailyDemand × purchaseDaysOfInventoryReach)
Where shortage = max(0, reorderPoint − stock). The result is then rounded up to satisfy
the supplier's MOQ and batch size constraints configured on the supplier product record.
This quantity is the Recommended Order Qty shown in the inventory table for each inventory level.
Choosing a buffer stock value
There is no universally correct value. Use the following as a starting reference:
| Supplier reliability | Demand predictability (XYZ) | Suggested buffer |
|---|---|---|
| Reliable (consistent lead time) | X (stable) | 5–7 days |
| Reliable | Y or Z (variable) | 7–14 days |
| Unreliable (variable delivery) | X | 10–14 days |
| Unreliable | Y or Z | 14–21 days |
The most reliable signal is your own stockout history. If variants are regularly reaching Out of Stock before orders arrive, the buffer is too low for the actual lead time variability. Increase it in increments of 3–5 days and monitor over 2–3 nightly cycles.
What buffer stock days does not do
- It does not vary automatically by ABC grade — the same setting applies to all variants unless you set a per-level override
- It does not use demand standard deviation or any statistical service-level calculation
- It does not affect the Low Stock day threshold (
defaultRunningLowDays) — that is a separate setting controlling when the Low Stock status fires based ondaysUntilReorder - It does not affect the Overstock threshold (
defaultOverstockDays)
Related articles
- Understanding Product Statuses — how
daysUntilReorderandbufferStockDaystogether drive the Low Stock status - Forecasted Stockout Date — coverage date, stockout date, and stock gap days from the simulation
- Lead Time & Reorder Points — how
leadTimeDaysfeeds into the same formula - ABC Analysis & Product Grading — using ABC grade to decide which products warrant a higher per-level buffer
- Data Metrics Reference — Recommended Order Qty and related field definitions