CON-330 · Lesson 2 of 12 · 26 min
Procurement planning and strategy
Procurement planning answers four questions before any invitation to bid goes out: how the work will be divided into packages, which packages the contractor will perform itself, where each package will be sourced, and when each must be awarded so that the material or the trade arrives when the schedule needs it. The answers become the procurement plan, and at its core is the procurement schedule. A good plan is short, specific and owned by the project manager; a bad plan is a generic checklist nobody reads. This lesson builds the Larch Street plan step by step.
Packaging the work
A package is the unit of buying: one scope, one contract, one responsible firm. Most packages follow the trades a market is organized around, so the starting point is usually the estimate's trade breakdown, which follows MasterFormat divisions. But the contractor still makes choices: whether to combine related scopes, split large ones, separate supply from installation, or carve out items that create interface risk.
| Decision | Reasons to do it | Risks |
|---|---|---|
| Combine scopes (for example, doors, frames and hardware with installation) | Fewer interfaces, single responsibility, less coordination | Fewer bidders who can do everything; less price competition |
| Split a large scope (for example, mechanical into plumbing, HVAC and controls) | More bidders, smaller firms can compete, less dependence on one trade | More interfaces and gaps; more coordination effort |
| Separate supply from installation | Buy long-lead equipment early; control a critical material | Who is responsible when supplied items are late or defective? |
| Package by area or phase (for example, podium versus residential floors) | Matches capacity of local trades; allows earlier start | Two firms doing similar work to different standards |
| Bundle small scopes into a general trades package | Reduces the number of small contracts to administer | Bundled firm may subcontract again, adding markup |
The right answer depends on the local market. In a busy market with few qualified mechanical contractors, splitting mechanical into plumbing and HVAC may bring in firms that could not take on the whole scope. In a slow market, combining scopes may attract strong bidders looking for volume. The contractor's own capacity matters too: a firm with a strong carpentry crew might self-perform doors and hardware installation and buy only the supply.
The responsibility matrix
Once packages are chosen, the contractor must make sure that every item of work belongs to exactly one package. The tool is a responsibility matrix, also called a division of work or scope matrix: a table with items down the side and packages across the top, with one mark per row. It is built from the specifications, the drawings and experience of what falls between trades. Items that commonly fall into gaps include firestopping, blocking and backing in walls, temporary heat and protection, final electrical connections to mechanical equipment, roof curbs and penetrations, access panels, and cleaning.
| Item | Mechanical | Electrical | Roofing | Drywall | Halyard (self) |
|---|---|---|---|---|---|
| Rooftop unit curbs, supply | X | ||||
| Rooftop unit curbs, flashing into roof | X | ||||
| Power wiring to rooftop units | X | ||||
| Control wiring for rooftop units | X | ||||
| Firestopping at mechanical penetrations | X | ||||
| Firestopping at electrical penetrations | X | ||||
| Firestopping at drywall head-of-wall joints | X | ||||
| Blocking for wall-hung fixtures | X | ||||
| Access panels, supply | X | ||||
| Access panels, install in walls and ceilings | X |
# Check a responsibility matrix: every item must have exactly one owner
matrix = {
"Rooftop unit curbs, supply": ["Mechanical"],
"Rooftop unit curbs, flashing": ["Roofing"],
"Power wiring to rooftop units": ["Electrical"],
"Control wiring for rooftop units": ["Mechanical", "Electrical"],
"Firestopping, electrical penetrations": ["Electrical"],
"Blocking for wall-hung fixtures": [],
"Access panels, install": ["Drywall"],
}
for item, owners in matrix.items():
if len(owners) == 0:
print(f"GAP {item}")
elif len(owners) > 1:
print(f"OVERLAP {item}: {', '.join(owners)}")
print("Items with exactly one owner:",
sum(1 for o in matrix.values() if len(o) == 1), "of", len(matrix))OVERLAP Control wiring for rooftop units: Mechanical, Electrical GAP Blocking for wall-hung fixtures Items with exactly one owner: 5 of 7
The check above finds one gap and one overlap in a draft matrix. Control wiring is a classic overlap: the mechanical specification says the controls contractor provides it, and the electrical specification says all wiring is electrical. Unless the matrix settles it before bids, both trades may price it (and the contractor pays twice) or both may exclude it. The matrix is issued with the invitation to bid so that bidders price the same scope, and it is attached to each subcontract.
Self-perform or subcontract
Many contractors keep some trades in house: concrete, rough carpentry, general labour, sometimes drywall or millwork. The decision is a make-or-buy comparison. Self-performing can earn a margin that would otherwise go to a subcontractor and gives direct control of critical-path work, but it also brings labour productivity risk, equipment costs, supervision and safety exposure.
# Make-or-buy: self-perform concrete formwork and placing, or subcontract it?
self_perform = {
"crew wages (incl. burden)": 1_920_000,
"formwork materials and rental": 610_000,
"equipment (pump, tools)": 240_000,
"supervision (foreman, share)": 180_000,
"risk allowance (productivity)": 145_000,
}
sub_quote = 3_260_000 # best adjusted subcontract quote, same scope
markup_on_sub = 0.04 # fee Halyard can earn on subcontracted work
sp_cost = sum(self_perform.values())
print(f"Self-perform cost: {sp_cost:>12,}")
print(f"Subcontract quote: {sub_quote:>12,}")
print(f"Saving from self-perform: {sub_quote - sp_cost:>12,}")
print(f"Saving as % of quote: {(sub_quote - sp_cost) / sub_quote:>11.1%}")Self-perform cost: 3,095,000 Subcontract quote: 3,260,000 Saving from self-perform: 165,000 Saving as % of quote: 5.1%
On these illustrative numbers, self-performing the podium formwork and placing is about $165,000 cheaper than the best subcontract quote, including an allowance for productivity risk. Halyard also values the control: the podium is on the critical path, and its own crews can adjust sequence daily. But the decision is not only about cost. If Halyard's concrete crews were fully booked on another project, the cheaper option on paper would mean hiring unknown labour, and the risk allowance would need to be much larger.
| Factor | Favours self-perform | Favours subcontract |
|---|---|---|
| Cost | Own crews productive and cost below market | Specialist trade has better productivity or buying power |
| Control | Critical-path work where daily control matters | Work off the critical path or highly specialized |
| Capacity | Crews and supervisors available | Own forces committed elsewhere |
| Risk | Firm understands and can manage the risk | Risk better carried by a specialist (for example, warranties, licensed work) |
| Licensing and code | Not a licensed or certified trade | Trade requires certification (for example, electrical, gas fitting, elevators) |
| Strategy | Builds a capability the firm wants to keep | Keeps the firm lean and flexible |
Sourcing strategy
For each package the contractor decides where it will look for bidders and how the material will reach site. Local trades know the inspectors, unions or labour pool and the weather; regional or national firms may bring capacity and buying power. For materials, the choice is often between buying through the installing subcontractor (simplest: one responsibility) and buying direct from the manufacturer or distributor (sometimes cheaper, and it secures the material early, but the contractor takes on supply risk).
| Sourcing route | When it makes sense | Watch out for |
|---|---|---|
| Supply and install by subcontractor | Most trades; standard materials | Subcontractor's supply chain becomes your schedule risk |
| Contractor-direct purchase, installed by subcontractor | Long-lead or volatile materials; contractor has buying leverage | Interface: who handles damage, shortages, warranty |
| Owner pre-purchase, assigned to contractor | Owner buys switchgear or elevators before the contractor is hired | Assignment terms, warranty start date, who carries delay risk |
| National account or framework agreement | Contractor buys the same items on many projects | Price adjustment terms, minimum volumes |
| Imported materials | Lower price or unavailable domestically | Lead time, duties and tariffs (Lesson 8), Incoterms (Lesson 6), domestic content rules on public work (Lesson 10) |
The procurement schedule
The procurement schedule works backward from the date each package is needed on site. The need-by date comes from the construction schedule (CON-210). From it, the planner subtracts the time for each step of the procurement chain: delivery, fabrication, submittal approval (often several review cycles), submittal preparation, contract execution, award and bidding. The result is the latest date to issue the invitation to bid. If that date is already past, the package is late before it starts.
# Backward procurement schedule for Larch Street long-lead packages (weeks after award)
pkgs = {
# need_by ship fab review_cycle cycles prep award bid
"Switchgear": (56, 2, 40, 2, 2, 4, 2, 3),
"Elevators": (52, 3, 30, 2, 2, 5, 2, 3),
"Windows": (40, 2, 18, 2, 2, 5, 2, 3),
"Rooftop units": (50, 2, 26, 2, 1, 3, 2, 3),
}
float_weeks = 2
for name, (need, ship, fab, rev, n, prep, award, bid) in pkgs.items():
chain = ship + fab + rev * n + prep + award + bid + float_weeks
issue_by = need - chain
flag = "LATE" if issue_by < 0 else ("urgent" if issue_by <= 2 else "ok")
print(f"{name:14} need-by wk {need:2} chain {chain:2} wk issue bid package by wk {issue_by:3} {flag}")Switchgear need-by wk 56 chain 57 wk issue bid package by wk -1 LATE Elevators need-by wk 52 chain 49 wk issue bid package by wk 3 ok Windows need-by wk 40 chain 36 wk issue bid package by wk 4 ok Rooftop units need-by wk 50 chain 40 wk issue bid package by wk 10 ok
The schedule shows why switchgear and elevators must be the first packages out. Switchgear, with an illustrative fabrication time of 40 weeks, shows as late on the day of award: its latest issue date is a week before award, so even the float is already used. Elevators must go out by week 3 and windows by week 4; rooftop units have more room. Lead times for electrical distribution equipment, transformers and generators have been unusually long in recent years: in mid-2026, industry sources reported medium-voltage switchgear at roughly 52 to 80 weeks and pad-mount transformers at about 40 to 65 weeks, with some utility substation equipment taking two years or more. The durations here are illustrative; a real plan uses current quotes from suppliers, which can change from month to month.
Worked problem
Recovering a late package
The switchgear calculation shows the bid package should have been issued at week −1. It is now week 1. What options does Halyard have to recover the two weeks?
Show solution
- Shorten the bid period from 3 weeks to 1 week by inviting only two prequalified bidders and negotiating.
- Ask the electrical engineer to review the first submittal within one week instead of two (an owner-side action Halyard must request in writing).
- Ask the manufacturer for a production slot reservation on a letter of intent while the contract is finalized.
- Check whether the owner or utility has pre-purchased or can release equipment from another project.
Answer: Any combination recovering two weeks restores the plan. Each option has a cost or risk (less competition, owner cooperation, commitment before full contract), which is why the procurement schedule must be built in the first days after award, not discovered later.
Writing the procurement plan
The procurement plan pulls these decisions into one document, typically five to fifteen pages for a mid-size project. It is reviewed with the superintendent, estimator and senior management in the first week after award, updated as packages are bought, and filed as part of the project record.
| Section | Contents |
|---|---|
| Package list | Each package, its scope basis (specification sections), budget and self-perform or subcontract decision |
| Responsibility matrix | Division of work for commonly disputed items |
| Sourcing strategy | Bidder lists, direct-purchase items, owner pre-purchases, imported items |
| Procurement schedule | Need-by dates and latest dates to issue, award and release each package |
| Prequalification approach | Criteria and thresholds (Lesson 3) |
| Commercial terms | Standard subcontract and purchase order forms, insurance and bonding requirements, payment terms |
| Public or owner requirements | Domestic content, social procurement, local hiring, approved manufacturer lists (Lesson 10) |
| Risks and mitigations | Long-lead items, single-source items, tariff exposure, thin trade markets |
Common mistakes
MistakeCopying the estimate's trade breakdown as the package list without thought.
InsteadDecide deliberately where to combine, split or separate supply from installation, based on the market and interfaces.
MistakeIssuing bid packages without a responsibility matrix.
InsteadIssue the matrix with the bid documents so every bidder prices the same scope.
MistakeDeciding to self-perform on cost alone.
InsteadInclude supervision, equipment, productivity risk, capacity and licensing in the comparison.
MistakeScheduling procurement forward from award.
InsteadSchedule backward from need-by dates, including all submittal review cycles and float.
MistakeUsing last year's lead times.
InsteadConfirm current lead times with suppliers; they can change quickly.
MistakeWriting a plan nobody uses.
InsteadKeep it specific and short, review it in the first week and update it as packages are bought.
Summary and key terms
- Procurement planning decides packaging, self-perform versus subcontract, sourcing and timing before bidding starts.
- Packaging choices trade price competition against interfaces and coordination, and depend on the local market.
- A responsibility matrix assigns every commonly disputed item to exactly one package and is issued with the bid documents.
- Make-or-buy compares the full cost and risk of self-performing with the best subcontract price, plus control, capacity and licensing.
- Sourcing routes include supply-and-install subcontracts, contractor-direct purchase, owner pre-purchase, framework agreements and imports.
- The procurement schedule works backward from need-by dates through shipping, fabrication, submittal review, award and bidding.
- The procurement plan records these decisions and is updated throughout buyout.
- Procurement plan
- A document setting out packages, sourcing, schedule, terms and risks for buying a project.
- Responsibility matrix
- A table assigning each item of work to exactly one package.
- Make-or-buy
- The decision whether to self-perform work or subcontract it.
- Need-by date
- The date a material, equipment item or trade must be on site to support the schedule.
- Procurement schedule
- A schedule of latest bid, award, submittal and release dates for each package.
- Backward scheduling
- Calculating start dates by subtracting durations from a required finish date.
- Direct purchase
- Buying material from a supplier for installation by a subcontractor.
- Owner pre-purchase
- Equipment bought by the owner before the contractor is engaged, usually assigned to the contractor later.
- Framework agreement
- A standing agreement setting terms for repeated purchases.
- MasterFormat
- The standard division of construction specifications into numbered sections.
Practice problems
Work each problem on paper first, then reveal the answer to check.
Give one reason to split a large mechanical scope into plumbing and HVAC.
Show answer
To attract more bidders or smaller firms in a market with few firms able to take the whole scope.
What is the main risk of separating supply from installation?
Show answer
Unclear responsibility for late, damaged or defective supplied items.
Name four items that commonly fall into scope gaps.
Show answer
Firestopping, blocking, temporary heat, final connections, roof curbs and penetrations, access panels, cleaning.
A self-perform estimate totals $2,950,000 and the best subcontract quote is $3,080,000. What is the saving?
Show answer
$130,000, about 4.2 % of the quote.
Why might a contractor subcontract work it could perform more cheaply?
Show answer
Its crews are committed elsewhere, the risk is large, or the trade needs a licence or certification.
Need-by week 30; shipping 2, fabrication 12, two review cycles of 2, preparation 3, award 2, bid 3, float 2. When must the bid package be issued?
Show answer
Chain = 2 + 12 + 4 + 3 + 2 + 3 + 2 = 28 weeks; issue by week 2.
What should happen if the latest issue date is already past?
Show answer
Take recovery actions: shorten bidding, speed reviews, reserve production slots, or find pre-purchased equipment.
List three sections of a procurement plan.
Show answer
Package list, responsibility matrix, sourcing strategy, procurement schedule, commercial terms, risks.
Why issue the responsibility matrix with the bid documents?
Show answer
So all bidders price the same scope, making bids comparable and reducing gaps.
Why should lead times be confirmed with suppliers?
Show answer
They change quickly with demand and supply; old figures can make the plan late.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.