← Back to Blog

Why Contractors Over-Purchase Material (And Why It's Rational)

6 min readRunBlu

Last updated: June 10, 2026

Key Facts

  • The average contractor over-purchases material by 15–25%
  • Over-purchasing is the #1 source of material bleed, accounting for 40% of total waste
  • The behavior is rational: when data is untrustworthy, ordering extra is cheaper than running short
  • Buffers compound across the chain — PM, purchasing, and field each add their own
  • Fixing the behavior requires fixing the data, not the people

The buffer chain

Here's how a $4,200 conduit order becomes a $5,800 conduit order without anyone doing anything wrong.

The estimator takes off 1,000 feet of 1-inch EMT for the job. That's the engineered quantity — what's needed based on drawings.

The project manager adds 10%. Not because they're wasteful, but because drawings change, measurements are approximate, and they've been burned before. They submit a material request for 1,100 feet.

Purchasing adds another 10%. Not because they're ignoring the PM, but because lead times are unpredictable, partial shipments happen, and if they under-order, the job stops. They write a PO for 1,210 feet.

The vendor ships 1,250 feet because their minimum cut length is 250-foot reels and they rounded up. Nobody questions this because returning partial reels costs more in labor than the material is worth.

The foreman requests that all 1,250 feet be staged at the site because they don't trust that the rest will be available when they need it. Better to have it sitting there than to wait for a transfer.

1,000 feet needed. 1,250 feet on site. 250 feet of surplus that costs $1,050 and will sit on the job site until someone deals with it — which statistically, nobody will.

Multiply this across every material type on every job, and you understand why contractors carry 15–25% more inventory than they need.

Why it's rational

The instinct to stop over-purchasing is to lecture people about waste. This doesn't work because over-purchasing isn't a discipline problem. It's an information problem.

Consider the PM's perspective: if they request exactly 1,000 feet and 50 feet are damaged on delivery, their job stops while they wait for a reorder. That delay costs them two days of crew time at $4,800/day. A 10% buffer costs $420. The buffer is the smart bet.

Consider purchasing's perspective: they can see the PO history, but they can't see what's physically in the yard. Maybe there are 300 feet of 1-inch EMT sitting in Bay 3 from a previous job. Maybe there aren't. They can't check because nobody tracks physical inventory in real time. So they order the full amount. Again — rational.

Consider the foreman's perspective: they've had material pulled from their job site three times this year because another PM needed it and nobody could find alternatives. So they stage everything as early as possible and guard it. Rational self-defense.

Every person in the chain is making a reasonable decision based on the information available to them. The problem isn't the decisions. The problem is the information.

The compounding math

The buffer chain isn't additive — it's multiplicative.

When the PM adds 10% and purchasing adds 10%, you don't get 20% over-purchase. You get 1.1 × 1.1 = 21%. Add vendor rounding and field staging, and you're at 25–30% over the engineered quantity.

On a $20M contractor doing $6M in annual material purchasing:

| Buffer Source | % Added | Dollar Impact | |--------------|---------|---------------| | PM safety margin | 10% | $600K | | Purchasing buffer | 10% | $660K (compounds on PM buffer) | | Vendor rounding | 3% | $205K | | Field staging | 5% | $337K | | Total excess | ~25% | $1.5M |

Not all of this is lost — some excess gets used on other jobs, some gets returned. But typically 40–60% of excess material becomes permanent inventory. That's $600K–$900K in unnecessary stock that generates carrying costs, occupies yard space, and depreciates.

What breaks the cycle

You can't fix over-purchasing by telling people to stop doing it. You fix it by giving them information that makes the behavior unnecessary.

PM stops buffering when they can see, in real time, that material is allocated to their job and staged for delivery. The system guarantees their allocation — nobody can grab it without a logged transfer.

Purchasing stops buffering when they can see actual yard stock levels before writing a PO. If there are 300 feet of 1-inch EMT in Bay 3, they order 700 feet instead of 1,100.

Foreman stops hoarding when they can see that their material is allocated and tracked. If it's claimed in the system, nobody's taking it. They don't need to stage everything early as insurance.

Vendor rounding becomes visible when receiving logs exact quantities. You can negotiate cut lengths, request credits, or plan allocation around what actually arrives.

Each person's buffer was a response to uncertainty. Remove the uncertainty, and the buffer goes with it.

The in-stock purchasing rule

The most powerful change is the simplest: before any PO is written, the system checks available inventory.

Not "check the spreadsheet." Not "call the yard." An automated check that shows what's available across every yard, every warehouse, and every truck — matched not just by exact SKU, but by functional equivalency.

That last part matters. Your purchasing team searches for a specific catalog number. But in your yard, you might have the same fitting from a different manufacturer, under a different SKU, that's functionally identical. Your team won't find it because they're searching by part number. The system finds it because it searches by function.

This single capability — in-stock purchasing with functional matching — typically eliminates 8–15% of total material spend. On $6M in annual purchasing, that's $480K–$900K recovered annually, with zero change to how your crews do their work.

The math that matters

For a CFO or controller evaluating this: the question isn't whether your team over-purchases. They do. The question is how much, and what's the cost of fixing it vs. the cost of living with it.

The cost of living with it: 15–25% excess purchasing, 18–25% carrying cost on that excess, plus depreciation, labor, and space. On a $6M material spend, that's $200K–$400K in annual avoidable cost.

The cost of fixing it: implementing a material control layer that gives your team the data they need to buy only what's actually required.

One of these numbers is recurring and growing. The other is a one-time investment that pays back in months.

Run a free Bleed Audit to see your over-purchasing exposure.


Related reading

Stop guessing. Start tracking.

See how much material value your company is losing — and how RunBlu recovers it.