Two competent analysts can decompose the same margin gap and produce different numbers, both of them arithmetically correct. That is not a flaw in the method. It is a choice nobody wrote down. This is the guide to making that choice deliberately, and to the four situations where the textbook version quietly breaks.
Take one product. Budget said 10,000 units at 100. Actual was 11,000 units at 98. Revenue was budgeted at 1,000,000 and came in at 1,078,000, so there is 78,000 to explain, and only two things moved: quantity and price.
Analyst one measures the volume effect at the budgeted price, then the price effect on actual quantities. She gets volume 100,000 favourable and price 22,000 adverse.
Analyst two measures the price effect on budgeted quantities first, then the volume effect at actual prices. He gets price 20,000 adverse and volume 98,000 favourable.
Both sets sum to 78,000. Both are defensible. They differ by exactly 2,000, and that 2,000 has a name.
The extra 1,000 units were also sold at the lower price. That overlap, 1,000 units multiplied by the 2 of price movement, belongs to price and volume jointly. Every price volume mix method in existence is a rule about where to put it. Choose a rule, write it down, and never change it in the middle of a year.
This article assumes you already know what a profit bridge is. If not, start there and come back. What follows is the full method underneath it: the conventions, the mix formula that actually holds at constant volume, the treatment of products that appear or vanish, the exchange rate, and what changes when the portfolio runs to thousands of lines instead of two.
Before any formula: a decomposition is legitimate only if the named effects sum exactly to the gap being explained, with no residual, no rounding plug and no line called other.
That single rule kills most of the variance reporting produced in practice. A sales variance calculated by one team and a purchase price variance calculated by another will not sum to the margin gap, because nobody designed them to be mutually exclusive. They overlap somewhere, they leave something uncovered, and the difference is invisible until somebody adds them up.
So build the whole decomposition as one object. Start at budgeted margin, finish at actual margin, and account for every unit of the difference.
For products that exist in both the budget and the actual, four effects are sufficient. Here they are as formulas rather than descriptions, using q for quantity, p for price, c for unit cost, m for unit margin, and the subscripts b and a for budget and actual.
(total qa minus total qb) multiplied by the average budgeted margin per unit across the portfolio. One number for the whole portfolio, never per product. Volume answers a single question: if nothing but the total unit count had changed, what would that have cost?
Sum over products of (qa minus the mix neutral quantity) multiplied by (mb for that product minus the average mb). The mix neutral quantity is the total actual volume split in budgeted proportions. Subtracting the average is what makes mix and volume independent.
Sum over products of qa multiplied by (pa minus pb). Measured on actual quantities, so the joint variance sits with price.
Sum over products of qa multiplied by (cb minus ca). Also on actual quantities, for the same reason and for symmetry with price.
Note what volume and mix have in common: both are computed with budgeted margins only. Neither is contaminated by what happened to prices or costs. That separation is the point of the whole construction, and it is why mix must subtract the average.
The formulas above make one specific choice. Here are the three conventions in use, on the single product example from the top of this article.
| Convention | Volume effect | Price effect | Sums to |
|---|---|---|---|
| Volume first, price on actual quantities | 100,000 | (22,000) | 78,000 |
| Price first, volume at actual prices | 98,000 | (20,000) | 78,000 |
| Joint variance split equally | 99,000 | (21,000) | 78,000 |
The same facts, three legitimate answers. The spread is the joint variance of 2,000.
Which to choose. Use the first: volume at budgeted margins, price and cost on actual quantities. Three reasons. It is the convention most Indian and European management accounting practice already assumes, so your numbers will be comparable with what people expect. It keeps volume and mix free of price and cost movements, which is what makes them useful to a sales director. And it puts the joint variance with price, where the commercial decision that caused it was actually taken.
The third convention, splitting the joint variance, is defensible and appears in some academic treatments. It has one practical flaw: no manager owns half of an effect. When you tell a sales head that 1,000 of his variance is a shared interaction term, the conversation stops being about the business.
Whichever you choose, record it in one sentence somewhere permanent, along with whether variances are shown as margin or as revenue, and whether cost means standard cost or full absorbed cost. The next controller will inherit your bridge and will otherwise silently change the convention within a quarter.
Mix is where most bridges quietly fail, and the failure is always the same shape: mix gets computed as whatever is left over.
The residual approach looks harmless. Compute volume, price and cost, subtract them from the gap, and call the remainder mix. It always ties, because it is defined to tie. What it actually contains is mix plus every error you made elsewhere, which is precisely the number you most needed to be clean.
The correct construction runs in two steps.
Step 1. Find the mix neutral quantities. Take the total actual volume and split it in the budgeted proportions. If the budget was 10,000 of A and 5,000 of B, that is a 2 to 1 split, and a total actual volume of 14,500 becomes 9,666.67 of A and 4,833.33 of B. Fractional units are correct here and must not be rounded, because rounding them breaks the tie out.
Step 2. Value each deviation against the average. For each product, take actual quantity minus mix neutral quantity, and multiply by that product's budgeted unit margin minus the portfolio average budgeted unit margin.
Two properties follow, and both are useful as checks. The deviations always sum to zero, because the mix neutral quantities sum to the actual total. And if every product had the same unit margin, every mix effect would be zero, which is exactly right: with identical margins there is no such thing as a bad mix.
Here is the case the textbooks skip and reality supplies every single year. A product was budgeted and never sold. Another was sold and never budgeted. Neither has a price variance, because there is no pair of prices to compare. Neither has a mix effect, because the budgeted proportions do not contain it.
Forcing them into the like for like formulas produces nonsense: a discontinued product appears as a catastrophic volume shortfall, and a new product appears as a suspiciously brilliant one, while mix swings violently because the budgeted proportions no longer describe anything.
Handle them as their own named effects.
Budgeted margin for products with budgeted quantity and no actual sales, taken out in full as a single adverse effect. It is not a volume variance. It is a decision, and it should be reported as one.
Actual margin earned by products with no budgeted quantity, shown in full as a single favourable effect. The interesting question about a new product is never its variance, it is whether the margin is genuinely incremental or has cannibalised something budgeted.
Then compute volume, mix, price and cost on the like for like set only, which restores their meaning. The bridge has six steps instead of four, and every one of them corresponds to something a person actually did.
Three budgeted products, one of which is discontinued during the year, and one product launched that was never budgeted. The figures are illustrative and do not describe any real business.
| Budget | Qty | Price | Unit cost | Unit margin | Margin |
|---|---|---|---|---|---|
| Product A | 10,000 | 100 | 60 | 40 | 400,000 |
| Product B | 5,000 | 200 | 150 | 50 | 250,000 |
| Product C | 2,000 | 150 | 100 | 50 | 100,000 |
| Total | 17,000 | 750,000 |
Budget. Revenue 2,300,000, cost of sales 1,550,000.
| Actual | Qty | Price | Unit cost | Unit margin | Margin |
|---|---|---|---|---|---|
| Product A | 11,000 | 98 | 63 | 35 | 385,000 |
| Product B | 3,500 | 205 | 152 | 53 | 185,500 |
| Product C | 0 | 0 | |||
| Product D, launched | 1,500 | 120 | 80 | 40 | 60,000 |
| Total | 16,000 | 630,500 |
Actual. Revenue 1,975,500, cost of sales 1,345,000. The gap to explain is 119,500 adverse.
Separate the sets first. A and B are like for like. C is discontinued, worth 100,000 of budgeted margin. D is new, worth 60,000 of actual margin. That leaves a like for like comparison of 650,000 budgeted against 570,500 actual, a gap of 79,500.
Volume. Like for like budgeted quantity 15,000, actual 14,500, so 500 units short. The average budgeted margin per unit is 650,000 divided by 15,000, which is 43.3333. The volume effect is 500 multiplied by 43.3333, or 21,667 adverse.
Mix. Total actual volume of 14,500 split in the budgeted 2 to 1 proportions gives 9,666.67 for A and 4,833.33 for B. Actual A was 11,000, so it is 1,333.33 above its share; actual B was 3,500, so it is 1,333.33 below. A carries a unit margin of 40 against an average of 43.3333, which is 3.3333 thin. B carries 50, which is 6.6667 fat. The mix effect is 1,333.33 multiplied by minus 3.3333, plus minus 1,333.33 multiplied by 6.6667, giving 13,333 adverse. The company sold more of the thin product and less of the fat one.
Price. A gave up 2 on 11,000 units, which is 22,000 adverse. B won 5 on 3,500 units, which is 17,500 favourable. Net 4,500 adverse.
Cost. A cost 3 more on 11,000 units, which is 33,000 adverse. B cost 2 more on 3,500 units, which is 7,000 adverse. Total 40,000 adverse.
| The bridge | Amount | Share of gap |
|---|---|---|
| Budgeted margin | 750,000 | |
| Discontinued, Product C | (100,000) | 84% |
| Volume | (21,667) | 18% |
| Mix | (13,333) | 11% |
| Price | (4,500) | 4% |
| Cost | (40,000) | 33% |
| New, Product D | 60,000 | -50% |
| Actual margin | 630,500 | 100% |
750,000 less 100,000, 21,667, 13,333, 4,500 and 40,000, plus 60,000, equals 630,500 exactly.
Read what the bridge says, because it is not what the summary said. The headline was a margin miss of 119,500. The largest single cause is a product the business chose to stop selling, which is a strategic decision, not an operational failure. The second largest is input cost. The new product recovered half of the discontinued product's margin in its first year. Volume and mix together are smaller than either, and price is almost nothing.
Without the split, the meeting discusses a 119,500 shortfall. With it, the meeting discusses whether stopping Product C was worth it and whether Product D can grow, which is a completely different and far more useful hour.
If anything is invoiced in a currency other than the reporting currency, the exchange rate must be removed before price and cost are computed, not after. Otherwise a rate movement shows up as a price variance and the sales team is congratulated or blamed for something that happened in a currency market.
The rule is a restatement: convert actuals at the budget rate first, run the entire decomposition in that constant currency world, then add one final effect for the rate itself.
A small illustration, in a reporting currency where the budget rate was 90.
| Foreign currency revenue | Units | Price, foreign | Rate | Reporting currency |
|---|---|---|---|---|
| Budget | 5,000 | 2.00 | 90 | 900,000 |
| Actual, restated at budget rate | 4,000 | 2.10 | 90 | 756,000 |
| Actual, at actual rate | 4,000 | 2.10 | 84 | 705,600 |
Now the decomposition of the 194,400 gap. Volume is 1,000 units short at the budgeted price and budgeted rate, which is 180,000 adverse. Price is 0.10 gained on 4,000 units at the budgeted rate, which is 36,000 favourable. The exchange rate effect is the difference between the two actual rows, 705,600 less 756,000, or 50,400 adverse. Those three sum to 194,400 exactly.
Two disciplines make this hold in practice. Use one budgeted rate per currency for the whole year, fixed when the budget is approved, and never revise it, because a moving budget rate makes the constant currency world meaningless. And apply the same treatment to foreign currency purchases, or the cost variance inherits the contamination you just removed from price.
The mathematics does not change. Every formula above is additive across products, so a portfolio of 4,000 stock keeping units decomposes exactly like a portfolio of 2. What changes is everything around the mathematics.
Mix has to be nested. A single mix number across 4,000 lines is arithmetically valid and commercially useless. Compute mix within each category, then a second mix effect for how the categories moved against each other. The two levels sum to the single number, and only the two levels can be acted on. Most groups need three levels at most: item within category, category within division, division within group.
Quantities must be comparable. Mix compares unit margins across products, so it silently assumes a unit of one product is comparable to a unit of another. Sell both 5 litre cans and 200 litre drums and the mix number is meaningless. Fix it by converting to a common unit where one exists, or by weighting mix on revenue or contribution rather than units where it does not.
New and discontinued stop being rare. At scale they are a monthly event, so they need a rule rather than a judgement: any line with zero budgeted quantity and positive actual quantity is new; any line with positive budgeted quantity and zero actual quantity for the full period is discontinued. Apply it mechanically and report the two lines separately. If they become the largest items on the bridge, that is not a defect in the analysis, it is the most important thing the analysis has to say about the year.
Master data becomes the binding constraint. At two products, a renamed item is obvious. At 4,000, a product recoded between budget and actual appears as one discontinued line and one new line, and the bridge reports a strategic decision that never happened. Every large bridge that has ever misled a board did so through master data, not through arithmetic.
Run these every period, in order. Each one has caught a real error.
The effects sum to the gap to the last unit. Not approximately. If there is a difference of 3, find the 3, because the cause is usually a rounded mix neutral quantity, and rounding one thing means rounding hides others.
The mix quantity deviations sum to zero across the portfolio. If they do not, the mix neutral quantities were built from the wrong total, which is the classic error when new products have not been excluded.
The actual margin at the foot of the bridge equals the actual margin in the ledger. A bridge that ties within itself but not to the accounts is internally consistent fiction.
Set every actual equal to its budget and confirm that all six effects come out at zero. It sounds trivial and it catches sign errors immediately, which are otherwise invisible in a period where several effects are adverse anyway.
The structure survives, the vocabulary changes.
In a services business, quantity becomes billable hours, price becomes realised rate, and cost becomes cost per hour delivered. Mix becomes the split between grades of staff or between service lines, and it is usually the largest effect in the bridge, because a shift from senior to junior delivery moves margin per hour far more than any rate negotiation. Utilisation deserves its own effect, sitting between volume and cost, and it answers a question no other line does: how much margin was lost to hours that were available and not sold.
In distribution, cost usually needs splitting into purchase price and landed cost, because freight, duty and insurance move for entirely different reasons than the supplier's invoice does. Keep them as two effects. A bridge that shows a 400,000 adverse cost variance when 250,000 of it is freight has answered the wrong question.
Niyantrak Consulting builds costing and performance management systems for manufacturing, trading and services businesses, and this decomposition is usually the first thing we put in place, because it is the report that tests whether everything underneath it is sound. A bridge that will not tie is telling you something true about your costing framework, your master data or your ledger, and it is worth listening to before it is worth fixing.
Niyantrak Budgeting is that discipline as software. It holds the budget for a group of companies, takes actuals in from Excel, and produces this decomposition across quantity, mix, price, exchange rate and cost as a first class report rather than a spreadsheet built once and abandoned. Multi currency consolidation isolates the exchange rate on its own line, exactly as described above. It runs beside whatever ERP you already have, entirely on your own computer, so no data leaves the building.
That line is where the answer is. A short conversation is usually enough to tell whether the problem is the decomposition or the costing framework underneath it. Niyantrak Consulting works with manufacturing, trading and services businesses on exactly this.