Insights /Project Planning

Forecasting Trade Labor Across Multiple Jobs at Once

Single-project staffing plans break down the moment you're running three jobsites. Here's how to build one forecast that keeps you from cannibalizing your own crews.

Contractors & GCs7 min read

The short answer

Build one rolling forecast across every active and pursuit project, broken out by trade and by week, instead of planning each jobsite separately. Track internal crew moves the same way you track outside staffing requests, treat pending bids as probability-weighted demand, and update it weekly so a shortfall shows up as a forecast gap, not a Monday-morning phone call.

Why Single-Project Planning Falls Apart When You're Running Three Jobs

Most staffing planning advice assumes one job, one crew curve, one schedule. That works fine until you're the GC or PM running two active sites and bidding a third, and all of them draw from the same regional pool of licensed electricians, pipefitters, and welders — plus the same internal crew list you've spent years building.

The failure mode is predictable: your best pipefitter is committed to Job A's close-out punch list, Job B's rough-in slips two weeks behind schedule, and the superintendent on Job B pulls that pipefitter mid-week to catch up. Nobody planned that conflict because nobody was tracking labor at the portfolio level — each PM was managing their own site in isolation, and the crew collision only became visible after it already cost both jobs a day.

Build One Rolling Forecast, Not Three Separate Ones

The fix is a single rolling trade labor forecast that sits above individual project schedules. Rows are trades — electrician, pipefitter, welder, mechanical, industrial maintenance. Columns are weeks, typically an 8 to 13-week rolling window, since that roughly matches how far out you can realistically source licensed trades without paying a premium for rush mobilization. Cells are headcount needed, pulled from each project's actual loading curve, not a PM's gut-feel estimate.

This only works if the numbers come from real schedules. If Job B's electrical rough-in is loading from 3 electricians to 7 over the next month per the CPM schedule, that's what goes in the forecast — not what the electrical sub said in a hallway conversation. Update it weekly, because schedules move weekly.

Include pursuit work as a separate, probability-weighted line — call it shadow demand. A bid that's 60% likely to be awarded and would need 6 mechanical trades starting in three weeks belongs in the forecast at a discounted weight, not left off entirely because you 'haven't won it yet.' Contractors get blindsided less by jobs they lose than by jobs they win with no labor plan in place.

A Worked Example: Three Jobs, One Trade, One Forecast

Say you're running Job A, in electrical trim-out and needing 4 electricians for the next 3 weeks before it tails off to zero. Job B just started rough-in and is ramping from 3 to 6 electricians over the next 8 weeks per its loading curve. Job C is a pursuit closing in four weeks; if you win it, it needs 8 electricians starting in week 6 of the forecast window.

Laid side by side, weeks 5 and 6 are the problem: Job A is still drawing down (2 electricians left), Job B is at its peak (6 electricians), and Job C — if awarded — needs its first 8. That's a potential 16-electrician week against a regional and internal pool that, on a normal week, comfortably covers 10 to 12. Without the combined forecast, you find this out when the Job C superintendent calls asking where his first crew is. With it, you see the collision five weeks out, while there's still time to stagger Job C's mobilization or line up outside crews in advance.

The Crew-Cannibalization Trap

When a gap shows up, the reflex is to solve it for free by pulling a good crew off one site and dropping them on another. It feels like the cheapest option because no invoice shows up for it. It usually isn't. The transferred foreman has to re-learn a new site's conditions, panel schedules, and inspection sequencing before he's productive again, and the job he left now has its own hole that someone else has to notice and fill.

The rule worth adopting: log internal crew moves in the same forecast you use for outside staffing requests. If a move shows up on paper as "pulling 2 electricians from Job A to cover Job B, week 5," you can see the knock-on gap it creates at Job A immediately, instead of discovering it when Job A's inspector shows up to a half-finished panel.

Where a Staffing Partner Fits Into the Forecast

A staffing partner is most useful when they're working off your rolling forecast instead of a same-week phone call. Given a few weeks' notice that Job C might need 8 electricians in week 6, an agency can pre-screen and soft-hold candidates against that date rather than starting cold once the bid is awarded. The earlier the forecast is shared, the more it functions as flex capacity across all your sites rather than a break-glass vendor for the site that's currently on fire.

This doesn't outsource the planning — you still own the schedule logic and the phase-by-phase headcount numbers. What changes is that the staffing relationship becomes a standing input to the forecast (known available capacity by trade, by week) instead of a reactive fill request that shows up after the gap has already cost you schedule days.

Keeping the Forecast Honest: A Weekly Cadence

Update the forecast every Friday, before the weekend, using actual schedule updates from each PM — not verbal estimates. Review the pursuit list monthly and adjust probability weights as bids move through stages. Flag any week where combined trade demand across all sites exceeds your known available crew plus agency capacity, and flag it at least two weeks before that week arrives, not the Monday it starts.

None of this requires special software. A shared spreadsheet with discipline behind it beats a sophisticated tool nobody updates. The value isn't the format — it's seeing the collision while there's still time to do something about it.

Frequently asked

How far out should a trade labor forecast look?

Most contractors get the most useful signal from an 8 to 13-week rolling window, since that roughly matches how far in advance you can source licensed trades without paying a rush premium or waiting on certification checks. Shorter windows miss ramp-up conflicts between jobs; much longer windows are usually too speculative to be actionable since schedules that far out shift constantly. The window should roughly match your typical mobilization lead time for the trades you staff most.

Do I need special forecasting software to do this across multiple jobs?

No. A shared spreadsheet with rows for each trade, columns for each week, and disciplined weekly updates works fine for most contractors running a handful of concurrent jobs. The tool matters far less than the habit of pulling numbers from actual project schedules rather than PM guesses, and actually reviewing the forecast every week rather than building it once and letting it go stale.

How do I forecast labor for jobs I haven't won yet?

Add pursuit jobs to the forecast as a separate line with a probability weight based on where the bid stands — for example, a lower weight for a job you just submitted versus a job where you're the apparent low bidder awaiting award. This keeps a won bid from blindsiding a forecast that only tracked jobs already under contract, which is one of the most common ways contractors get caught flat-footed on mobilization.

What's the difference between a labor forecast and a staffing order?

The forecast is your internal planning tool — a rolling view of trade demand across every active and pursuit job, used to spot conflicts before they happen. A staffing order is the execution document you send to fill a specific, confirmed gap: trade, certifications required, start date, shift, and site. The forecast tells you a gap is coming; the order is how you act on it once it's confirmed.

Let's staff your project.

Whether you need one electrician next week or a 20-person crew next month, we can scope it in 15 minutes.

Call Request Talent