Labour & Subcontractor Planning
This use case explains how to plan labour and subcontractor deployment and costs across construction and contracting projects in Model Reef.
You will:
Represent direct employees and subcontractors using Staff, COGS and Opex variables.
Tie labour demand to project workload and schedules.
Forecast subcontractor usage based on capacity gaps.
See the effect on project margins and group cashflow.
The focus is on planning and forecasting rather than detailed timesheet level tracking.
When to use this pattern
Labour and subcontractor costs are major drivers of project profitability.
You want to understand whether you have enough internal capacity to deliver the pipeline.
You need to decide how much work to give to subcontractors versus hiring more staff.
Combine this with:
Project Cash Flow (Milestones) for project level cash behaviour.
Multi-Project Consolidated Model for portfolio level views.
Architecture overview
The labour and subcontractor planning structure includes:
Branch and role structure
Project branches for where work occurs.
Optional central branch for shared labour pools.
Role definitions for site labour, supervisors and subcontractors.
Capacity and demand drivers
Internal labour capacity by role (FTE or hours).
Project demand for labour hours by period.
Subcontractor usage to cover gaps.
Cost variables
Staff variables for internal labour.
COGS or Opex variables for subcontractors.
Timing of payments based on contracts and terms.
Outputs
Labour cost by project and role.
Subcontractor spend over time.
Capacity gaps and utilisation.
Define labour roles and structure
Decide how to group labour types, for example:
Site workers (carpenters, electricians, general labour).
Supervisors and foremen.
Project managers.
Specialist subcontractors (for example steel, electrical, mechanical).
In the branch tree, you can either:
Place all labour in the project branches, or
Use a central labour pool branch and allocate labour to projects using drivers.
Choose the approach that best matches how your organisation manages people.
Create internal labour capacity drivers
In the Data Library, create drivers for internal capacity, for example:
FTE - Site Workers.FTE - Supervisors.FTE - Project Managers.
Also define:
Available Hours per FTE per Period.Leave and non productive allowances to reflect that not all time is billable or deployable.
Capacity per role each period is then:
Capacity Hours = FTE × Available Hours per FTE.
You can define separate drivers per project or per central pool depending on your structure.
Estimate project labour demand
For each project, estimate labour demand over time. Options include:
Labour hours derived from project schedule and quantities (for example labour hours per unit of work).
Labour hours as a percentage of cost or revenue.
Labour hours approximated via templates for similar projects.
Represent demand using drivers such as:
Labour Demand Hours - Site Workers - Project X.Labour Demand Hours - Supervisors - Project X.
These drivers can be entered manually, imported from project planning tools or derived from other model variables and drivers.
Identify capacity gaps and subcontractor needs
Compare labour capacity to demand across projects:
If demand exceeds internal capacity for a role in a period, the gap must be covered by subcontractors or additional hiring.
If capacity exceeds demand, you have under utilised staff or can take on more work.
Analytically, for each period and role:
Gap hours = max(0, demand hours − capacity hours)
From there, estimate subcontractor hours and costs:
Subcontractor Hours = Gap HoursSubcontractor Cost = Gap Hours × Subcontractor Rate
Represent subcontractor cost using COGS variables such as:
COGS - Subcontractors - Project X
Model labour and subcontractor costs
For internal labour, use Staff variables that represent:
Salaries or hourly pay.
Oncosts such as pensions, payroll tax and insurances.
Timing of payroll.
For subcontractors, use COGS variables that reflect:
Contract rates per hour, day or unit of work.
Payment terms (for example 30 days from invoice).
Place these variables in project branches if they are clearly attributable to specific projects, or in a central branch if they are shared and later allocated.
Connect labour planning to project margins and cashflow
Ensure that:
Labour and subcontractor cost variables are correctly classified so they flow into P&L and cashflow.
Project level P&L shows revenue minus labour, subcontractor and other direct costs.
Group level Cashflow Statement and Cash Waterfall show aggregate labour and subcontractor cash outflows over time.
Use dashboards to show:
Labour cost per project and as a percentage of project revenue.
Subcontractor spend per project and overall.
Capacity utilisation per role.
This makes it easier to see whether the chosen mix of internal labour and subcontractors is sustainable and profitable.
Use scenarios to test hiring and subcontracting strategies
Create scenario models for different labour strategies, for example:
Hire more internal staff to reduce subcontractor usage.
Use more subcontractors to stay flexible and reduce fixed costs.
Change mix by role or by project type.
Adjust drivers for:
FTE levels and timing of hires.
Subcontractor rates and usage.
Project labour demand if schedule changes.
Compare scenarios using:
Project and group level margins.
Cash requirements and volatility.
Utilisation and subcontractor dependence.
Check your work
Labour roles and cost structures reflect how the organisation actually operates.
Internal capacity and project demand assumptions are grounded in past projects or realistic planning.
Subcontractor cost patterns align with actual contract structures and rates.
Project margins and group cashflows look plausible when compared to historical results.
Troubleshooting
Related guides
Last updated