Methodology
Location Expansion Scenario 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
expectedNewUnits = min(monthly capacity, expected monthly demand ร demand realisation rate)Where
- monthlyCapacityUnits
- Monthly capacity (units/month)Source: Business record
- expectedMonthlyDemandUnits
- Expected monthly demand (units/month)Source: User assumption
- riskRealisationRate
- Demand realisation (decimal fraction of expected monthly demand (1 = 100%))Source: User decision
- expectedNewUnits
- Risk-adjusted new units (units/month)Source: Calculated output
displacedUnits = min(risk-adjusted new units, cannibalised existing units)Where
- cannibalisedExistingUnits
- Cannibalised existing units (units/month)Source: User assumption
- expectedNewUnits
- Risk-adjusted new units (units/month)Source: Calculated output
- displacedUnits
- Displaced existing units (units/month)Source: Calculated output
monthlyIncrementalContribution = (risk-adjusted new units โ displaced units) ร contribution per unit โ monthly fixed costWhere
- monthlyFixedCost
- Monthly fixed cost (currency units/month, ex tax)Source: Business record
- contributionPerUnit
- Contribution per unit (currency units/unit, ex tax)Source: Business record
- expectedNewUnits
- Risk-adjusted new units (units/month)Source: Calculated output
- displacedUnits
- Displaced existing units (units/month)Source: Calculated output
- monthlyIncrementalContribution
- Monthly incremental contribution (currency units/month, ex tax)Source: Calculated output
paybackMonths = setup cost / positive monthly incremental contributionWhere
- setupCost
- Setup cost (currency units/one-off location setup, ex tax)Source: User decision
- contributionPerUnit
- Contribution per unit (currency units/unit, ex tax)Source: Business record
- monthlyIncrementalContribution
- Monthly incremental contribution (currency units/month, ex tax)Source: Calculated output
- paybackMonths
- Setup-cost payback (months)Source: Calculated output
capacityUtilisation = risk-adjusted new units / monthly capacityWhere
- monthlyCapacityUnits
- Monthly capacity (units/month)Source: Business record
- expectedNewUnits
- Risk-adjusted new units (units/month)Source: Calculated output
- capacityUtilisation
- Risk-adjusted capacity utilisation (decimal rate)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.
- Setup cost
- 10,000 currency units/one-off location setup, ex tax
- Monthly fixed cost
- 1,000 currency units/month, ex tax
- Monthly capacity
- 200 units/month
- Expected monthly demand
- 150 units/month
- Contribution per unit
- 20 currency units/unit, ex tax
- Cannibalised existing units
- 20 units/month
- Demand realisation
- 0.8 decimal fraction of expected monthly demand (1 = 100%)
Calculation and outputs
Risk-adjusted new units
expectedNewUnits = min(monthly capacity, expected monthly demand ร demand realisation rate)- Monthly fixed cost
- 1,000 currency units/month, ex tax
- Monthly capacity
- 200 units/month
- Expected monthly demand
- 150 units/month
- Demand realisation
- 0.8 decimal fraction of expected monthly demand (1 = 100%)
- Monthly incremental contribution
- 1,000 currency units/month, ex tax
- Risk-adjusted capacity utilisation
- 0.6 percent
Engine result: 120 units/month
Displaced existing units
displacedUnits = min(risk-adjusted new units, cannibalised existing units)- Cannibalised existing units
- 20 units/month
- Demand realisation
- 0.8 decimal fraction of expected monthly demand (1 = 100%)
- Risk-adjusted new units
- 120 units/month
- Risk-adjusted capacity utilisation
- 0.6 percent
Engine result: 20 units/month
Monthly incremental contribution
monthlyIncrementalContribution = (risk-adjusted new units โ displaced units) ร contribution per unit โ monthly fixed cost- Setup cost
- 10,000 currency units/one-off location setup, ex tax
- Monthly fixed cost
- 1,000 currency units/month, ex tax
- Monthly capacity
- 200 units/month
- Expected monthly demand
- 150 units/month
- Contribution per unit
- 20 currency units/unit, ex tax
- Demand realisation
- 0.8 decimal fraction of expected monthly demand (1 = 100%)
- Risk-adjusted new units
- 120 units/month
- Displaced existing units
- 20 units/month
- Setup-cost payback
- 10 months
- Risk-adjusted capacity utilisation
- 0.6 percent
Engine result: 1,000 currency units/month, ex tax
Setup-cost payback
paybackMonths = setup cost / positive monthly incremental contribution- Setup cost
- 10,000 currency units/one-off location setup, ex tax
- Monthly fixed cost
- 1,000 currency units/month, ex tax
- Monthly capacity
- 200 units/month
- Expected monthly demand
- 150 units/month
- Contribution per unit
- 20 currency units/unit, ex tax
- Monthly incremental contribution
- 1,000 currency units/month, ex tax
Engine result: 10 months
Risk-adjusted capacity utilisation
capacityUtilisation = risk-adjusted new units / monthly capacity- Monthly fixed cost
- 1,000 currency units/month, ex tax
- Monthly capacity
- 200 units/month
- Expected monthly demand
- 150 units/month
- Demand realisation
- 0.8 decimal fraction of expected monthly demand (1 = 100%)
- Risk-adjusted new units
- 120 units/month
- Monthly incremental contribution
- 1,000 currency units/month, ex tax
Engine result: 0.6 percent
Example
The labelled rows below are formatted directly from the exact shared engine using the visible default inputs.
- Risk-adjusted new units
- 120 units
- Displaced existing units
- 20 units
- Monthly incremental contribution
- 1,000.00
- Setup-cost payback
- 10 months
- Risk-adjusted capacity utilisation
- 60%
The monthly incremental contribution is 1,000.00.
Interpretation
Treat the new location as an incremental scenario; existing-location revenue is not automatically transferable.
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.
- Setup cost minimum
setupCost โฅ 0 currency units/one-off location setup, ex taxโ A lower value is rejected before calculation.- Setup cost maximum
setupCost โค 10,000,000 currency units/one-off location setup, ex taxโ A higher value is rejected before calculation.- Monthly fixed cost minimum
monthlyFixedCost โฅ 0 currency units/month, ex taxโ A lower value is rejected before calculation.- Monthly fixed cost maximum
monthlyFixedCost โค 10,000,000 currency units/month, ex taxโ A higher value is rejected before calculation.- Monthly capacity minimum
monthlyCapacityUnits โฅ 0 units/monthโ A lower value is rejected before calculation.- Monthly capacity maximum
monthlyCapacityUnits โค 100,000,000 units/monthโ A higher value is rejected before calculation.- Expected monthly demand minimum
expectedMonthlyDemandUnits โฅ 0 units/monthโ A lower value is rejected before calculation.- Expected monthly demand maximum
expectedMonthlyDemandUnits โค 100,000,000 units/monthโ A higher value is rejected before calculation.- Contribution per unit minimum
contributionPerUnit โฅ 0 currency units/unit, ex taxโ A lower value is rejected before calculation.- Contribution per unit maximum
contributionPerUnit โค 10,000,000 currency units/unit, ex taxโ A higher value is rejected before calculation.- Cannibalised existing units minimum
cannibalisedExistingUnits โฅ 0 units/monthโ A lower value is rejected before calculation.- Cannibalised existing units maximum
cannibalisedExistingUnits โค 100,000,000 units/monthโ A higher value is rejected before calculation.- Demand realisation minimum
riskRealisationRate โฅ 0 decimal fraction of expected monthly demand (1 = 100%)โ A lower value is rejected before calculation.- Demand realisation maximum
riskRealisationRate โค 1 decimal fraction of expected monthly demand (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.
- A Small-Business Expansion Decision Scorecard
Record demand, contribution, dated cash, capacity, people, operations and explicit stop conditions without an authoritative score.
Read guide - Second Store or More Sales From the First?
Compare expansion with improving the current location using contribution, capacity, cash and downside evidence.
Read guide