Skip to main content

Methodology

Stockout Cost Planner methodology

Separate shortage units into lost and deferred demand, then compare lost contribution with entered expedite cost.

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

Short Units
shortUnits = max(0, expected demand โˆ’ available stock โˆ’ confirmed inbound)

Where

expectedDemandUnits
Expected demand units (operational units)Source: Business record
availableStockUnits
Available stock units (operational units)Source: Business record
confirmedInboundUnits
Confirmed inbound units (operational units)Source: Business record
shortUnits
Short Units (units)Source: Calculated output
Lost Units
lostUnits = short units ร— lost-sales share

Where

lostSalesShare
Lost-sales share (decimal rate)Source: Business record
shortUnits
Short Units (units)Source: Calculated output
lostUnits
Lost Units (units)Source: Calculated output
Deferred Units
deferredUnits = short units โˆ’ lost units

Where

shortUnits
Short Units (units)Source: Calculated output
lostUnits
Lost Units (units)Source: Calculated output
deferredUnits
Deferred Units (units)Source: Calculated output
Lost Contribution
lostContribution = lost units ร— contribution per unit

Where

contributionPerUnit
Contribution per unit (currency units, ex tax)Source: Business record
lostUnits
Lost Units (units)Source: Calculated output
lostContribution
Lost Contribution (currency units, ex tax)Source: Calculated output
Expedite Cost
expediteCost = short units ร— expedite cost per short unit

Where

expediteCostPerShortUnit
Expedite cost per short unit (currency units, ex tax)Source: Business record
shortUnits
Short Units (units)Source: Calculated output
expediteCost
Expedite Cost (currency units, ex tax)Source: Calculated output
Total Stockout Cost
totalStockoutCost = lost contribution + expedite cost

Where

contributionPerUnit
Contribution per unit (currency units, ex tax)Source: Business record
lostUnits
Lost Units (units)Source: Calculated output
lostContribution
Lost Contribution (currency units, ex tax)Source: Calculated output
expediteCost
Expedite Cost (currency units, ex tax)Source: Calculated output
totalStockoutCost
Total Stockout Cost (currency units, ex tax)Source: Calculated output
Break Even Expedite Cost Per Short Unit
breakEvenExpediteCostPerShortUnit = lost-sales share ร— contribution per unit

Where

