Gross Margin PVM Bridge

PVM (Price–Volume–Mix) — prior / budget vs actual, then unit-cost split into Materials, Labor, and Burden. Effects should sum to 100% of ΔGM.

Illustrative AU product mix sample until you enter actuals. Not financial advice.

Product rows — prior vs actual

Up to 8 SKUs. Unit GM uses prior (P0 − C0) for volume/mix. Persist locally · Jump to bridge

Product Prior units Prior price Prior unit cost Actual units Actual price Actual unit cost Remove

Prior = budget / last year. Actual = this period. Add or remove rows (max 8).

Unit-cost split — Materials / Labor / Burden

Defaults to 50% / 30% / 20% of the computed unit-cost effect. Edit the split; residual = UnitCost − (Mat + Lab + Bur).

GM bridge waterfall

Prior GM → Price · Volume · Mix · Materials · Labor · Burden · Residual → Actual GM. Bars and % shares should reconcile to 100% of ΔGM.

Equations

  • GM0_i = P0_i − C0_i · GM1_i = P1_i − C1_i · ΔGM = GM$1 − GM$0
  • Price = Σ (P1 − P0) × Q1 · Unit cost = Σ (C0 − C1) × Q1
  • Volume = (Q1 − Q0) × (GM$0 ÷ Q0) · Mix = Σ ((Q1_i/Q1 − Q0_i/Q0) × Q1 × GM0_i)
  • Mat / Lab / Bur split UnitCost (default 50/30/20) · Residual = ΔGM − (Price + Vol + Mix + Mat + Lab + Bur)

How this is calculated
  • Prior / actual GM$ = Σ units × (price − unit cost)
  • Price effect = Σ (actual price − prior price) × actual units
  • Unit cost effect = Σ (prior cost − actual cost) × actual units (cost up = negative)
  • Volume effect = (total actual units − total prior units) × prior average GM$ per unit
  • Mix effect = change in volume share × total actual units × prior unit GM, summed across products
  • Materials / Labor / Burden are a user-editable split of the unit-cost effect (default 50/30/20)
  • Residual closes the bridge to actual GM — should be ~0 when the split matches unit cost and maths are clean

Illustrative PVM bridge — not financial advice. Ask your agent to confirm the bridge ties.

Take it with you

Download a prompt, export the Excel workbook, or email yourself.

Email opens your mail client with the prompt in the body (mailto). No account required. Data stays in this browser (localStorage).