Wholesale prices went nowhere in July — but the parts that feed PCE didn’t
Producer prices were flat on the month and cooled to 4.7% over the year. Energy did the work. Underneath the calm headline, the producer-price categories that flow into the Fed's preferred inflation gauge firmed — and our backtested nowcast says core PCE is still running above target.
Key Takeaways
- The headline went nowhere. Final-demand PPI was flat (0.0%) in July and the 12-month rate cooled to 4.7% — but energy did most of the work.
- The core firmed. Core producer prices rose 0.4% (up from 0.1% in June) and core services rose 0.6% — the opposite of the calm headline.
- The PCE-relevant lines are heating up. The producer-price categories that feed the Fed’s preferred gauge — financial services, health care, and airfares — firmed, led by a 6.5% jump in portfolio management.
- Our nowcast still has core PCE above target. A backtested core-CPI-plus-PPI-core-services model points to July core PCE near +0.24% for the month (about 3% annualized), above the Fed’s 2% target.
- The market read it dovishly anyway. Traders pushed the next hike out to October or December — but the PCE math is why July’s three dissenters won’t let it go.
What happened — and how the bond market reacted
The Producer Price Index for final demand was unchanged (0.0%) in July, below the +0.2% Wall Street expected, and the 12-month rate cooled to 4.7% from 5.5%. It’s the second straight month producer prices haven’t risen — the good-news read is that pipeline pressures at the lower stages of production haven’t yet added to the inflation risk consumers face.
As with consumer prices a day earlier, energy did most of the disinflating:
- Final demand goods fell 0.7%, with energy down 3.1% and gasoline down 5.7%. Food prices fell 0.9%.
- Strip the volatile stuff and the picture inverts. Core producer prices — final demand less foods, energy, and trade services — rose 0.4%, up from 0.1% in June. Core services rose 0.6%.
The market cheered the headline. Stock futures rose, Treasury yields fell, and traders further trimmed the odds of a September rate hike — pushing the expected move to October or December rather than the September 15–16 meeting. A same-morning uptick in jobless claims, to 209,000, added to the dovish tone. Worth remembering what that hike debate is: the Fed held at 3.50–3.75% in July over three dissents — Hammack, Kashkari, and Logan — who wanted to raise, with Hammack writing after the July meeting that “now is the time to act.” So this was a report the market read as taking the urgency out of a hike, not off the table.
What’s hot, what’s not
Ranked by one-month annualized momentum against the three-month pace, the split is clean — and it’s the opposite of the headline:
- Accelerating: construction jumped 2.2% on the month (a large move — construction PPI is lumpy, so treat one print as a data point, not a trend yet but AI investments and datacenter buildout could push construction PPI higher); core services rose 0.6%, driven substantially by portfolio management, up 6.5% as finance fees rode the equity rally; and the ex-food-energy-trade core firmed.
- Falling: energy (−3.1%) and gasoline (−5.7%); foods (−0.9%); transportation and warehousing services (−1.8%), including a 1.8% drop in truck freight; and trade margins (−0.1%).
So the goods pipeline was part of this month’s disinflation story — energy, freight, and margins all fell — while the services side, especially finance, firmed up.
A tariff check, since that’s the live question. Evidence of fresh pass-through in July was modest and not intensifying. Core goods rose just 0.1% and didn’t accelerate — not what a broad tariff surge looks like. Trade margins slipped 0.1%, but that’s a small, noisy move, and in a month when falling energy and goods costs were pulling markups around, it can’t cleanly separate “retailers eating tariffs” from “retailers passing cheaper energy through.” If it hints at anything, it’s limited pricing power. So the cleaner read is simply that July’s producer data don’t yet show tariffs arriving as a broad new wave — consistent with the New York Fed survey, where a large share of firms still expect more pass-through ahead.
What it means for PCE — and the Fed
Here’s the part that actually matters for policy. The reason to read PPI closely isn’t that it “leads” consumer prices — that link is weak and mostly contemporaneous. It’s that PCE, the Fed’s preferred inflation gauge, sources roughly a third of its components straight from PPI — financial services, health care, and airfares. So today’s producer prices are a same-month read on core PCE, which won’t be published until the end of the month.
We put that to the test. A nowcast that combines core CPI with PPI core services beats a CPI-only model out of sample — over 136 months of walk-forward backtesting, it cut forecast error by about 6%. In other words, the PPI signal is real, not noise. That model points to July core PCE of about +0.24% for the month — an 80% range of roughly 0.14% to 0.34% — which annualizes to around 3%, still above the Fed’s 2% target (Yes, I know the Fed targets headline PCE not Core PCE).
If anything, that nowcast understates the risk. It uses broad core services; the 6.5% jump in portfolio management — which flows directly into PCE’s financial-services line — isn’t separately in the model, and it pushes the same-month PCE read up rather than down.
Bottom line. The market read a flat headline as another all-clear, and on goods, it is — energy, freight, and margins are all falling. But the producer prices that feed the Fed’s preferred gauge firmed in July, and our backtested nowcast has core PCE still running hotter than it did in June. Traders pushed the hike out to October or December today. The PCE math underneath this report is why the three dissenters won’t let it go.
Data: U.S. Bureau of Labor Statistics (Producer Price Index, July 2026, final demand FD-ID series); U.S. Bureau of Economic Analysis / FRED (core PCE); CME FedWatch (rate-path odds). Series pulled directly from the BLS and FRED APIs on release; the core-PCE nowcast is backtested out-of-sample.