Resource Loading and Histograms
Last reviewed 9 September 20262,225 words10 min read
Labour by trade, quantities by activity, and the peak nobody can house
๐ฉ In one line: Load labour by trade as manhours on every production activity, load quantities as a second resource on measured trades, and read the histogram for three things โ the peak, the ramp, and the sawtooth โ before you believe any date the schedule shows.
๐ค Who this is for: Junior to mid-level planners loading a baseline; senior planners checking realism. Prerequisites: Crew-and-manhour-formulas, P6-duration-types-explained, Percent-complete-types.
First, let's be honest about why this page exists
A schedule with no resources is a list of wishes with dates. Every duration in it came from a crew size; if the crews are not in P6 you cannot check whether 14 activities all assumed the same 20 steel-fixers in the same week, whether the site peaks at 2,400 when the camp holds 1,800, or whether the recovery plan ramps from 900 to 2,100 in three weeks.
Resource loading is also the cheapest thing you will do: the manhours already exist in the duration basis, and roll-up by manhours is how the hub weights percent complete. This page covers labour and quantity loading, the histogram, and the checks. Cost is on Cost-loading-and-cash-flow; levelling on Resource-levelling.
๐จ The standard โ what "good" looks like
| Source | What it says (paraphrased) | Use it for |
|---|---|---|
| DCMA 14-Point, item 10 (Resources) | Every activity with duration should carry a resource or cost; missing resources flagged | Coverage test |
| GAO Schedule Assessment Guide, Best Practice 5 | Assign resources to all activities; check that the resulting profile is achievable | Realism test |
| AACE RP 38R-06 | SBM documents resource basis, productivity, peak and availability assumptions | Where the histogram lives |
| AACE RP 39R-06 Project Planning โ As Applied in Engineering and Construction for Capital Projects | Resource planning integral to schedule development (check against your copy) | Justifying loading at baseline |
| PMI Practice Standard for Scheduling, 3rd ed. | Resource loading and levelling components of a schedule model (check against your copy) | Definitions |
| FIDIC 1999 Cl 4.21 / 2017 Cl 4.20 (progress reports); Cl 6.10 | Monthly reports include personnel numbers by category; records of personnel on site (check the edition in your contract) | Planned vs actual manpower is contractually reported |
| FIDIC 2017 Cl 8.3 | Programme supporting report includes estimated personnel by category per period (check against your copy) | Histogram submitted with the programme |
| NEC3 / NEC4 Cl 31.2 | Programme shows resources the Contractor plans to use for each operation (check against your copy) | Loading is required content |
| Hub convention | Duration = manhours รท (crew ร hours/day); Fixed Duration & Units on production; roll-up by manhours; second crew โ 60โ70 %; histogram ramp check in recovery | Your defaults |
๐ข Rule: if the duration came from a crew, the crew is in the schedule; if the histogram shows a peak the site cannot house or a ramp the market cannot supply, the dates are not real yet.
How it actually works
1. Two kinds of resource, two jobs.
| Resource type | Unit | Assigned to | Purpose |
|---|---|---|---|
| Labour, by trade (e.g. LAB-STF steel-fixer, LAB-CRP carpenter, LAB-MEP-DUCT) | Manhours (h) | Every production Task Dependent activity; LOE support activities | Histogram, roll-up weighting, realism |
| Quantity / material (e.g. QTY-CONC mยณ, QTY-REBAR t, QTY-BLK mยฒ, QTY-DUCT kg) | Physical unit | Measured-trade activities only | Progress by units complete; ties to the quantity sheet |
| Nonlabour / equipment (e.g. EQ-TC1 tower crane) | Hours | Crane-dependent activities where capacity is the check | Hook-hour capacity (see Site-logistics-in-the-schedule) |
Never load headcount as the unit. Manhours divide cleanly into any calendar; headcount does not. P6 shows headcount as units/time on the histogram once the calendar is right.
2. Build the dictionary. Enterprise โ Resources (check against your P6 version). Hierarchy: Labour โ discipline โ trade; Material โ discipline; Nonlabour โ plant. Twelve to thirty labour resources on a building; more is a Level 4 dictionary the histogram will not survive. Each resource: unit of measure, default units/time (10 h/d for site, 8 h/d office), calendar = the project site or office calendar, Max Units/Time = the planned peak for that trade (used as the availability line on the histogram). Project-level resources are created by the planner; enterprise resources by the admin (see P6-eps-obs-and-enterprise-data).
3. Load the activities. Activities โ Activity Details โ Resources tab (check against your copy). For each production activity:
| Field | Value | Why |
|---|---|---|
| Resource | Trade resource | One per trade on the activity; a slab has STF, CRP, CONC-GANG |
| Budgeted Units | Manhours from the Duration Basis UDF (Qty ร rate) | Same number that made the duration |
| Duration type | Fixed Duration & Units (project default) | Changing crew size does not change the duration by itself โ you recompute RD deliberately |
| Resource curve | Linear by default; front-loaded for set-out-heavy work, back-loaded for finishing, bell for long pours only where it is true | Enterprise โ Resource Curves (check against your copy) |
| Quantity resource | Second assignment; Budgeted Units = quantity | Units % where the quantity resource is the sole measure |
| Price/unit | Blank or zero at this stage | Cost is loaded on Cost-loading-and-cash-flow; don't muddle labour cost into manhours |
Speed: load one activity of each type, then copy assignments via Fill Down in the Resource Assignments window or spreadsheet import with the assignment table from the quantity sheet. Never key 2,000 assignments by hand.
4. Read the histogram. View โ Show on Bottom โ Resource Usage Profile (check against your copy). Filter to the labour resources, timescale weekly, stacked by resource, show Budgeted Units/Time, tick the Max Units limit line. Three reads, in order:
| Read | Question | Threshold | If it fails |
|---|---|---|---|
| Peak | Total labour at peak week vs camp beds, transport, welfare, permits | Peak โค accommodation capacity; typical Gulf tower 1,200โ2,000; hospital 2,500โ4,000 | Spread the peak: SOFT-PREF sequence, zone offsets, second shift |
| Ramp | Mobilisation rate per trade | Sustained ramp โค 10โ15 % week on week per trade; a trade cannot double in a month | Earlier mobilisation, staged start, or honest later dates |
| Sawtooth | Weekly swings within a trade | Peaks/troughs > 30 % of the mean mean the sequence is fictional or the curves are wrong | Check SS/FF pairs and zoning; a trade should flow, not pulse |
Then per trade: does the STF line show 60 for 14 weeks when the subcontractor has 35 on site and 40 in the visa pipeline? That gap is the true forecast before anything slips.
5. Baseline the histogram. Export the weekly table (Resource Usage Spreadsheet โ copy, or Tools โ Reports) to the SBM as the planned manpower curve, by trade and total. The FIDIC monthly report's personnel table compares actual site headcount (from the gate log, converted to manhours at actual hours) against it. Actual manhours also go into P6 monthly as Actual Units where the contract or the EV method needs them; otherwise the comparison lives in the report and P6 carries budget and remaining.
6. Keep it alive. At each update, Remaining Units = remaining quantity ร rate (from the sheet) and Remaining Duration from achieved rate โ entered separately, both. The remaining histogram then shows what the forecast actually requires. In recovery, the ramp check is a pre-issue test: a Reflection that saves 30 days by adding 400 workers in two weeks fails, whatever the dates say.
๐ฅ Where people go wrong
- No resources, or resources on 40 % of activities. DCMA item 10 fails and the histogram is meaningless. Coverage target: every production activity; LOE support; nothing on milestones.
- Headcount as the unit. "12 men" on a 10-hour calendar and a 7-day curing calendar produce different manhours and the roll-up weighting breaks. Manhours, always.
- Fixed Units or Fixed Units/Time on production. Add a resource and the duration moves silently; import a quantity change and half the schedule reschedules. Fixed Duration & Units, and recompute RD by hand when the crew genuinely changes.
- Histogram never opened. The schedule is loaded, the file is submitted, the peak is 3,100 on a camp of 1,900. Read the three checks before every baseline and every recovery issue.
- Trusting the total when the trades are wrong. Total 1,600 looks fine; the finishing trades show 900 in one month and 150 the next. Read by trade.
- Curves used to hide a bad sequence. A bell curve on a 40-day blockwork activity makes the sawtooth disappear without changing the plan. Curves reflect how the work actually consumes hours; the fix for a sawtooth is the sequence.
- Importing the subcontractor's resource dictionary. Forty duplicate trades appear, half with 8-hour calendars. Prod-Safe import: Do Not Import resources; theirs stay in the sandbox.
โ๏ธ When you're challenged
"Why do we need resources? The durations are already agreed." The durations came from crews. Without the crews in the schedule nobody can see that the plan needs 84 steel-fixers in March and the subcontractor has 50. That's not a scheduling problem โ it's the first forecast of a slip, three months early.
"The histogram peaks at 2,300 โ so what?" The camp is 1,800 and the transport contract is 1,900. Either we add 500 beds by month 11 or the peak flattens and the dates move. I'd rather show that now than in month 11.
"Just load it at the end; we're busy." The manhours are already in the duration-basis UDF on every activity; loading is a spreadsheet import, about a day. Reading the result is what saves the month.
"Your manpower report says 1,400 planned; we've got 1,650 on site. We're ahead, aren't we?" More people is not more progress โ earned manhours this month are 91 % of planned, so 1,650 people produced less than 1,400 were meant to. That's the productivity question, and it's on Manhour-budget-and-productivity-tracking.
๐ Related pages
- Crew and Manhour Formulas โ where the budgeted units come from
- P6 Duration Types Explained โ why Fixed Duration & Units
- Percent Complete Types โ Physical vs Units and roll-up by manhours
- Manhour Budget and Productivity Tracking โ actual vs planned manhours after loading
- Cost Loading and Cash Flow โ adding cost to the same assignments
- Resource Levelling โ what P6 levelling does and why you rarely run it
- Site Logistics in the Schedule โ crane hook-hours as a nonlabour resource
- Redirect: labour-vs-quantity-loading and histograms-and-manpower-curves are absorbed into this page
โ๏ธ Worked example โ Abu Dhabi residential tower AUH-RT14, baseline histogram review
Dictionary (extract): 18 labour resources, 6 quantity resources, 2 nonlabour (TC1, TC2). Site calendar 6-day 10 h. Camp capacity 1,750 beds.
Loading extract, typical floor (L14) slab:
| Activity | Dur (d) | Resources | Budgeted Units (h) | Quantity resource |
|---|---|---|---|---|
| L14 slab formwork Zone A | 6 | LAB-CRP | 1,440 (24 ร 10 ร 6) | QTY-FORM 620 mยฒ |
| L14 slab rebar Zone A | 5 | LAB-STF | 1,000 (20 ร 10 ร 5) | QTY-REBAR 42 t |
| L14 slab pour Zone A | 1 | LAB-CONC | 180 (18 ร 10) | QTY-CONC 310 mยณ |
| L14 curing Zone A (7-day cal) | 3 | none | โ | โ |
Histogram reads, planned peak month (month 14):
| Trade | Peak weekly headcount (units/time รท 10 h) | Planned availability (Max Units) | Verdict |
|---|---|---|---|
| Carpenters | 96 | 100 | OK |
| Steel-fixers | 88 | 60 | Over by 28 โ L12โL15 rebar overlaps with core wall rebar; SOFT-PREF overlap reduced, peak now 64 |
| Blockwork | 140 | 120 | Over by 20 โ three floors of blockwork in one week; zone offset SS+3 โ 118 |
| MEP first fix | 310 | 300 | Marginal, accepted |
| Finishing (all) | 420 | 450 | OK |
| Total | 1,910 | 1,750 beds | Over by 160 in weeks 58โ61 |
Resolution: Two SOFT-PREF changes (steel-fixer overlap, blockwork zone offset) in a Reflection; net effect on contractual completion 0 days (comparison archived); peak reduced to 1,740. Ramp check: total labour rises from 1,100 in week 44 to 1,740 in week 58 โ 4 % per week average, acceptable. Sawtooth check: MEP first fix shows ยฑ35 % weekly swing; traced to floor-by-floor FS logic without SS overlap between floors; SS+4 pairs added within the subcontractor's method statement revision 2; swing now ยฑ12 %. All three edits listed in the SBM ยง7 resource basis and the change table as planner edits.
๐ References
- DCMA 14-Point Schedule Assessment, item 10; GAO Schedule Assessment Guide GAO-16-89G, Best Practice 5
- AACE International RP 38R-06, Documenting the Schedule Basis; RP 39R-06 (check against your copy)
- PMI, Practice Standard for Scheduling, 3rd ed. (check the edition and section in your copy)
- FIDIC Conditions of Contract for Construction 1999, Cl 4.21, 6.10; 2017, Cl 4.20, 6.10, 8.3 (check the edition in your contract)
- NEC3 / NEC4 ECC, Cl 31.2 (check the edition in your contract)
- Oracle Primavera P6 Professional User Guide โ Resources; Resource Assignments; Resource Usage Profile; Resource Curves (check against your P6 version)
From the field
Experience from working planners. Unreviewed โ read it as experience, not guidance.
Add what you know about resource loading and histograms. What worked, what the consultant pushed back on, what you would do differently next time. A paragraph is plenty.
Contributors get their name and one link on the site โ your own templates, course or consultancy. We take nothing and hold nothing.
Add your experience