A revenue beat is not always good news. If volumes grew because prices were cut, and the mix shifted toward the lower-margin product line, the income statement looks better than the business actually is. The PVM bridge is the tool that makes this visible — and the reason most finance teams build it incorrectly is that they stop at the reconciliation and never get to the interpretation.

Price-volume-mix analysis exists precisely to surface this distinction. Done well, it tells you not just whether revenue moved but why — and whether the movement reflects genuine commercial strength or a trade-off the business has not fully reckoned with. Done poorly, it produces a bridge that reconciles to the right total and explains nothing.


What PVM Analysis Is Actually Doing

A PVM bridge decomposes the variance between two revenue figures — budget versus actual, or prior period versus current period — into three components that each isolate a different business decision.

Price captures the impact of charging more or less per unit. It answers: how much of the revenue movement was driven by pricing decisions alone, holding volume constant?

Volume captures the impact of selling more or fewer units. It answers: how much was driven by the quantity of transactions, holding price constant?

Mix captures the impact of selling a different composition of products or customers. It answers: even if total volume held steady, did we sell proportionally more of the higher-margin or lower-margin items?

The three components together explain 100% of the variance. The insight lives in their relative size and direction — and particularly in what the mix component reveals about the quality of the revenue growth.


The Formulas

For a single product, the price and volume variances are straightforward.

Price variance holds volume at the actual level and isolates the impact of the price change:

\[\text{Price Variance} = (\text{Actual Price} - \text{Budget Price}) \times \text{Actual Volume}\]

Volume variance holds price at the budget level and isolates the impact of the volume change:

\[\text{Volume Variance} = (\text{Actual Volume} - \text{Budget Volume}) \times \text{Budget Price}\]

The mathematical proof that these sum correctly:

\[\text{Budget Revenue} + \text{Price Variance} + \text{Volume Variance} = \text{Actual Revenue}\]

For a multi-product business, the mix variance enters as a third component. It measures the revenue impact of selling a different proportion of products than planned, valued at budget prices to isolate the composition effect from the price and volume effects.

\[\text{Mix Variance} = (\text{Actual Mix\%} - \text{Budget Mix\%}) \times \text{Total Actual Volume} \times \text{Budget Price}\]

The full reconciliation for a multi-product bridge:

\[\text{Budget Revenue} + \text{Price Variance} + \text{Volume Variance} + \text{Mix Variance} = \text{Actual Revenue}\]

The Trap Most Analysts Fall Into

The most common PVM error is calculating the price and volume variances using the wrong volume base, which produces a mix figure that reconciles mathematically but carries no analytical meaning.

Here is the specific mistake. An analyst calculates:

  • Price variance using budget volume instead of actual volume
  • Volume variance using budget price (correct)
  • Then takes the residual as mix

The residual does reconcile to the total variance — which is why the error is easy to miss. But the price variance calculated at budget volume includes a volume effect, which means the mix figure is absorbing a distortion rather than measuring composition. The three components are no longer clean.

The correct sequence is deliberate: volume variance at budget price first, then price variance at actual volume, then mix as the clean residual. This ordering ensures that each component measures exactly what it claims to measure and nothing else.


A Worked Example

Two product lines, budget versus actual for the quarter.

Product Budget Volume Budget Price (₹) Actual Volume Actual Price (₹)
Premium 1,000 80,000 900 85,000
Standard 2,000 40,000 2,500 38,000

Budget revenue:

\[\text{Budget Revenue} = (1{,}000 \times ₹80{,}000) + (2{,}000 \times ₹40{,}000) = ₹1{,}60{,}00{,}000\]

Actual revenue:

\[\text{Actual Revenue} = (900 \times ₹85{,}000) + (2{,}500 \times ₹38{,}000) = ₹76{,}50{,}000 + ₹95{,}00{,}000 = ₹1{,}71{,}50{,}000\]

Total variance: +₹11,50,000

Now decompose it.

Price variances:

\[\text{Premium Price} = (₹85{,}000 - ₹80{,}000) \times 900 = +₹45{,}00{,}000\] \[\text{Standard Price} = (₹38{,}000 - ₹40{,}000) \times 2{,}500 = -₹50{,}00{,}000\]

Volume variances (at budget price):

\[\text{Premium Volume} = (900 - 1{,}000) \times ₹80{,}000 = -₹80{,}00{,}000\] \[\text{Standard Volume} = (2{,}500 - 2{,}000) \times ₹40{,}000 = +₹2{,}00{,}00{,}000\]

Mix variance:

Total actual volume is 3,400 against budget of 3,000. Budget mix was 33% Premium, 67% Standard. Actual mix was 26% Premium, 74% Standard. The shift toward Standard at a lower price point creates a negative mix variance of ₹3,50,000 — the business sold more in total but proportionally more of the cheaper product.

Bridge summary:

Component
Budget Revenue 1,60,00,000
Premium Price +45,00,000
Standard Price -50,00,000
Premium Volume -80,00,000
Standard Volume +2,00,00,000
Mix -3,50,000
Actual Revenue 1,71,50,000

What the Bridge Is Actually Saying

The headline is a ₹11.5L revenue beat. The bridge tells a more complicated story.

Premium is showing genuine pricing power — a 6% price increase delivered ₹45L of upside. But it lost volume, which cost ₹80L. Something in the Premium segment is constraining demand: competitive pressure, a capacity issue, or a sales mix decision that shifted attention toward Standard.

Standard grew strongly on volume — ₹2Cr of upside — but only by cutting price. The 5% price reduction cost ₹50L. The volume gain more than offset it in revenue terms, but the margin impact will be significantly worse. A 5% price cut on a product with 40% gross margin requires roughly a 14% volume increase just to hold gross profit flat.

And the mix shift toward Standard compounds this. More units at lower prices and lower margins means the revenue beat is masking a margin miss.

The CFO narrative is not “we beat revenue by ₹11.5L.” It is: “Revenue beat was driven by Standard volume growth, achieved through price reduction, with a mix shift away from our higher-margin Premium line. We need to understand whether the Premium volume loss is recoverable and whether the Standard price reduction is structural.”

That is the analysis the bridge is designed to surface. Whether it surfaces it depends entirely on whether the bridge was built correctly and whether the analyst took the extra step from reconciliation to interpretation.


PVM in the Context of the Full Variance Analysis

The PVM bridge is Layer 1 of a complete variance analysis — the quantification of what happened. Layers 2 and 3, which I covered in Variance Analysis: Making the Monthly Actuals Review Actually Useful, are where the root cause and forward implication live. A bridge without those layers is a table of numbers. The three layers together are an analysis.

The worked example above also connects directly to the driver-based budgeting framework from Driver-Based Budgeting: Moving Beyond Line-Item Extrapolation. The volume and price assumptions in a driver-based budget are precisely what the PVM bridge tests against actuals. When the bridge shows a significant price variance, it means a pricing assumption in the budget was wrong — and the driver tree tells you who owned that assumption and what it implies for the rest of the forecast.

The volume and price assumptions in a driver-based budget are precisely what the PVM bridge tests against actuals. When the bridge shows a significant price variance, a budget assumption was wrong — and the driver tree tells you who owned it.


I would love to hear how your team builds the PVM bridge — whether mix variance gets its own component or gets folded into volume, and whether the bridge drives the CFO conversation or just validates a number that was already known. Let’s connect.