Labor Loader

Labor Loader  /  Manpower-Loaded Schedule

Manpower-Loaded Schedule: What It Is, Why Your GC Is Asking, and How to Build One From Their P6 or MS Project PDF

By the Labor Loader team · Published

A manpower-loaded schedule is a construction schedule in which every activity carries the crew size or labor hours needed to complete it, so the totals per week form a manpower histogram. It answers one question the dates alone cannot: how many people does this trade need on site, and when.

Also called: man-loaded schedule, resource-loaded schedule, labor-loaded schedule. The picture it produces is called a manpower loading chart, manpower histogram, labor histogram, or manpower curve. They all describe the same thing: workers per day or week, plotted across the job.

If you are a subcontractor, you usually meet the term in an email from the general contractor: "Please send a man-loaded schedule for your scope by Friday." This page explains what they want, what the contract language behind the request looks like, and how to build one from the schedule PDF the GC already sent you.

What does a GC mean by "man-loaded"?

They mean: take the activities and durations in the project schedule that belong to your trade, and tell us how many workers you plan to put on each one. "Man-loaded", "manpower-loaded" and "resource-loaded" are used interchangeably in the field. The GC is not asking for a new schedule. The dates and logic stay theirs. You are adding one column: crew. They are simply asking how many people it will take to complete the project, given the current schedule.

A GC asks for this for five practical reasons.

  1. To check that the dates are believable. A schedule that shows 20,000 square feet of drywall hung in five days is only real if somebody is planning to send the crew that can do it. Crew sizes expose durations that were guessed.
  2. To see the stacking of trades. When every sub's crew is loaded, the GC can add them up by area and by week. That total drives hoist time, parking, laydown, site safety staffing, etc.
  3. Because their contract with the owner requires it. On public and large private work the owner's scheduling specification often requires a resource-loaded schedule, and the GC passes that requirement down to each subcontractor.
  4. Bid leveling. If the request arrives before the job is awarded, the GC is likely comparing competing companies. Two bids that look the same on price can look very different once each shows the crews and hours behind it.
  5. Capacity. On larger projects, a GC may ask for this to judge whether your company can actually supply the manpower the schedule calls for.

What they expect back is small: your activities, the GC's dates, a crew size (average workers per day) or total man-hours for each, and a chart or table of workers per week. Most GCs are happy with a spreadsheet or a PDF. Some want the numbers typed into their template so they can paste them into Primavera P6.

What do specs and subcontracts actually say?

The request is not a fad. The words come straight out of owner specifications and contract exhibits. A few examples, quoted from the documents themselves.

US Department of Veterans Affairs, Section 01 32 16.16, Network Analysis Schedules (Design-Build), dated 05-01-22. The section opens by requiring the contractor to develop "a fully Resource loaded (cost and manpower) Network Analysis System (NAS) plan". In the list of data that must appear on each work activity (Article 2.3, paragraph A.2, item f) it says:

Manpower required (average number of workers per day). Load manpower for each and every activity with proper trade codes in the "resource" field of P6 for ease of generating individual Trade and overall manpower profile required to plan and complete the project.

The same list asks for activity coding by trade, with examples: "GEN, MECH, ELEC, CARP, PLAST, or other acceptable abbreviations". And it ties the schedule to money. Under periodic progress and payment submittals (Article 3.1, paragraph G):

The Contractor is entitled to a periodic (not less than monthly) progress payment upon approval of the resource loaded project schedule.

That sentence is why a GC on a VA job chases subs for crew sizes: until the loaded schedule is approved, the pay application is stuck. Source: VA Section 01 32 16.16.

US Army Corps of Engineers, UFGS 01 32 01.00 10, Project Schedule (August 2026). The Corps treats workers per day as an activity code the Contracting Officer can turn on. Paragraph 3.3.7.1:

Assign Workers per Day for all field construction or direct work activities, if directed by the Contracting Officer. Workers per day is based on the average number of workers expected each day to perform a task for the duration of that activity.

And if a contractor proposes to finish early, paragraph 3.3.21 says the schedule will not be accepted "without being fully resource-loaded (including crew sizes and hours)". So on Corps work the requirement is conditional, but when it applies the unit is the same: average workers per day, per activity. Source: UFGS 01 32 01.00 10.

Private EPC contracts. The same idea shows up in negotiated contracts, usually in hours rather than heads. One publicly filed engineering, procurement and construction contract for a power plant states that the baseline schedule and every update "will be manpower loaded", that each activity is assigned a total number of craft-hours, and that the hours loaded in the schedule must balance to the contractor's total estimated direct man-hours. Source: contract exhibit filed with the SEC, Section 8.4.3.

Two units, then, and you should know which one your GC wants:

They convert into each other with one line of arithmetic, shown below.

What does a manpower-loaded schedule look like?

