Methodology
Reorder Point Planner methodology
Educational only: Business decision support, not accounting, tax or legal advice.
Privacy: Calculations run locally; Margin101 does not receive your commercial inputs.
Update policy: Reviewed when formulas or official dependencies change.
Scope: Market-neutral small-business planning using your own assumptions.
1. Formulas and units
leadTimeDemand = average daily demand × lead time daysWhere
- averageDailyDemand
- Average daily demand (operational units)Source: Business record
- leadTimeDays
- Supplier lead time (operational units)Source: Business record
- leadTimeDemand
- Lead Time Demand (units)Source: Calculated output
- D
- Average daily demand (units per day)Source: Business record
- L
- Average lead time (days)Source: Business record
safetyStock = selected safety-stock methodWhere
- method
- Safety-stock method (operational units)Source: Business record
- safetyStock
- Safety Stock (units)Source: Calculated output
reorderPoint = lead-time demand + safety stockWhere
- leadTimeDemand
- Lead Time Demand (units)Source: Calculated output
- safetyStock
- Safety Stock (units)Source: Calculated output
- reorderPoint
- Reorder Point (units)Source: Calculated output
inventoryPosition = stock on hand + on order − backordersWhere
- currentStock
- Stock on hand (operational units)Source: Business record
- onOrder
- Stock already on order (operational units)Source: Business record
- backorders
- Backorders (operational units)Source: Business record
- inventoryPosition
- Inventory Position (units)Source: Calculated output
quantityBelowReorderPoint = max(0, reorder point − inventory position)Where
- reorderPoint
- Reorder Point (units)Source: Calculated output
- inventoryPosition
- Inventory Position (units)Source: Calculated output
- quantityBelowReorderPoint
- Quantity Below Reorder Point (units)Source: Calculated output
daysCover = max(0, inventory position) / average daily demandWhere
- averageDailyDemand
- Average daily demand (operational units)Source: Business record
- inventoryPosition
- Inventory Position (units)Source: Calculated output
- daysCover
- Days Cover (days)Source: Calculated output
- D
- Average daily demand (units per day)Source: Business record
orderAlert = 1 when inventory position is at or below reorder point; otherwise 0Where
- reorderPoint
- Reorder Point (units)Source: Calculated output
- inventoryPosition
- Inventory Position (units)Source: Calculated output
- orderAlert
- Order Alert (units)Source: Calculated output
SS = z × sqrt(L × sigmaD² + D² × sigmaL²)Where
- sigmaD
- Daily demand standard deviation (units per day)Source: Business record
- L
- Average lead time (days)Source: Business record
- sigmaL
- Lead-time standard deviation (days)Source: Business record
- z
- Service factor (z-score)Source: User decision
- SS
- Statistical safety stock (units)Source: Calculated output
SSdays = SS / DWhere
- D
- Average daily demand (units per day)Source: Business record
- SS
- Statistical safety stock (units)Source: Calculated output
- SSdays
- Equivalent safety-stock days (days)Source: Calculated output
SSinvestment = SS × unit inventory costWhere
- SS
- Statistical safety stock (units)Source: Calculated output
- SSinvestment
- Safety-stock investment (currency units, ex tax)Source: Calculated output
Money inputs and outputs use the currency selected in the scenario without changing the canonical methodology. Rates, margins, utilisation and buffers are entered as percentages and converted to decimal values for calculation.
2. Worked example
Input assumptions
The worked rows below come directly from the exact engine and visible default fixture.
- Safety-stock method
- 0 declared input unit
- Average daily demand
- 40 product units/day
- Supplier lead time
- 10 days
- Safety-stock days
- 5 days
- Daily demand standard deviation
- 8 product units/day
- Lead-time standard deviation
- 2 days
- Service factor (z-score)
- 1.644854 standard deviations above mean demand
- Stock on hand
- 500 whole product units
- Stock already on order
- 100 whole inbound product units
- Backorders
- 20 whole product units
Calculation and outputs
leadTimeDemand
leadTimeDemand = average daily demand × lead time days- Average daily demand
- 40 product units/day
- Supplier lead time
- 10 days
- Safety-stock days
- 5 days
- Daily demand standard deviation
- 8 product units/day
- Lead-time standard deviation
- 2 days
- daysCover
- 14.5 days
Engine result: 400 units
safetyStock
safetyStock = selected safety-stock method- Safety-stock method
- 0 declared input unit
- Safety-stock days
- 5 days
- Stock on hand
- 500 whole product units
- Stock already on order
- 100 whole inbound product units
Engine result: 200 units
reorderPoint
reorderPoint = lead-time demand + safety stock- Safety-stock method
- 0 declared input unit
- Average daily demand
- 40 product units/day
- Supplier lead time
- 10 days
- Safety-stock days
- 5 days
- Daily demand standard deviation
- 8 product units/day
- Lead-time standard deviation
- 2 days
- Stock on hand
- 500 whole product units
- Stock already on order
- 100 whole inbound product units
- leadTimeDemand
- 400 units
- safetyStock
- 200 units
Engine result: 600 units
inventoryPosition
inventoryPosition = stock on hand + on order − backorders- Safety-stock method
- 0 declared input unit
- Safety-stock days
- 5 days
- Stock on hand
- 500 whole product units
- Stock already on order
- 100 whole inbound product units
- Backorders
- 20 whole product units
- safetyStock
- 200 units
- orderAlert
- 1 units
Engine result: 580 units
quantityBelowReorderPoint
quantityBelowReorderPoint = max(0, reorder point − inventory position)- reorderPoint
- 600 units
- inventoryPosition
- 580 units
Engine result: 20 units
daysCover
daysCover = max(0, inventory position) / average daily demand- Average daily demand
- 40 product units/day
- Daily demand standard deviation
- 8 product units/day
- leadTimeDemand
- 400 units
- inventoryPosition
- 580 units
Engine result: 14.5 days
orderAlert
orderAlert = 1 when inventory position is at or below reorder point; otherwise 0- reorderPoint
- 600 units
- inventoryPosition
- 580 units
- quantityBelowReorderPoint
- 20 units
Engine result: 1 units
Example
The worked rows below come directly from the exact engine and visible default fixture.
- Lead Time Demand
- 400
- Safety Stock
- 200
- Reorder Point
- 600
- Inventory Position
- 580
- Order Alert
- 1
- Quantity Below Reorder Point
- 20
- Days Cover
- 14.5 days
- Statistical safety-stock units
- 10.77 units
- Equivalent safety-stock days
- 1.08 days
- Safety-stock investment
- 53.85 currency units
The exact engine-derived outputs are shown in the labelled rows below.
Interpretation
Treat the reorder point as an operating trigger based on the entered demand, lead time and protection level.
3. Validation and boundary checks
- All values must be finite and inside the visible validation boundaries.
- Rates are entered as percentages and calculations retain decimal precision.
- Money and operational records use one consistent period and basis.
- The statistical safety-stock method rejects a service factor above five. It reports raw expected units; apply any whole-unit purchasing rounding separately and disclose that operational choice.
- Safety-stock method minimum
method ≥ 0— A lower value is rejected before calculation.- Safety-stock method maximum
method ≤ 1— A higher value is rejected before calculation.- Average daily demand minimum
averageDailyDemand ≥ 0 product units/day— A lower value is rejected before calculation.- Average daily demand maximum
averageDailyDemand ≤ 100,000,000 product units/day— A higher value is rejected before calculation.- Supplier lead time minimum
leadTimeDays ≥ 0 days— A lower value is rejected before calculation.- Supplier lead time maximum
leadTimeDays ≤ 3,660 days— A higher value is rejected before calculation.- Safety-stock days minimum
safetyStockDays ≥ 0 days— A lower value is rejected before calculation.- Safety-stock days maximum
safetyStockDays ≤ 3,660 days— A higher value is rejected before calculation.- Daily demand standard deviation minimum
demandStandardDeviationPerDay ≥ 0 product units/day— A lower value is rejected before calculation.- Daily demand standard deviation maximum
demandStandardDeviationPerDay ≤ 100,000,000 product units/day— A higher value is rejected before calculation.- Lead-time standard deviation minimum
leadTimeStandardDeviationDays ≥ 0 days— A lower value is rejected before calculation.- Lead-time standard deviation maximum
leadTimeStandardDeviationDays ≤ 3,660 days— A higher value is rejected before calculation.- Service factor (z-score) minimum
serviceFactorZScore ≥ 0 standard deviations above mean demand— A lower value is rejected before calculation.- Service factor (z-score) maximum
serviceFactorZScore ≤ 5 standard deviations above mean demand— A higher value is rejected before calculation.- Stock on hand minimum
currentStock ≥ 0 whole product units— A lower value is rejected before calculation.- Stock on hand maximum
currentStock ≤ 100,000,000 whole product units— A higher value is rejected before calculation.- Stock already on order minimum
onOrder ≥ 0 whole inbound product units— A lower value is rejected before calculation.- Stock already on order maximum
onOrder ≤ 100,000,000 whole inbound product units— A higher value is rejected before calculation.- Backorders minimum
backorders ≥ 0 whole product units— A lower value is rejected before calculation.- Backorders maximum
backorders ≤ 100,000,000 whole product units— A higher value is rejected before calculation.
4. Assumptions and source classification
- Demand, lead times, costs, tax and targets are supplied by the user.
- No jurisdiction, supplier service level, industry benchmark or forecast is embedded.
- The engine retains full precision and display formatting never feeds back into calculation.
- The statistical method assumes the entered demand and lead-time variability are representative and does not guarantee a service level.
This planner has no current policy-data dependency. Its commercial assumptions are user supplied. Registered family-level regression suites exercise the shared business-logic engine and worked-result reconciliation.
5. Limitations
- Results depend on the quality and timing alignment of entered records.
- The model does not replace inventory, accounting, tax, legal or financial advice.
This is educational decision support, not tax, accounting, legal or financial advice. Check the treatment of your actual transactions under the rules that apply to your business and seek qualified advice where appropriate.
6. Update and evidence policy
Registered family-level suites test formula invariants and example reconciliation; the release ledger records that coverage without claiming a separate oracle for every line of public copy. There is no official threshold or benchmark to refresh for this planner. Commercial inputs remain user-supplied because they vary by business and contract.
Change history
- : Initial public release of the Reorder Point planner and methodology.
Related reading
Guides to interpret the decision and its assumptions.
- Inventory Turn vs Stock Availability
Compare stock efficiency and availability on aligned periods without prescribing a universal turn or service target.
Read guide