Skip to content
CheckMySupply.com
Benchmarking and Market Price Data

How to Benchmark Material Costs as a Contractor

Am I being treated badly on price? How to benchmark material costs as a contractor with your own invoice history, free BLS index data, and a second quote.

By 10 min read

To benchmark material costs as a contractor you need three comparisons, not one: your own unit price history for the same SKU, the published market trend for that commodity, and a live second quote on a named list of parts. Run all three and you can separate a real market increase from drift on your account. Run only one and you cannot, which is why most price arguments end in a shrug.

The thing you probably want, a public table of what other contractors pay for a half-inch EMT connector, does not exist and is not going to. What does exist is enough to answer the question behind every price complaint: is this a market move, or is it just me?

This post is the method. It assumes you have invoices and ten minutes, not a data analyst.

Why there is no benchmark for “what everyone else pays”

Distributor pricing is customer-specific by design, and the spread is wide. A contractor on the Mike Holt forums put the range plainly: “Electrical supply houses have different prices for just about everyone. I have seen them charge everything from 15% of list all the way up to list price for the same item to different customers.” The same poster added a detail worth sitting with: “I have had projects where two different P.O.s with the same part on it got charged two different prices.”

That is not a scandal. It is how the pricing stack works, and we break down the mechanics in contract price vs counter price. Your rate depends on your account class, your negotiated agreement, the branch, and whatever special pricing agreements the manufacturer has behind the part. Another forum poster made the same point from the other direction: “they don’t charge everyone the same price.”

So a peer benchmark is out. Three substitutes are in, and honestly they are better, because each one is defensible in a conversation with your rep.

Benchmark one: your own unit price history

This is the strongest number you will ever hold, because nobody can dispute your own invoices. Same supplier, same part number, same unit of measure, twelve months of dates and prices.

The discipline is not complicated, it is just tedious. Pull every line for a part number, normalize the unit of measure (a bag of 10 and an each are not comparable), and lay the dates in order. What you are looking for is the shape: steady, stair-stepped, or spiky.

Shape What it usually means What to ask
Flat for months, then one step up Contract or price file update When did the new file load, and was notice sent?
Small increases most months Drift on a stale agreement Is my agreement still current on this category?
One high month, then back down A single transaction fell off contract Which order, and can it be credited?
High every time at one branch Agreement not loaded at that location Can the branch pull my account rate?

That third row is the most common and the most recoverable. A one-month spike is usually a lookup failure, not a policy, and recent ones get fixed. Timing matters more than righteousness, which is why credit requests inside 90 days tend to get honored while old ones get “sorry, already posted.”

If your invoices are paper in the truck, that is normal and it is still workable. The version of this that starts with a phone camera is covered in scanning paper supply house invoices.

Benchmark two: the market trend, from free BLS data

The Bureau of Labor Statistics publishes the Producer Price Index, which is the closest thing to an objective referee on whether the market moved. It is free, it is monthly, and you do not need an account.

Two cautions before the numbers. First, PPI measures what producers receive at the factory gate, not what your branch charges you. It tells you the direction and rough magnitude of the market, not your price. Second, recent months carry a preliminary (P) flag from BLS and get revised, so re-pull the current value rather than quoting a stale one.

Here is what the relevant series were doing as of the June 2026 preliminary readings.

Series What it covers Move
WPU102502 Copper and brass mill shapes 747.384 in Jan 2026 to 803.275 in Jun 2026 (P), about +7.5%
WPU1054 Plumbing fixture fittings and trim 451.310 in Jan 2026 to 453.198 (P), flat since March
WPU07210603 Plastics pipe 171.280 in Jan 2026 to 182.609 in Jun (P), about +6.6%
WPU07210604 Plastics pipe fittings and unions 334.420 in Jan 2026 to 354.724 in Jun (P), about +6.1%
WPU1017 Steel mill products 315.369 in Jan 2026 to 361.439 in Jun (P), about +14.6%
WPU114802 Unitary air-conditioners, except air source heat pumps 280.520 in Jan 2026 to 297.025 in May (P), about +5.9%
WPU11480734 Heat pumps 146.923 in Jan 2026 to 141.564 in Jun (P), about -3.6%

The last two rows are separate on purpose. Air-conditioners and heat pumps went opposite ways in 2026, so averaging them, or using the industry index PCU333415333415 that blends the whole category, hides the move. WPU114802 also publishes about a month later than the rest, which is why its latest reading here is May rather than June.

