Methodology
Overtime vs Hire Comparison 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
overtimeCostExTax = required additional hours ร overtime cost per hourWhere
- requiredAdditionalHours
- Required additional hours (hours or hours per person)Source: User decision
- overtimeCostPerHourExTax
- Overtime cost per hour (currency units on one consistent basis)Source: Business record
- overtimeCostExTax
- Overtime scenario cost (money)Source: Calculated output
- moduleOvertimeHours
- Overtime hours (hours)Source: Business record
hireCostExTax = whole hires required ร (fixed cost per hire + available productive hours per hire ร hire cost per productive hour)Where
- hireFixedCostExTax
- Fixed cost per hire (currency units on one consistent basis)Source: Business record
- hireCostPerProductiveHourExTax
- Hire cost per productive hour (currency units on one consistent basis)Source: User assumption
- hireAvailableProductiveHours
- Hire available productive hours (hours or hours per person)Source: User decision
- hireCostExTax
- Hire scenario cost (money)Source: Calculated output
- requiredHireCount
- Whole hires required (units)Source: Calculated output
requiredHireCount = ceil(required additional hours รท hire available productive hours)Where
- requiredAdditionalHours
- Required additional hours (hours or hours per person)Source: User decision
- hireAvailableProductiveHours
- Hire available productive hours (hours or hours per person)Source: User decision
- requiredHireCount
- Whole hires required (units)Source: Calculated output
lowerCostOption = compare raw scenario costsWhere
- lowerCostOption
- Lower-cost state (state)Source: Calculated output
crossoverHours = ceil(whole-hire cash cost รท overtime hourly cost), when reachable within one hire capacityWhere
- overtimeCostExTax
- Overtime scenario cost (money)Source: Calculated output
- hireCostExTax
- Hire scenario cost (money)Source: Calculated output
- crossoverHours
- Crossover hours (hours)Source: Calculated output
- moduleOvertimeHours
- Overtime hours (hours)Source: Business record
regularLabourCostExTax = moduleRegularHours ร moduleBaseHourlyRateExTax ร (1 + moduleEmployerOnCostRate)Where
- moduleRegularHours
- Regular hours (hours)Source: Business record
- moduleBaseHourlyRateExTax
- Base hourly rate (currency units per hour)Source: Business record
- moduleEmployerOnCostRate
- Employer on-cost rate (decimal rate)Source: User assumption
- regularLabourCostExTax
- Module regular labour cost (currency units)Source: Calculated output
- totalLabourCostExTax
- Module total labour cost (currency units)Source: Calculated output
overtimeLabourCostExTax = moduleOvertimeHours ร moduleBaseHourlyRateExTax ร moduleOvertimeMultiplier ร (1 + moduleEmployerOnCostRate)Where
- overtimeCostExTax
- Overtime scenario cost (money)Source: Calculated output
- moduleOvertimeHours
- Overtime hours (hours)Source: Business record
- moduleBaseHourlyRateExTax
- Base hourly rate (currency units per hour)Source: Business record
- moduleOvertimeMultiplier
- Overtime multiplier (decimal multiplier)Source: User assumption
- moduleEmployerOnCostRate
- Employer on-cost rate (decimal rate)Source: User assumption
- overtimeLabourCostExTax
- Module overtime labour cost (currency units)Source: Calculated output
- totalLabourCostExTax
- Module total labour cost (currency units)Source: Calculated output
totalLabourCostExTax = regularLabourCostExTax + overtimeLabourCostExTaxWhere
- overtimeCostExTax
- Overtime scenario cost (money)Source: Calculated output
- regularLabourCostExTax
- Module regular labour cost (currency units)Source: Calculated output
- overtimeLabourCostExTax
- Module overtime labour cost (currency units)Source: Calculated output
- totalLabourCostExTax
- Module total labour cost (currency units)Source: Calculated output
overtimeContributionExTax = moduleOvertimeHours ร moduleContributionPerDeliveredHourExTax โ overtimeLabourCostExTaxWhere
- overtimeCostPerHourExTax
- Overtime cost per hour (currency units on one consistent basis)Source: Business record
- overtimeCostExTax
- Overtime scenario cost (money)Source: Calculated output
- moduleOvertimeHours
- Overtime hours (hours)Source: Business record
- moduleContributionPerDeliveredHourExTax
- Contribution per delivered hour (currency units per hour)Source: User assumption
- overtimeLabourCostExTax
- Module overtime labour cost (currency units)Source: Calculated output
- totalLabourCostExTax
- Module total labour cost (currency units)Source: Calculated output
- overtimeContributionExTax
- Module overtime contribution (currency units)Source: Calculated output
breakEvenContributionPerOvertimeHourExTax = moduleBaseHourlyRateExTax ร moduleOvertimeMultiplier ร (1 + moduleEmployerOnCostRate)Where
- overtimeCostPerHourExTax
- Overtime cost per hour (currency units on one consistent basis)Source: Business record
- overtimeCostExTax
- Overtime scenario cost (money)Source: Calculated output
- moduleBaseHourlyRateExTax
- Base hourly rate (currency units per hour)Source: Business record
- moduleOvertimeMultiplier
- Overtime multiplier (decimal multiplier)Source: User assumption
- moduleEmployerOnCostRate
- Employer on-cost rate (decimal rate)Source: User assumption
- overtimeContributionExTax
- Module overtime contribution (currency units)Source: Calculated output
- breakEvenContributionPerOvertimeHourExTax
- Module break-even contribution per overtime hour (currency units)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
Worked values below come from the same exact engine and visible default assumptions.
- Required additional hours
- 500 productive hours/decision period
- Overtime cost per hour
- 90 currency units/overtime hour, ex tax
- Fixed cost per hire
- 10,000 currency units/hire, ex tax
- Hire cost per productive hour
- 60 currency units/productive hour, ex tax
- Hire available productive hours
- 1,000 productive hours/hire/decision period
Calculation and outputs
Overtime scenario cost
overtimeCostExTax = required additional hours ร overtime cost per hour- Required additional hours
- 500 productive hours/decision period
- Overtime cost per hour
- 90 currency units/overtime hour, ex tax
- Fixed cost per hire
- 10,000 currency units/hire, ex tax
- Hire cost per productive hour
- 60 currency units/productive hour, ex tax
- Hire available productive hours
- 1,000 productive hours/hire/decision period
- Hire scenario cost
- 70,000 money
- Whole hires required
- 1 units
- Lower-cost state
- overtime state
- Crossover hours
- 778 hours
Engine result: 45,000 money
Hire scenario cost
hireCostExTax = whole hires required ร (fixed cost per hire + available productive hours per hire ร hire cost per productive hour)- Required additional hours
- 500 productive hours/decision period
- Overtime cost per hour
- 90 currency units/overtime hour, ex tax
- Fixed cost per hire
- 10,000 currency units/hire, ex tax
- Hire cost per productive hour
- 60 currency units/productive hour, ex tax
- Hire available productive hours
- 1,000 productive hours/hire/decision period
- Overtime scenario cost
- 45,000 money
- Whole hires required
- 1 units
- Lower-cost state
- overtime state
- Crossover hours
- 778 hours
Engine result: 70,000 money
Whole hires required
requiredHireCount = ceil(required additional hours รท hire available productive hours)- Required additional hours
- 500 productive hours/decision period
- Fixed cost per hire
- 10,000 currency units/hire, ex tax
- Hire cost per productive hour
- 60 currency units/productive hour, ex tax
- Hire available productive hours
- 1,000 productive hours/hire/decision period
- Hire scenario cost
- 70,000 money
- Crossover hours
- 778 hours
Engine result: 1 units
Lower-cost state
lowerCostOption = compare raw scenario costs- Overtime scenario cost
- 45,000 money
- Hire scenario cost
- 70,000 money
Engine result: overtime state
Crossover hours
crossoverHours = ceil(whole-hire cash cost รท overtime hourly cost), when reachable within one hire capacity- Overtime cost per hour
- 90 currency units/overtime hour, ex tax
- Fixed cost per hire
- 10,000 currency units/hire, ex tax
- Hire cost per productive hour
- 60 currency units/productive hour, ex tax
- Hire available productive hours
- 1,000 productive hours/hire/decision period
- Overtime scenario cost
- 45,000 money
- Hire scenario cost
- 70,000 money
- Whole hires required
- 1 units
- Lower-cost state
- overtime state
Engine result: 778 hours
Example
Worked values below come from the same exact engine and visible default assumptions.
- Overtime scenario cost
- 45,000.00 currency units
- Hire scenario cost
- 70,000.00 currency units
- Whole hires required
- 1
- Lower-cost state
- overtime
- Crossover hours
- 778 hours
- Module regular labour cost
- 2,000.00 currency units
- Module overtime labour cost
- 750.00 currency units
- Module total labour cost
- 2,750.00 currency units
- Module overtime contribution
- 250.00 currency units
- Module break-even contribution per overtime hour
- 75.00 currency units
The exact engine-derived outputs are shown in the labelled rows below.
Interpretation
Use the lower-cost state only when the hire scenario has enough productive capacity and the pay assumptions are confirmed.
3. Validation and boundary checks
- Required headcount is ceil(required additional hours รท productive hours per hire), so demand above one hire capacity advances to the next whole-hire cost step.
- Each required hire carries the full entered productive-hours capacity and its full fixed-plus-productive-hour cost.
- The displayed crossover is the first whole hour within one hire capacity where overtime reaches the cost of one whole hire; it is not a smooth multi-hire crossover curve.
- The overtime module requires a multiplier of at least one and an on-cost rate between 0% and 100%.
- Main comparison and module outputs use separate editable assumptions and exact engine calls.
- Required additional hours minimum
requiredAdditionalHours โฅ 0 productive hours/decision periodโ A lower value is rejected before calculation.- Required additional hours maximum
requiredAdditionalHours โค 100,000,000 productive hours/decision periodโ A higher value is rejected before calculation.- Overtime cost per hour minimum
overtimeCostPerHourExTax โฅ 0 currency units/overtime hour, ex taxโ A lower value is rejected before calculation.- Overtime cost per hour maximum
overtimeCostPerHourExTax โค 10,000,000 currency units/overtime hour, ex taxโ A higher value is rejected before calculation.- Fixed cost per hire minimum
hireFixedCostExTax โฅ 0 currency units/hire, ex taxโ A lower value is rejected before calculation.- Fixed cost per hire maximum
hireFixedCostExTax โค 10,000,000 currency units/hire, ex taxโ A higher value is rejected before calculation.- Hire cost per productive hour minimum
hireCostPerProductiveHourExTax โฅ 0 currency units/productive hour, ex taxโ A lower value is rejected before calculation.- Hire cost per productive hour maximum
hireCostPerProductiveHourExTax โค 10,000,000 currency units/productive hour, ex taxโ A higher value is rejected before calculation.- Hire available productive hours minimum
hireAvailableProductiveHours โฅ 0 productive hours/hire/decision periodโ A lower value is rejected before calculation.- Hire available productive hours maximum
hireAvailableProductiveHours โค 100,000,000 productive hours/hire/decision periodโ A higher value is rejected before calculation.
4. Assumptions and source classification
- Overtime and hire scenarios cover the same required additional hours.
- Hire available productive hours is capacity per hire, not a shared maximum across all hires.
- Hire cost is a staircase: each additional whole hire adds one full block of entered productive capacity and cost.
- The embedded module uses user-entered pay terms and contribution assumptions.
- A comparison table is used; the later per-row authority explicitly approves no chart.
This comparison calculator 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
- The result is a cost-and-capacity comparison, not a hiring recommendation or compliance assessment.
- The crossover is limited to the first-hire interval. Beyond that interval, compare the engine-derived staircase costs at the entered demand rather than extrapolating a single linear crossing.
- No statutory multiplier, employment classification or legal entitlement is calculated.
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 comparison calculator. 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.
- How to Model a Labour Budget Before Hiring
Build a period labour-cost envelope, test timing and capacity scenarios, and identify decision boundaries before hiring.
Read guide