Here is a small, made-up example: a framing and drywall subcontractor's scope on the second floor, east wing, of a medical office building. The activity IDs, names and dates are the GC's. The man-hours come from the sub's estimate. Divide them by the working days in the activity, then by the hours each person works in a day, and you have the average crew.

IDActivityTradeGC's datesMan-hoursWorking daysHours per dayAverage crew
A1010Layout and top track, L2 EastCarpentersMar 1 – Mar 580÷ 5÷ 8= 2
A1020Frame interior partitions, L2 EastCarpentersMar 8 – Mar 26720÷ 15÷ 8= 6
A1030In-wall backing and blocking, L2 EastCarpentersMar 22 – Apr 2160÷ 10÷ 8= 2
A1040Hang drywall, L2 EastCarpentersMar 29 – Apr 16960÷ 15÷ 8= 8
A1050Tape and finish, L2 EastFinishersApr 12 – Apr 30600÷ 15÷ 8= 5
Total2,520

Man-hours are your input, from your estimate. Working days are Monday to Friday, counted from the GC's start and finish. Hours per day is 8 unless you are planning overtime. The last column is what goes back to the GC, and that table is the manpower-loaded schedule.

Notice the trade column. Hanging drywall and taping it are usually done by two different trades, even when both work for the same subcontractor: carpenters hang the board, finishers tape and finish it. If your company employs more than one trade, expect the GC to ask for the manpower broken out by trade classification, not just a single headcount. Owner specifications ask for the same thing. That is what the VA's trade codes (CARP, PLAST, ELEC and the rest) are for. Load each activity with the trade that performs it and the breakout takes care of itself.

Now lay each crew out across the days its activity runs, and add up every column, once per trade and once for everyone. The totals are the workers you need on site each day. Drawn as bars, they are the manpower histogram:

Manpower loading chart: crew size on each activity for every working day, the total workers per day by trade, and the resulting histogramWorkers per day, by week — Mar 1: 2 · Mar 8: 6 · Mar 15: 6 · Mar 22: 8 · Mar 29: 10 · Apr 5: 8 · Apr 12: 13 · Apr 19: 5 · Apr 26: 5. Peak: 13 workers, week of Apr 12 (8 carpenters and 5 finishers). By trade: carpenters peak at 10 (week of Mar 29); finishers peak at 5 (week of Apr 12).Mar 1Mar 8Mar 15Mar 22Mar 29Apr 5Apr 12Apr 19Apr 261234589101112151617181922232425262930311256789121314151619202122232627282930Layout and top track22222Frame interior partitions666666666666666In-wall backing and blocking2222222222Hang drywall888888888888888Tape and finish555555555555555Carpenters per day2222266666666668888810101010108888888888Finishers per day555555555555555All workers per day2222266666666668888810101010108888813131313135555555555051015Manpower histogramworkers on site by day, by tradePeak: 13CarpentersFinishers
Workers per day, by week — Mar 1: 2 · Mar 8: 6 · Mar 15: 6 · Mar 22: 8 · Mar 29: 10 · Apr 5: 8 · Apr 12: 13 · Apr 19: 5 · Apr 26: 5. Peak: 13 workers, week of Apr 12 (8 carpenters and 5 finishers). By trade: carpenters peak at 10 (week of Mar 29); finishers peak at 5 (week of Apr 12). Weekends are the gaps between weeks.

Want to try it with your own numbers? Open the free manpower loading chart generator with this example's dates and total hours filled in, then change them.

Four things jump out that the dates alone never showed:

How do you convert between man-hours and crew size?

Divide the hours by the working days and by the hours in a shift:

crew = man-hours ÷ (working days × hours per day)

So 720 hours of framing in a 15-day activity at 8 hours a day is 720 ÷ (15 × 8) = 6 framers.

An estimator writing in Electrical Contractor magazine gives the same formula for electricians, then makes a useful point: nobody installs for a full eight hours. After setup, material handling, breaks and cleanup, he suggests dividing by six productive hours instead of eight, which in his example raises a four-person crew to between five and six (Stan Shook, "Calculating Manpower", Electrical Contractor, May 2008). Whichever divisor you use, use the same one on every activity and tell the GC which it is.

Start from whichever number you trust more. If your estimate has labor hours by area or by system, spread those hours over the GC's activities and let the formula produce the crews. If your estimate is thin but your foremen know what crew the work takes, start from their crews and compare the hours they add up to with your bid.

How do I build one from the GC's schedule PDF?

