Methodology
Operational Downtime Cost 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
lostContribution = downtime hours ร contribution per operating hourWhere
- downtimeHours
- Downtime hours (hours/incident)Source: User decision
- contributionPerOperatingHour
- Contribution per operating hour (currency units/operating hour, ex tax)Source: Business record
- lostContribution
- Lost contribution (currency units, ex tax)Source: Calculated output
idleLabourCost = downtime hours ร idle labour cost per hourWhere
- downtimeHours
- Downtime hours (hours/incident)Source: User decision
- idleLabourCostPerHour
- Idle labour cost per hour (currency units/downtime hour, ex tax)Source: Business record
- idleLabourCost
- Idle labour cost (currency units, ex tax)Source: Calculated output
grossImpact = lost contribution + idle labour cost + recovery costWhere
- recoveryCost
- Recovery cost (currency units/downtime incident, ex tax)Source: Business record
- lostContribution
- Lost contribution (currency units, ex tax)Source: Calculated output
- idleLabourCost
- Idle labour cost (currency units, ex tax)Source: Calculated output
- grossImpact
- Total downtime cost before recovery (currency units, ex tax)Source: Calculated output
recoveredContribution = lost contribution ร recovery rateWhere
- recoveryRate
- Contribution recovery rate (decimal fraction of lost contribution (1 = 100%))Source: User decision
- lostContribution
- Lost contribution (currency units, ex tax)Source: Calculated output
- recoveredContribution
- Recovered contribution (currency units, ex tax)Source: Calculated output
netImpact = gross impact โ recovered contributionWhere
- grossImpact
- Total downtime cost before recovery (currency units, ex tax)Source: Calculated output
- recoveredContribution
- Recovered contribution (currency units, ex tax)Source: Calculated output
- netImpact
- Net downtime impact (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 labelled rows below are formatted directly from the exact shared engine using the visible default inputs.
- Downtime hours
- 10 hours/incident
- Contribution per operating hour
- 100 currency units/operating hour, ex tax
- Idle labour cost per hour
- 20 currency units/downtime hour, ex tax
- Recovery cost
- 50 currency units/downtime incident, ex tax
- Contribution recovery rate
- 0.25 decimal fraction of lost contribution (1 = 100%)
Calculation and outputs
Lost contribution
lostContribution = downtime hours ร contribution per operating hour- Downtime hours
- 10 hours/incident
- Contribution per operating hour
- 100 currency units/operating hour, ex tax
- Idle labour cost per hour
- 20 currency units/downtime hour, ex tax
- Contribution recovery rate
- 0.25 decimal fraction of lost contribution (1 = 100%)
- Total downtime cost before recovery
- 1,250 money
- Recovered contribution
- 250 money
- Net downtime impact
- 1,000 money
Engine result: 1,000 money
Idle labour cost
idleLabourCost = downtime hours ร idle labour cost per hour- Downtime hours
- 10 hours/incident
- Contribution per operating hour
- 100 currency units/operating hour, ex tax
- Idle labour cost per hour
- 20 currency units/downtime hour, ex tax
- Recovery cost
- 50 currency units/downtime incident, ex tax
- Total downtime cost before recovery
- 1,250 money
- Net downtime impact
- 1,000 money
Engine result: 200 money
Total downtime cost before recovery
grossImpact = lost contribution + idle labour cost + recovery cost- Contribution per operating hour
- 100 currency units/operating hour, ex tax
- Idle labour cost per hour
- 20 currency units/downtime hour, ex tax
- Recovery cost
- 50 currency units/downtime incident, ex tax
- Contribution recovery rate
- 0.25 decimal fraction of lost contribution (1 = 100%)
- Lost contribution
- 1,000 money
- Idle labour cost
- 200 money
- Recovered contribution
- 250 money
Engine result: 1,250 money
Recovered contribution
recoveredContribution = lost contribution ร recovery rate- Contribution per operating hour
- 100 currency units/operating hour, ex tax
- Recovery cost
- 50 currency units/downtime incident, ex tax
- Contribution recovery rate
- 0.25 decimal fraction of lost contribution (1 = 100%)
- Lost contribution
- 1,000 money
- Total downtime cost before recovery
- 1,250 money
Engine result: 250 money
Net downtime impact
netImpact = gross impact โ recovered contribution- Contribution per operating hour
- 100 currency units/operating hour, ex tax
- Contribution recovery rate
- 0.25 decimal fraction of lost contribution (1 = 100%)
- Lost contribution
- 1,000 money
- Total downtime cost before recovery
- 1,250 money
- Recovered contribution
- 250 money
Engine result: 1,000 money
Example
The labelled rows below are formatted directly from the exact shared engine using the visible default inputs.
- Lost contribution
- 1,000.00
- Idle labour cost
- 200.00
- Total downtime cost before recovery
- 1,250.00
- Recovered contribution
- 250.00
- Net downtime impact
- 1,000.00
The net downtime impact is 1,000.00.
Interpretation
Downtime cost combines lost contribution and incremental recovery effects, not total revenue alone.
3. Validation and boundary checks
- All inputs must be finite and remain inside the visible non-negative validation boundaries.
- Capacity and demand fields that represent physical units reject fractional values where the engine requires whole units.
- Rates remain inside the closed range from 0% to 100%.
- Unreachable contribution, crossover or payback thresholds return an explicit unavailable state rather than Infinity.
- Option comparisons reject an infeasible option when its entered capacity is below the required workload.
- Downtime hours minimum
downtimeHours โฅ 0 hours/incidentโ A lower value is rejected before calculation.- Downtime hours maximum
downtimeHours โค 100,000,000 hours/incidentโ A higher value is rejected before calculation.- Contribution per operating hour minimum
contributionPerOperatingHour โฅ 0 currency units/operating hour, ex taxโ A lower value is rejected before calculation.- Contribution per operating hour maximum
contributionPerOperatingHour โค 10,000,000 currency units/operating hour, ex taxโ A higher value is rejected before calculation.- Idle labour cost per hour minimum
idleLabourCostPerHour โฅ 0 currency units/downtime hour, ex taxโ A lower value is rejected before calculation.- Idle labour cost per hour maximum
idleLabourCostPerHour โค 10,000,000 currency units/downtime hour, ex taxโ A higher value is rejected before calculation.- Recovery cost minimum
recoveryCost โฅ 0 currency units/downtime incident, ex taxโ A lower value is rejected before calculation.- Recovery cost maximum
recoveryCost โค 10,000,000 currency units/downtime incident, ex taxโ A higher value is rejected before calculation.- Contribution recovery rate minimum
recoveryRate โฅ 0 decimal fraction of lost contribution (1 = 100%)โ A lower value is rejected before calculation.- Contribution recovery rate maximum
recoveryRate โค 1 decimal fraction of lost contribution (1 = 100%)โ A higher value is rejected before calculation.
4. Assumptions and source classification
- All operating volumes, rates, workload, capacity, time, cost and contribution values are supplied by the user.
- Money inputs use one consistent ex-tax basis and every record refers to the same operating period.
- Demand realisation, recovery, hours saved and expected unit rates are scenarios, not forecasts or benchmarks.
- Committed sunk cost is disclosed but excluded from make, buy, outsource and hire incremental economics.
- The shared engine retains raw 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 complete and comparable incremental cost, capacity and operating records.
- The model does not forecast demand, service quality, employee performance, supplier reliability or disruption duration.
- A positive result or short payback does not establish implementation feasibility or guarantee a commercial outcome.
- The planner does not replace operational, 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 planner and methodology after pre-launch calculation, content, source and interaction review.
Related reading
Guides to interpret the decision and its assumptions.
- No-Show and Late-Cancellation Economics
Measure lost appointment contribution, recoverable capacity and policy trade-offs without prescribing a cancellation fee.
Read guide