Act on the result
Resolve uncovered hours and confirm every entered loading and on-cost before selecting a shift pattern.
Educational only: Business decision support, not accounting, tax or legal advice.
Privacy: No account is required. Tool inputs and results stay in this browser. Anonymous categorical usage analytics send only governed page, tool, cluster and action identifiers; tool inputs and results are never sent. Error monitoring is disabled. Optional saved state stays only on this device.
Update policy: Reviewed when formulas or official dependencies change.
Scope: Market-neutral small-business planning using your own assumptions.
Operators reconciling a bounded shift pattern with required coverage hours and entered cost loadings.
Scheduled hours, exact shift cost, unit cost, uncovered hours and excess hours.
Enter required hours and activate up to 12 shift slots using your own base rates, loadings and on-cost.
Use a different tool when: Do not use this to compare staffing cost with a user-entered share-of-revenue target; use Staffing Cost Percentage Planner for that decision. Use this tool to choose a shift pattern that covers required hours with explicit entered loadings.
Profit & break-even
Scheduled hours, exact shift cost, unit cost, uncovered hours and excess hours.
Amounts use the same currency as your inputs. No currency conversion is performed.
Use your own records on one consistent currency, ex-tax and reporting-period basis.
Your numbers stay in this browser
Hours the selected staffing pattern needs to cover.
User-entered rate; no jurisdiction or statutory default is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Whole workers assigned to this shift slot.
Paid hours for each worker in this shift.
User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis.
User-entered loading; no award or statutory rate is inferred.
Exact engine outputs; no benchmark or statutory default is inserted.
| Shift | Workers | Hours each | Base rate | Loading | Scheduled hours | Exact cost |
|---|---|---|---|---|---|---|
| Shift 1 | 2 | 8 | 40.00 | 0% | 16 | 800.00 |
| Shift 2 | 1 | 8 | 40.00 | 25% | 8 | 500.00 |
| Engine total | 24 | 1,300.00 | ||||
Empty slots are ignored. Active slots receive generated IDs; the exact engine rejects more than 12 rows.
Each row names the assumption axis changed from the baseline.
Save these results, change an input, then compare the updated figures with this baseline.
The baseline is temporary in this tab and is not added to shared scenario links or generated reports.
sum(workers ร hours per worker)24 hoursReports hours for the entered staffing period using the declared pay, on-cost, capacity and ex-tax revenue basis. The exact engine retains raw precision; display formatting never feeds calculation.
Shift Coverage Cost Planner formulas โsum(each exact shift cost)1,300.00Reports money for the entered staffing period using the declared pay, on-cost, capacity and ex-tax revenue basis. The exact engine retains raw precision; display formatting never feeds calculation.
Shift Coverage Cost Planner formulas โtotal shift cost รท scheduled hours54.17Reports money for the entered staffing period using the declared pay, on-cost, capacity and ex-tax revenue basis. The exact engine retains raw precision; display formatting never feeds calculation.
Shift Coverage Cost Planner formulas โmax(0, required hours โ scheduled hours)6 hoursReports hours for the entered staffing period using the declared pay, on-cost, capacity and ex-tax revenue basis. The exact engine retains raw precision; display formatting never feeds calculation.
Shift Coverage Cost Planner formulas โmax(0, scheduled hours โ required hours)0 hoursReports hours for the entered staffing period using the declared pay, on-cost, capacity and ex-tax revenue basis. The exact engine retains raw precision; display formatting never feeds calculation.
Shift Coverage Cost Planner formulas โworkers ร hours per worker16 hoursExact single-row engine result using the active shift slot. Raw precision is retained before display formatting.
Shift Coverage Cost Planner formulas โworkers ร hours ร base rate ร (1 + loading) ร (1 + employer on-cost)800.00Exact single-row engine result using the entered loading and employer on-cost. Raw precision is retained before display formatting.
Shift Coverage Cost Planner formulas โworkers ร hours per worker8 hoursExact single-row engine result using the active shift slot. Raw precision is retained before display formatting.
Shift Coverage Cost Planner formulas โworkers ร hours ร base rate ร (1 + loading) ร (1 + employer on-cost)500.00Exact single-row engine result using the entered loading and employer on-cost. Raw precision is retained before display formatting.
Shift Coverage Cost Planner formulas โThis calculator supports documented, shareable scenario URLs. Compatible assistants and applications can construct links using the parameters below.
Scenario links contain only allowlisted numeric and closed-choice inputs shown in the URL; Margin101 excludes free text and identifying fields. Anyone you share the URL with can read those numbers, so do not include private or identifying data.
| Parameter | Meaning | Unit | Allowed values | Presence | Default |
|---|---|---|---|---|---|
| employerOnCostRate | User-entered rate; no jurisdiction or statutory default is inferred. | decimal fraction of loaded shift wages before employer on-cost (1 = 100%) | 0 to 1 | Required | 0.25 |
| requiredCoverageHours | Hours the selected staffing pattern needs to cover. | coverage hours/selected staffing period | 0 to 100000000 | Required | 30 |
| shift10BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift10HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift10LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift10Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
| shift11BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift11HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift11LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift11Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
| shift12BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift12HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift12LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift12Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
| shift1BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 40 |
| shift1HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 8 |
| shift1LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift1Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 2 |
| shift2BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 40 |
| shift2HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 8 |
| shift2LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0.25 |
| shift2Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 1 |
| shift3BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift3HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift3LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift3Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
| shift4BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift4HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift4LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift4Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
| shift5BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift5HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift5LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift5Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
| shift6BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift6HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift6LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift6Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
| shift7BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift7HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift7LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift7Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
| shift8BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift8HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift8LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift8Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
| shift9BaseHourlyRate | User-entered base hourly cost before loading and on-cost. Use one consistent currency and ex-tax basis. | currency units/worker-hour, ex tax | 0 to 10000000 | Required | 0 |
| shift9HoursPerWorker | Paid hours for each worker in this shift. | paid hours/worker/shift | 0 to 100000000 | Required | 0 |
| shift9LoadingRate | User-entered loading; no award or statutory rate is inferred. | decimal fraction of base hourly cost (1 = 100%) | 0 to 2 | Required | 0 |
| shift9Workers | Whole workers assigned to this shift slot. | whole workers/shift slot | 0 to 100000 | Required | 0 |
Use uncovered and excess hours alongside exact cost; the cheapest entered pattern may not meet required coverage.
Data used here
Resolve uncovered hours and confirm every entered loading and on-cost before selecting a shift pattern.
Retest required hours, active workers and loadings while keeping the same cost basis.
Educational estimate, not advice. See all assumptions & limitations โ
Guides to interpret the decision and its assumptions.
Build a period labour-cost envelope, test timing and capacity scenarios, and identify decision boundaries before hiring.
Read guideResolve uncovered hours and confirm every entered loading and on-cost before selecting a shift pattern.
Compare a plausible alternative scenario and verify the decision-critical assumption that changes the plan most.