Gross Margin PVM Bridge
A price–volume–mix bridge that explains every dollar of gross-margin change.
It measures price, volume, mix, and unit-cost effects (materials, labour, burden) summing to ΔGM.
Use it in variance meetings so the story matches the math before you change price or mix.
Your numbers stay in this browser. Export only — nothing is uploaded. Illustrative, not financial advice.
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.
Sample figures: AU product mix.
Product rows — prior vs actual
Up to 8 SKUs. Unit GM uses prior (P0 − C0) for volume/mix. Persist locally · Jump to bridge
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
Get the worked example workbook in Excel — type your own numbers into it.
The Excel is the worked example workbook — type your own numbers into it. Stays on your device.
