Margins & Cost Channels

—
Margin
—
—
Loading…
Inflation
—
—
Loading…
Character
—
—
Loading…
Sectors
—
—
Loading…

The margin squeeze — producer prices (PPI) versus consumer prices (CPI). When producer costs outrun what companies can charge consumers, the spread is positive and margins compress. The pills read that spread.

Expansionaryspread < −0.5
Balanced−0.5 to +0.5
Squeezespread > +0.5
▸ Regime definitions & method
Expansionary PPI − CPI < −0.5pp — consumer prices rising faster than producer costs; companies hold pricing power and margins expand.
Balanced −0.5 to +0.5pp — costs and prices moving together; margins roughly stable.
Squeeze PPI − CPI > +0.5pp — producer costs outrunning consumer prices; companies absorb the gap and margins compress.
The two legs always cover the same basket: core PPI (PPIFES, final demand less foods & energy) against core CPI (CPILFESL) when core PPI is on file, otherwise headline PPI (PPIFIS) against headline CPI (CPIAUCSL). Mixing headline PPI with core CPI would count every energy move as producer margin absorption. Positive spread = producers absorbing costs.
Producer Prices YoY
—
PPI, %
Consumer Prices YoY
—
CPI, %
PPI − CPI Spread
—
pp · + = squeeze
Producer Prices — YoY
Final-demand PPI growth — the cost side companies face.
Consumer Prices — YoY
CPI growth on the same basis as the PPI leg (core when core PPI is on file) — what companies can pass on to consumers.
PPI − CPI Spread
The cost-absorption gap. Above zero, producer costs outrun consumer prices; sustained readings above +0.5pp (shaded) are a margin squeeze.

How high inflation is — realized CPI/PCE and the market's expectations. The pills read core PCE, the Fed's preferred gauge, against its 2% target.

Below target< 2%
Near target2–3%
Above target> 3%
▸ Regime definitions & method
Below target core PCE < 2% — inflation soft; room for policy to ease.
Near target 2–3% — above the 2% goal but not alarming.
Above target > 3% — inflation hot; keeps policy restrictive and pressures real margins.
Realized: headline CPI (CPIAUCSL), headline & core PCE (PCEPI / PCEPILFE). Expectations: 10Y breakeven (T10YIE), 5y5y forward (T5YIFR), and the UMich 1-year survey (currently —%).
Headline CPI YoY
—
CPIAUCSL, %
Core PCE YoY
—
PCEPILFE, %
5y5y Forward
—
T5YIFR, % expected
Realized Inflation — YoY
Headline CPI (solid) and headline PCE (dashed). Dashed lines mark the 2% target and 3% hot boundary.
Market Expectations
10-year breakeven (solid) and the 5y5y forward (dashed) — where the bond market sees inflation settling.
Core PCE — YoY
The Fed's preferred measure. The 2% target and 3% lines are marked; sustained readings above 3% (shaded) keep policy tight.

The character of inflation — demand-pull versus supply-shock. Supply-driven (cost-push) inflation is harder to pass on and squeezes margins more. The pills read the headline-minus-core gap.

Demand-drivengap < 0.5
Mixed0.5–1.0
Supply shockgap > 1.0
▸ Regime definitions & method
Demand-driven headline − core < 0.5pp — broad-based inflation from demand; companies can pass it on, so margins hold up better.
Mixed 0.5–1.0pp — some commodity/energy pass-through building.
Supply shock > 1.0pp — energy/commodity-led; cost-push inflation that compresses margins, since it's hard to pass to consumers.
Gap = headline CPI YoY − core CPI YoY; the wedge is mostly energy and food. Energy index (PNRGINDEXM) and WTI crude track the shock source.
Headline − Core Gap
—
pp · >1 = supply shock
Energy Index YoY
—
PNRGINDEXM, %
WTI Crude YoY
—
DCOILWTICO, %
Energy Prices — YoY
The energy price index, year-on-year — the dominant supply-shock driver.
Headline vs Core CPI — YoY
Headline (solid) versus core (dashed). When headline pulls above core, the wedge is supply-side.
Headline − Core Gap
The wedge between headline and core. Above +1.0pp (shaded) the inflation impulse is supply-driven — the margin-unfriendly kind.

Who eats the inflation — input-cost pressure versus revenue tailwind, mapped to each sector via 40+ commodities and PPI components. The pills read how broad the squeeze is.

Broad tailwindfew squeezed
Mixed3–5 squeezed
Broad squeeze≥ 6 squeezed
▸ Regime definitions & method
Each GICS sector is scored on input-cost pressure and revenue tailwind (the YoY rise in what it sells). Net = revenue − cost: positive is a tailwind, negative is a squeeze.
Input-cost pressure is a weighted decomposition: score = Σ weightₛ,c × YoYc, where the cost-share weights (BEA input-output use table) live in a maintained config (output/sector_cost_weights.json, each sector row sums to 1.0). The commodity contributions therefore reconcile exactly to the displayed score. Click a sector bar for its waterfall, a heatmap cell/row for a commodity's history. If a commodity series is stale it is dropped and the remaining weights are renormalized (see the coverage note).
Broad squeeze ≥ 6 sectors net-negative · Mixed 3–5 · Broad tailwind < 3. Commodity producers (Energy, Materials) gain when inputs rise; cost-takers (Industrials, Tech) lose.
Sectors Squeezed
—
net margin < 0
Most Squeezed
—
 
Strongest Tailwind
—
 
Input-Cost Pressure by Sector
Weighted YoY of the commodities and producer prices each sector consumes — higher is worse. Click a sector to break its score into commodity contributions.
 
Revenue Tailwind by Sector
YoY rise in what each producer sector sells — higher is better. Only commodity-producing sectors score here.
Net Margin Score by Sector (revenue − cost)
The per-sector margin verdict. Green = tailwind (margins helped); red = squeeze (margins hurt). Ranked best to worst.
Commodity → Sector Contributions
Each cell is weight × YoY = the commodity's contribution to that sector's input-cost score. Red raises cost, green eases it; intensity scales with magnitude. Click a cell or row for the commodity's YoY history.