Method · 5 min read

The margin bridge: when revenue grows and profit does not

A revenue bridge tells you what you sold. A margin bridge tells you whether it was worth selling. One extra column separates the two.

The sixth effect

A margin bridge walks from the gross margin of a baseline period to the gross margin of the current period, and splits the change into six effects: the five revenue effects, plus a cost effect.

Margin bridge · 2025-H1 → 2025-H2

€141.97k €151.01k +€9.04k
✓ Reconciled to the cent
€145.00k€150.00k€155.00kAxis starts at €140.70k, not zero: heights compare changes, not totals.€141.97k2025-H1+€8.87kPrice effect−€4.54kCost effect+€4.32kVolume effect+€2.25kMix effect+€4.90kNew products−€6.76kDiscontinued€151.01k2025-H2NET +€9.04kFAVORABLEUNFAVORABLEREFERENCE LEVELOPENING LEVEL
The same sample file as the revenue bridge, read on gross margin. The cost effect sits right after price: prices added 8,873 while unit costs took back 4,539, so roughly half the price move never reached the bottom line.

As on the revenue bridge, effects split further when the data allows: the mix into a category mix and a within-category mix, the price into a gross price effect and a discount effect. Each split sums exactly to the effect it refines, so the margin bridge still reconciles to the cent.

Why margin tells a different story

A product can be a top seller and a margin drag at the same time. Raising prices 3% while costs rise 5% looks fine on a revenue bridge and bad on a margin bridge. On a product selling 1,000 units at 10.00 with an 8.00 unit cost, that is +300 of price effect against −400 of cost effect: revenue grows by 300 while margin drops by 100.

The mix effect flips just as often. Shifting volume toward a cheap but high-margin product lowers revenue and raises profit. Read side by side, the two bridges turn a variance report into a decision: which of the two numbers actually moved, and which lever moved it.

A rate moves in points, not percent

When a margin rate goes from 39.6% to 40.2%, it has gained 0.6 points. It has not gained 0.6 percent, and it has not gained 1.5 percent either, even though that is what a relative change would give. Both of those readings get repeated in meetings and both are wrong.

So a rate is always reported in percentage points here, written out as +0.6 pts. The same discipline applies to every rate in the tool: the margin rate bridge decomposes a movement in points, effect by effect, and the cost effect is the only one of them with no revenue counterpart, which is exactly why it weighs the most.

Build yours

Both bridges, one file, one minute

Map a unit cost column and the revenue and margin bridges come from the same export, with drill-down to product level and an Excel workbook that recomputes by hand. Everything runs in your browser, and nothing is uploaded.

Calculate PVM bridge

What your file needs

One extra column: a unit cost or a total cost of goods sold, per product and per period. The rule is strict, and deliberately so. If any retained row lacks a readable cost, the margin view is switched off and the tool tells you how many rows need fixing, rather than quietly computing a bridge on a partial cost base. The revenue bridge is never affected by that.

Two practical notes. A cost column that mixes unit costs and total costs across rows will reconcile and still be meaningless, so check which one your system exports. And a cost that includes freight or rebates for some products but not others produces a real margin bridge on an unreal margin: worth settling before the first close, not during it.

Unit economics

Once costs are mapped, four more bridges become available, and they answer the questions a margin bridge raises: the average unit price, the margin rate in points, and, if your export carries a transaction count, the average basket in value and in units. They are built from the same effects as the bridges above, divided by the relevant total, so a bar you have already seen keeps the same name and the same meaning.