Building Easier AI

Write the Price Escalation Clause on the Line That Moves

In September, BLS's index of energy inputs to residential construction rose 13.0% in a single month (NAHB on BLS, Oct 15). Softwood lumber fell 2.0%. Ready-mix concrete was flat. Steel mill products ended the month 27.6% above a year earlier. All four are first prints, in BLS's data (our parse).

A fixed-price quote absorbs every one of those moves. A blanket clause, "prices may rise up to 5%," gets them wrong both ways. On a framing-heavy job, it charges for lumber that just got cheaper. On a fabrication job priced a year ago, with steel an illustrative 40% of the contract, steel's 27.6% rise alone adds about 11% to the whole price (our arithmetic), more than twice what the clause allows.

The clause worth writing is tied to the line that actually moves on your jobs, and it moves the bill both ways. BLS publishes the indexes for it free, along with a guide to tying contracts to them, and its first worked example ends with the price going down.

Your attorney writes the wording

Nothing here is legal advice. Contract terms vary by state, and so do the rules that apply when the client is a homeowner rather than a business. We haven't checked any state's rules, so this piece doesn't draft a clause. It describes the parts BLS's guide supports, for you to take to the attorney who writes the wording. BLS, for its part, takes no side: "The BLS does not encourage or discourage the use of price adjustment measures." Nor will it help with the wording: it "does not directly assist in writing contracts."

September's input prices split by line