Look at the second row for a second. Plumbing fixture fittings and trim has been flat since March 2026 at 453.198. If your invoice price on a trim kit climbed 12% over that same window, the market did not do that. Something on your account did. That is the entire value of a market benchmark: it tells you when to stop blaming the market.

The AGC of America packages the same data monthly for construction specifically, which saves you the series hunting. In May 2026 AGC reported the producer price index for inputs to new nonresidential construction rose 1.8% for the month and 8.4% year over year, the largest annual jump since the pandemic, while contractors’ bid prices rose only 3.5% year over year. That gap, roughly five points, is the squeeze showing up in your margin. It is not imaginary and it is not your estimating.

If you want the full walkthrough of pulling and reading these series, that is reading the producer price index for construction materials. For the specific series by trade, see construction material price index tracking.

Benchmark three: a live second quote

Indexes tell you about the commodity. Only a competing quote tells you about your account.

The rule that makes this useful instead of insulting: quote a named list, not a vague inquiry. Ten to twenty part numbers you actually buy every month, with manufacturer catalog numbers, exact units of measure, and quantities that match your real ordering pattern. Ask both houses to price the same list on the same day. Anything less specific and you are comparing two different products.

Two honest warnings.

A second quote is a snapshot, not a rate. Distributors can and do sharpen a first quote to win an account, and that number may not hold at month nine. Also, a lower unit price with worse terms, worse will-call, or a branch forty minutes further away is not actually cheaper. Terms, freight and stocking depth are often worth more than the unit price, and they belong in the comparison.

And do not shop your whole book on a whim. The distributor relationship is one of the most valuable things a small shop has, and the counter guys who find you a part at 4pm on a Friday are worth real money. Benchmarking is how you keep the relationship honest, not how you end it.

Putting the three together: a worked example

The numbers below are illustrative. They are not from any distributor’s price file.

Say you buy three-quarter inch copper 90 degree elbows in bags of ten. Your invoice history shows $14.20 in March and $17.80 in June, a 25% increase over three months with no notice.

Step one, the market. Copper and brass mill shapes ran 747.384 in January 2026 to 803.275 preliminary in June, about 7.5%. Take that as the commodity move over roughly the same window.

Step two, the arithmetic. If your price had tracked the index exactly, $14.20 times 1.075 is about $15.26. You paid $17.80. The market explains about $1.06 of the increase. The remaining $2.54 per bag, roughly 18 points, is unexplained by the commodity.

Step three, the conversation. You are not accusing anyone. You are asking a specific question with a specific number attached: copper moved about 7.5% and my price moved 25%, what changed on my account? That question has an answer, and it is usually a boring one: the agreement lapsed, the SKU was never on it, a substitute part number got shipped, or a branch is not carrying your rate.

What you found Likely cause What to do
Invoice move close to index move Real market increase Reprice your estimates, do not chase a credit
Invoice move far above index move Account issue, not market Ask what changed, request the differential back
Invoice flat while index rose You are being protected on this category Say thank you and leave it alone
One outlier month only Single transaction fell off contract Credit request on that invoice number

Note the third row. Benchmarking finds good news about as often as bad, and the shops that get the most out of a rep relationship are the ones who mention both.

What benchmarking cannot tell you

Be clear about the limits or you will overreach in a meeting and lose credibility.

PPI does not include freight to your yard, fuel surcharges, or your branch’s cost of carrying inventory. AGC’s April 2026 release showed diesel up 73.8% year over year, which flows into delivery in ways no materials index captures.

The index also lags. It is monthly, published with a delay, and preliminary for the most recent months. A commodity that moved last week will not be in the data yet.

And the index basket is not your basket. Steel mill products is not the same thing as the specific strut and hanger your supplier buys from a specific fabricator, and it never will be. Use it for direction and magnitude, not for a price target.

Finally, none of this substitutes for your own price history. If you only do one thing from this post, do that one. There is a longer treatment in material price creep, which is the pattern this whole exercise is built to catch.

The ten-minute version

  • Pick your top ten SKUs by annual spend. Not by count, by dollars.
  • Pull twelve months of unit prices for each, normalized to the same unit of measure.
  • Note the percentage change from oldest to newest for each.
  • Pull the matching BLS series for the two or three commodities those SKUs belong to, and note the percentage change over the same window.
  • Subtract. Anything more than a few points above the index is a question, not an accusation.
  • Send credit requests only on recent invoices, and only where you have the paper.
  • Once a year, quote the same named list to a second house on the same day, and take the whole package into account, not just unit price.

Do this once and you will know something you did not know before: whether the number that has been bothering you is the market, or is just you. Both answers are useful, and only one of them is worth a phone call.

Sources