lostSalesShare
Lost-sales share (decimal rate)Source: Business record
contributionPerUnit
Contribution per unit (currency units, ex tax)Source: Business record
expediteCostPerShortUnit
Expedite cost per short unit (currency units, ex tax)Source: Business record
shortUnits
Short Units (units)Source: Calculated output
lostUnits
Lost Units (units)Source: Calculated output
lostContribution
Lost Contribution (currency units, ex tax)Source: Calculated output
expediteCost
Expedite Cost (currency units, ex tax)Source: Calculated output
breakEvenExpediteCostPerShortUnit
Break Even Expedite Cost Per Short Unit (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.

Expected demand units
100 whole product units
Available stock units
70 whole product units
Confirmed inbound units
10 whole product units
Lost-sales share
0.6 proportion of shortage units expected to become lost sales
Contribution per unit
25 currency units/product unit, ex tax
Expedite cost per short unit
3 currency units/product unit, ex tax

Calculation and outputs

  1. shortUnits

    shortUnits = max(0, expected demand โˆ’ available stock โˆ’ confirmed inbound)
    Expected demand units
    100 whole product units
    Available stock units
    70 whole product units
    Confirmed inbound units
    10 whole product units

    Engine result: 20 units

  2. lostUnits

    lostUnits = short units ร— lost-sales share
    Lost-sales share
    0.6 proportion of shortage units expected to become lost sales
    Expedite cost per short unit
    3 currency units/product unit, ex tax
    shortUnits
    20 units
    lostContribution
    300 money
    breakEvenExpediteCostPerShortUnit
    15 money

    Engine result: 12 units

  3. deferredUnits

    deferredUnits = short units โˆ’ lost units
    Lost-sales share
    0.6 proportion of shortage units expected to become lost sales
    Expedite cost per short unit
    3 currency units/product unit, ex tax
    shortUnits
    20 units
    lostUnits
    12 units
    lostContribution
    300 money
    breakEvenExpediteCostPerShortUnit
    15 money

    Engine result: 8 units

  4. lostContribution

    lostContribution = lost units ร— contribution per unit
    Lost-sales share
    0.6 proportion of shortage units expected to become lost sales
    Contribution per unit
    25 currency units/product unit, ex tax
    lostUnits
    12 units

    Engine result: 300 money

  5. expediteCost

    expediteCost = short units ร— expedite cost per short unit
    Expedite cost per short unit
    3 currency units/product unit, ex tax
    shortUnits
    20 units
    totalStockoutCost
    360 money
    breakEvenExpediteCostPerShortUnit
    15 money

    Engine result: 60 money

  6. totalStockoutCost

    totalStockoutCost = lost contribution + expedite cost
    Lost-sales share
    0.6 proportion of shortage units expected to become lost sales
    Contribution per unit
    25 currency units/product unit, ex tax
    Expedite cost per short unit
    3 currency units/product unit, ex tax
    lostUnits
    12 units
    lostContribution
    300 money
    expediteCost
    60 money
    breakEvenExpediteCostPerShortUnit
    15 money

    Engine result: 360 money

  7. breakEvenExpediteCostPerShortUnit

    breakEvenExpediteCostPerShortUnit = lost-sales share ร— contribution per unit
    Lost-sales share
    0.6 proportion of shortage units expected to become lost sales
    Contribution per unit
    25 currency units/product unit, ex tax
    lostUnits
    12 units
    lostContribution
    300 money

    Engine result: 15 money

Example

The worked rows below come directly from the exact engine and visible default fixture.

Short Units
20
Lost Units
12
Deferred Units
8
Lost Contribution
300 currency units
Expedite Cost
60 currency units
Total Stockout Cost
360 currency units
Break Even Expedite Cost Per Short Unit
15 currency units

The exact engine-derived outputs are shown in the labelled rows below.

Interpretation

Use the lost and deferred unit split to expose which entered assumption drives the stockout estimate.

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.
Expected demand units minimum
expectedDemandUnits โ‰ฅ 0 whole product units โ€” A lower value is rejected before calculation.
Expected demand units maximum
expectedDemandUnits โ‰ค 100,000,000 whole product units โ€” A higher value is rejected before calculation.
Available stock units minimum
availableStockUnits โ‰ฅ 0 whole product units โ€” A lower value is rejected before calculation.
Available stock units maximum
availableStockUnits โ‰ค 100,000,000 whole product units โ€” A higher value is rejected before calculation.
Confirmed inbound units minimum
confirmedInboundUnits โ‰ฅ 0 whole product units โ€” A lower value is rejected before calculation.
Confirmed inbound units maximum
confirmedInboundUnits โ‰ค 100,000,000 whole product units โ€” A higher value is rejected before calculation.
Lost-sales share minimum
lostSalesShare โ‰ฅ 0 proportion of shortage units expected to become lost sales โ€” A lower value is rejected before calculation.
Lost-sales share maximum
lostSalesShare โ‰ค 1 proportion of shortage units expected to become lost sales โ€” A higher value is rejected before calculation.
Contribution per unit minimum
contributionPerUnit โ‰ฅ 0 currency units/product unit, ex tax โ€” A lower value is rejected before calculation.
Contribution per unit maximum
contributionPerUnit โ‰ค 10,000,000 currency units/product unit, ex tax โ€” A higher value is rejected before calculation.
Expedite cost per short unit minimum
expediteCostPerShortUnit โ‰ฅ 0 currency units/product unit, ex tax โ€” A lower value is rejected before calculation.
Expedite cost per short unit maximum
expediteCostPerShortUnit โ‰ค 10,000,000 currency units/product unit, ex tax โ€” 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.

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

  1. : Initial public release of the planner and methodology after pre-launch calculation, content, source and interaction review.

Guides to interpret the decision and its assumptions.

Return to the planner