The headline index for all inputs to new homes drew the attention when BLS published September's producer prices on Oct 15. A contract needs the detail underneath it. Here are nine of BLS's indexes for September, not seasonally adjusted and first prints, with the month's change first and the year's second (our parse of BLS's data files):

  • Energy inputs to residential construction (WPUIP23110012): +13.0%, +64.1%
  • No. 2 diesel (WPU057303): +24.2%, +115.2%
  • Copper and brass mill shapes (WPU102502): +1.4%, +30.0%
  • Steel mill products (WPU1017): +2.2%, +27.6%
  • Softwood lumber (WPU0811): −2.0%, +14.2%
  • Asphalt roofing and siding (WPU1361): −2.0%, +2.7%
  • Gypsum products (WPU137): +0.8%, +1.4%
  • Ready-mix concrete (WPU1333): 0.0%, +2.3%
  • All building materials, energy excluded (WPUIP23110013): +0.4%, +5.5%

Compare the yearly figures. Gypsum and concrete ran under 3%; steel and copper ran 27.6% and 30.0%; energy, 64.1%. No single escalation percentage is right for all of them. And lumber, up 14.2% on the year, fell 2.0% in the month: a line can be up on the year and falling in the month you sign.

Outside home building, the list reads the same: a fabricator quoting structural work lives on the steel line, a plumbing or HVAC contractor on copper, and anyone who digs, hauls or runs heavy equipment on diesel.

What BLS's guide says a clause needs

BLS's PPI Guide for Price Adjustment names construction directly: "The indexes for inputs to construction industries, available since 1986, have long been employed by contracting parties for price adjustment."

Index the inputs, not the product. "Contracting parties should choose an index or group of indexes representing the costs for providing a particular product or service, rather than an index for the product itself." For a builder, that means lumber, steel and diesel: what the job costs to build, not what finished construction sells for (our reading).

Use the unadjusted series. "In general, seasonally adjusted indexes are not appropriate in price adjustment agreements." BLS's headline monthly figure for final demand is seasonally adjusted; the series in the list above are not.

Name the months and the day you calculate. "PPI data are subject to monthly revisions up to 4 months after initial publication." Every September figure above is a first print. BLS doesn't frame the choice as first print versus revised: name the base month, the comparison month and the date the adjustment is calculated, and use the latest values BLS has published by that date. It wants final values, the ones four months on, specified "whenever feasible." It is "now strongly discouraging" contracts that call for originally published values, and it "does not maintain database records" of them, so a clause tied to a first print can't be checked later. Name months, not days: a monthly index covers the whole month, and the guide warns that "as of September 30" could be read as August's figure, September's or October's.

Don't reach for the narrowest series, and name a fallback. Detailed indexes "are also more likely to be permanently discontinued," so BLS suggests citing "a commodity index that does not fall below the 4- or 6-digit level of detail." A series that stops publishing halfway through a job leaves the clause with nothing to read, so the guide also says to name what replaces it: "A default provision that calls for using the next higher-level series might be included in the contract."

Expect it to fall. In the guide's first worked example, the index rises from 178.4 at the base month to 187.7 a year later, then slips to 187.2, and the adjusted price comes down with it, from $1,052 to $1,049. Contracts, it notes, "typically provide that a price adjustment is to apply in both an upward and downward direction."

Two limits come with the rules. Of the PPI, the guide says: "It does not directly measure the cost of producing a good, providing a service, or building a structure." And it doesn't cover your crew: "costs of labor are adjusted with other BLS series such as the Employment Cost Index."

The parts of a clause, and an illustrative run

A clause built on BLS's guide names seven things. The guide covers all seven, but it describes the last two only as terms some contracts add, a minimum change before any adjustment and "a floor, a ceiling, or both," and sets no number for either. Those numbers are for you and your client to negotiate:

  • the line it covers and that line's dollar amount in the contract, not the whole price;
  • the series by BLS ID and title, and the base month: steel mill products, WPU1017, not seasonally adjusted, September 2026, for example;
  • a fallback series, in case BLS stops publishing that one or skips a month;
  • the comparison month and the date the adjustment is calculated, using the latest values published by then;
  • the formula, written to move the price down as readily as up;
  • a trigger, so a small move changes nothing;
  • a ceiling and a floor, so neither side carries an open-ended number.

The arithmetic is one line: the covered amount × (the index in the comparison month ÷ the index in the base month − 1). A negative answer is a credit to the client.

Take the last two index values from BLS's example, treat 187.7 as your base month, and apply them to an illustrative $40,000 steel package: the index slips to 187.2, a fall of about 0.27%, and the client's price falls by about $107 (our arithmetic). Run September's actual steel move instead: the index went from 380.348 in August to 388.580 in September, both first prints, a rise of about 2.2% that adds about $866 to the same $40,000 (our arithmetic). With an illustrative 3% trigger, neither move changes the bill. A 27.6% year would. Swap in your own covered amount and the numbers are yours.

The alternative is padding: a contingency in the bid for prices that might move. Every client pays it, whether the index rises or not. A clause charges the move only if it happens and hands it back if it reverses, which also makes it easier to defend across the table.

When a clause is the wrong tool

The index isn't your yard's price. You buy through a dealer, and dealer margins move on their own: the trade-services component of BLS's residential inputs, which measures wholesaler and retailer margins rather than tradespeople's pay, rose 14.0% on the year in September (BLS's data files, our parse). And a PPI measures "prices received by domestic producers," so imported lumber or steel is outside it. Your invoice can run ahead of the index or behind it, so a clause can leave you short even when it triggers.

Short jobs barely need a clause. All building materials moved 0.4% in September. On a six-week bathroom with no heavy hauling, the exposure a clause would cover is small, and raising it can cost more goodwill than it saves. The case is strongest on long jobs, energy-heavy scopes like site work and hauling, and metals.

Homeowners may balk, and they have a reason: a clause moves risk onto them. One answer is to offer both, a fixed price with the risk priced in or a lower price with the clause, so the client chooses with the terms in front of them.

And a clause has to fall when prices do. Softwood lumber and asphalt roofing both fell 2.0% in September. BLS notes that some contracts make the base price a floor, so that prices "can only rise." In our view that's a mistake: a clause that only moves up is a price increase with paperwork, and a careful client will read it as one.

Find the one line on your next bid

This afternoon, open the next bid you'll send and pick one line: the largest share of the price that rides on an index that moves. On a long framing job, that may be lumber; for a fabricator, steel; for a plumbing contractor, copper; for an excavator, diesel. Find its BLS series, in the list above or by title in the wp.series file in BLS's data directory. Write the series ID, its title, the base month and a fallback (the next broader series in the same file) on the bid, and take that page to your attorney before the bid goes to the client. If no line on the bid is big enough or long enough to be worth it, that's an answer too: quote it fixed and send it.

Building Easier Weekly

One of these lands in your inbox every week.

Every week: what moved in the market, design trends in new construction and remodeling, hot markets, and one AI tip you can use the same afternoon.

Read past issues  ·  Get it by email