You do not need Primavera P6 or Microsoft Project. The GC's PDF already contains everything except your crews.

  1. Get the schedule in a readable form. Ask for the P6 or MS Project schedule as a PDF with the activity table showing (ID, name, start, finish, duration). An XER or XML export also works. A native .mpp file does not help unless you own Project; ask for a PDF print of it instead.
  2. Pull your scope. A GC schedule often runs to hundreds or thousands of activities and only a few dozen are yours. Filter by the words your trade shows up under: "frame", "drywall", "GWB", "tape", "ceiling" and so on. Check the result against the floor plans, because schedulers name things inconsistently. In Labor Loader this is the keyword step: drop the PDF into the scope sandbox and it lists every matching activity with its dates. You can also do this by hand, copying your activities and durations into Excel, but it is time-consuming and error-prone.
  3. Put a crew or hours on every activity. Work down the list with your estimate or your foreman. Average workers per day is the usual unit. Where two of your activities overlap in the same area with the same people, say so, or the chart will double-count them.
  4. Look at the chart before the GC does. Find the peak week and the steepest ramp. Compare the total hours with your bid. Fix the crews you can fix and write down the durations you cannot meet. The manpower loader sandbox builds the chart as you type, in your browser, with nothing saved.
  5. Send it with your assumptions. Include the table, the chart, the schedule version and data date you worked from, the shift length you assumed, and any durations you are flagging. Assumptions in writing are what protect you when the schedule changes.

A tool that does steps 2 to 4 is what we call a manpower loader: it man-loads the GC's schedule for your scope and produces the manpower-loaded schedule and manpower loading chart. Labor Loader is one. A careful spreadsheet is another; it is just slower, and it has to be rebuilt on every update.

How is it different from resource loading and cost loading?

Schedulers use three related terms. A manpower-loaded schedule is the labor slice of a resource-loaded one.

Manpower loading Resource loading Cost loading
What is put on each activity Crew size or man-hours Labor, plus equipment and sometimes materials Dollar value
What it produces Manpower histogram: workers per week Resource histograms and curves for each resource Cash-flow curve and the schedule of values
Who usually asks GC to subcontractor; owner to GC Owner specs (VA, USACE, DOTs), EPC contracts Owner, for pay applications
What a sub provides Crews or hours for their own activities Usually labor only; equipment if it is yours and it matters A value for each of their activities

When a spec says "resource loaded" and your scope is labor, a manpower-loaded schedule is what satisfies it. If the GC also wants cost loading, they will ask for a value per activity that adds up to your subcontract amount. That is a separate column on the same list of activities.

What happens when the GC issues revision 2?

The schedule will change, and your crews have to follow it. Every update can move your dates, stretch or compress your durations, add activities, or delete them, usually without anyone telling you which ones.

This is where the hours matter. Suppose framing finishes late and, to hold the turnover date, the GC shortens "Hang drywall, L2 East" from 15 days to 10. The work did not get smaller. The same 960 hours in 10 days is 960 ÷ (10 × 8) = 12 hangers instead of 8, in a week when the finishers are also on the floor. Your peak just went from 13 to 17. That is a conversation to have in writing the week the update comes out, with both charts attached.

So on every update:

Labor Loader's comparison tool does the first step for signed-in users: it lines up two versions of the schedule and lists what was added, removed or changed in your scope, and by how many days.

Why this matters more than it used to

Labor is the constraint on most jobs. In the AGC of America and NCCER 2026 workforce survey of 1,830 respondents, 87 percent of firms reported openings for hourly craft workers, and 42 percent of respondents said shortages of their own or their subcontractors' workers had delayed projects, the most common cause of delay they named (2026 Workforce Survey Analysis). A GC who asks for a manpower-loaded schedule is trying to find those delays while they are still on paper.

Frequently asked questions

Is a man-loaded schedule the same as a manpower-loaded schedule?

Yes. "Man-loaded" is the short form general contractors and subcontractors use in conversation and email. "Manpower-loaded", "labor-loaded" and, in specifications, "resource-loaded" describe the same thing: a schedule with crew sizes or labor hours assigned to each activity.

Does the GC want crew size or man-hours?

Ask, because both are common. Building GCs and the VA specification ask for average workers per day on each activity. Industrial and EPC contracts often ask for total craft-hours per activity so they can be checked against the estimate. Either converts to the other with crew = hours ÷ (days × hours per day).

Do I need Primavera P6 to make one?

No. The GC owns the P6 schedule. You need their activity list for your scope, which a PDF export contains, plus your crew sizes. A spreadsheet or a manpower loader produces the table and the histogram. The GC can key your numbers into P6 if their spec requires it there.

What is a manpower histogram?

A manpower histogram is a bar chart of workers per period, usually per week, built by adding up the crews on every activity active in that period. It is also called a manpower loading chart, labor histogram or manpower curve. Its peak is the largest crew you will need on site.

How detailed should it be?

As detailed as the GC's schedule for your scope, and no more. Load the activities they gave you. If one of their activities hides very different work, such as framing and hanging in a single bar, note the split in your assumptions instead of inventing activity IDs that do not exist in their schedule.

How often do I have to update it?

Every time the GC issues a schedule update that touches your activities, which on an active job is typically monthly and sometimes every two weeks. Re-load only what changed, compare the new peak with the old one, and send both.