FMCG portfolio· 2026· Margin bridge

Where did the growth come from?

Net sales grew 9.2% in two years. Three bridges split that into volume, mix, list price, discount and cost, product by product, and the factors add up to the cent.

The study's cover: Price, Volume and Mix, where did the money come from?
The full deck, 16 slides Three bridges, the products behind each factor, and the recommendation on every page Open PDF
The story

Sales and gross margin increased. I used three bridges to measure the contributions of volume, product mix, realised price and cost to sales, gross margin dollars and the margin rate. Each effect is broken down by product. A separate Excel calculation matches the Python results to the cent.

Chapter 01

Four steps, always in the same order

Each step answers one question: what would have happened if only this had changed? Each factor is measured with the previous ones already applied, so they add up exactly to the change and nothing is counted twice.

01

Volume first

Apply total unit growth at 2023 prices and product mix. This measures the sales increase from selling more units before accounting for changes in which products sold.

volume = (units25 ÷ units23 − 1) × revenue23
02

Then mix

Hold total units fixed and change each product's share, valued at 2023 prices. A shift towards lower-priced products reduces sales. A shift towards higher-priced products increases sales.

mix = Σ (share25 − share23) × (price23 − avg price23) × units25
03

Then realised price, split in two

Multiply each product's change in average net price by its 2025 units. Split the effect into list price and discount. These averages also change with country and channel mix, so they do not establish a local price increase.

price = Σ (price25 − price23) × own qty25
list + discount = price
04

Then cost, margin only

Last, unit costs move to 2025, on 2025 units, with a minus sign. The sales bridge stops before this bar; the margin bridge ends on it.

cost = −Σ (unit cost25 − unit cost23) × own qty25
Why 2023 weights. Volume and mix are valued at 2023 prices because their question is what the old book would have earned. Price and cost land on 2025 units because that is where a price move cashes in. Another order shifts the split while the total stays, and both are defensible. So the order and the base year are fixed once and printed on every page.
The full chain, on one page

Sales

volume = (units25 ÷ units23 − 1) × revenue23 mix = Σ (share25 − share23) × (price23 − avg price23) × units25 price = Σ (price25 − price23) × own qty25 list + discount = price, per product and in total volume + mix + price = revenue25 − revenue23

Gross margin dollars

price: the same term as the sales bridge volume = (units25 ÷ units23 − 1) × GM23, on base gross margin mix = Σ (share25 − share23) × (margin23 − avg margin23) × units25 cost = −Σ (unit cost25 − unit cost23) × own qty25 volume + mix + price + cost = GM25 − GM23

Margin rate, in points

weight = product revenue ÷ book revenue, each year mix pp = Σ (share25 − share23) × (own margin%23 − book margin%23) price pp = Σ share25 × (cost23 ÷ price23 − cost23 ÷ price25) × 100 cost pp = Σ share25 × (cost23 − cost25) ÷ price25 × 100 mix + price + cost = rate25 − rate23 (no volume bar)

The suffixes 23 and 25 mean the 2023 and the 2025 value. "Share" is a product's share of total units, or of revenue on the rate bridge. "Own qty25" is that product's own 2025 units; "units25" is the portfolio's. Every line was rebuilt in Excel from the raw rows and matched to the engine to the cent.

Technical note: the four checks every bridge passes, with their tolerances.
The checks. Every figure passes a written check: the bridges add up to the source-file totals within one cent (0.001 points on rates). Product contributions sum to their factor, and list plus discount equals price for every product. The Excel rebuild matches the engine to the cent. This demonstration reconciles to source-file totals. A client study also checks an independently supplied P&L or trial balance. List and discount are each a change per unit multiplied by 2025 units, so neither depends on the other's order.
Chapter 02

The same four steps, on sales and then on margin

The sales bridge measures the contributions of volume, product mix and realised price. The gross margin bridge adds the effect of changing unit costs.

The sales bridge: volume +$147k, mix −$25k, price +$300k of which list +$351k and discount −$51k.
Realised price contributed $300k. Volume added $147k and product mix reduced sales by $25k. The price effect includes list price +$351k and discounts −$51k. At product and country level, the price effect is $264k. The $37k difference reflects country mix within products.
Gross margin bridge: price adds $300k and higher unit costs reduce margin by $178k.
Higher costs reduced gross margin by $178k. After this cost effect, $123k of the $300k price contribution remained. Price and cost nearly offset each other in the margin rate bridge.
Chapter 03

Each factor, split by product

The product breakdown identifies which products contributed most to each effect and where to investigate first.

Product contributions to sales growth, including RoastTrail's -$50.4k mix effect.
RoastTrail had the largest negative sales mix effect. Its units fell 21%, giving a −$50.4k mix contribution. Price gains were spread across thirty products. The five largest price contributions accounted for 36% of the total.
Wholesale added units while the other channels lost units. All four channels had positive realised-price effects.
Wholesale drove volume growth. It added 50,780 units while the other channels lost 10,182 combined. Its mix effect was −$50k as lower-priced products gained share. Without customer identifiers, the data cannot establish whether buyers switched channels.
Where RoastTrail lost it: France, Brazil and India hold 86% of the lost units while twelve other markets grew.
France, Brazil and India account for 86% of RoastTrail's lost units. In India, price rose 5% while units fell 56%. The bridge cannot establish the cause. Check listings, active customers, orders and availability in these markets. Recovering half their lost units at each country's 2025 price and unit cost would add $40k of sales and $12k of gross margin. This is a scenario, not a forecast.
How product mix contributions are calculated. Each product is compared with the portfolio average. This makes a shift towards lower-priced products a negative sales mix contribution. Other allocation conventions can give different product contributions while preserving the same total.
Chapter 04

Why the margin rate rose

The portfolio margin rate rose 0.45 percentage points. RoastTrail's falling share contributed to that increase, even as its own revenue and gross margin declined.

Margin rate bridge: mix +0.45pp, price +3.55pp and cost -3.54pp.
A higher margin percentage can accompany lower gross margin. RoastTrail's declining share contributed +0.25pp to the portfolio rate and −$50.4k to sales mix. Its total revenue fell $65.6k and gross margin fell $15.7k.
Track gross margin dollars alongside the margin rate. RoastTrail's own rate rose from 28.5% to 29.3%, while its gross margin fell from $120k to $104k. Investigate the volume decline and the cost to serve before deciding how much volume to recover.
Chapter 05

What this cannot tell you

The limits.

Price and cost move together on this file

The positive realised-price contribution of +3.55pp was almost entirely offset by the unit-cost contribution of -3.54pp. These are accounting effects at the stated aggregation level, not estimates of a causal pricing response.

The level of detail is a choice

The headline uses annual product averages. Its price effect is $300k, compared with $264k at product and country level and $309k at product and channel level. The difference reflects the level of detail used. Local pricing decisions require comparisons within the same market and channel.

The bridge does not establish causality

The bridge separates the accounting effects but cannot establish why demand changed or what would have happened without a price change. It also cannot identify customers switching channels. Possible explanations require further evidence.

To run this on your own data

Start with the question. If your export cannot support the study you have in mind, you will know on the first call, and in writing within two days.

Send one email

  • No system access, no IT project, one export
  • Signed engagement letter and data processing agreement
  • France & Hong Kong, in English or French
kevin.larretche@squ.solutions How the first conversation works

What to put in the first email

The question. What you would do differently if you knew the answer.
The data. Roughly how many products, stores or channels, how far back, and whether unit costs exist anywhere.
The timing. When a decision has to be made.