Price Volume Mix (PVM) for Gross Margin Variance Analysis

I have covered Price Volume Mix (PVM) analysis for Revenue Variance in the earlier article. I recommend that you take a look at it first because PVM for Revenue variance analysis is much easier to understand as there are fewer moving parts to think about in the calculations.

Assuming that you are now well versed in the PVM for Revenue analysis, let’s jump in to PVM for Gross Margin analysis. Again, I will save you a lot of reading time by having only the essentials of the material in this post and coving most of the content in a YouTube video.

I mentioned before that PVM for Gross Margin is a lot more complicated than PVM for Revenue. The reason it is more complicated is because Revenue is a result of two variables, Volume and Price, whereas to do a similar analysis for Gross Margin we also have to account for Unit Cost.

Let us start with basic definitions and assumptions. Let us say that we will be analyzing Gross Margin This Year (or Actual) and comparing it to Gross Margin Last Year (or Target)

GMTY – Gross Margin This Year
GMLY – Gross Margin Last Year
RTY – Revenue This Year
RLY – Revenue Last Year
COGSTY – Cost of Goods Sold This Year
COGSLY – Cost of Goods Last Year
VTY – Volume This Year
VLY – Volume Last Year
PTY – Price This Year
PLY – Price Last Year
CTY – Unit Cost This Year
CLY – Unit Cost Last Year

Our goal is to arrive at a formula where Gross Margin variance (RTY – RLY) (I will explain all buckets of the PVM in my video) is represented by

GMTY – GMLY = PriceImpact + VolumeImpact + MixImpact

In addition, our goal is to implement the calculation in such a way that the PriceImpact of the Revenue PVM is the same as PriceImpact in the Gross Margin PVM.

Let us begin!




if     ΔP = PTY – PLY (change in price) and ΔV = VTY – VLY (change in volume) and ΔC = CTY – CLY (change in unit cost)

then    GMTY – GMLY = (PLY + ΔP)*(VLY + ΔV) – (CLY + ΔC)*(VLY + ΔV) – (PLY*VLY – CLY*VLY)


items in RED cancel each other out

so    GMTY – GMLY = ΔP*VLY

or     GMTY – GMLY = ΔP*VLY + ΔV*(PLY– CLY) + ΔV*(ΔP – ΔC)ΔC*VLY

From the formula above, we can now define our Gross Margin PVM calculations as the following:






= ΔV*(ΔP – ΔC) – ΔC*VLY

35 thoughts on “Price Volume Mix (PVM) for Gross Margin Variance Analysis

  1. Hi, thank you for this interesting article.

    Is there any chance you could share with us an example power bi file?

    Thank you so much!

    Kind regards,

    1. I am working on a very comprehensive tutorial with a sample file to cover two ways of implementing PVM for Revenue and Gross Margin. Unfortunately, I am not moving as fast as I would like, but I am hoping to finish it in the next couple of weeks, so you will be able to look in the file and see all the logic there

  2. Hi biZ-i!

    First of all thank you for sharing your knowledge! I am struggling with a mix calculation were I don’t have a variation in Cost or Price but yes in volume and mix. With the formula that you are using if my variation in price and cost are =0 the result of the mix impact will be 0 but the mix may be indeed changing and generating an impact. how can I calculate this impact in this situation?

    Thanks a lot for your time and effort!


  3. This is great! How do we calculate volume and Price impact for a single product Year on year. There is no mix impact there.

  4. Great explanation and good model to work with. However, I’m used to showing the cost/price squeeze, i.e. the company’s capability to pass on any purchase cost variances to their customers. On the margin PVM walk I would therefore show the net of your price impact and (part of) the mix element.

    The cost/price squeeze would then show as (ΔP-ΔC)*VLY, whilst your mix is ΔV*(ΔP – ΔC).

  5. Hey, thanks for the article, is amazing! it really piqued mi interest.
    I am gonna post one thing that helped me understand your article and might helped someone else, which was:
    the second term of Mix impact ‘– ΔC*VLY’ seemed out of place, so I took it to Price Impact making that ‘ΔP*VLY – ΔC*VLY’ == VLY*((PTY-CTY)-(PLY-CLY)) == VLY(GMTY-GMLY)

    Arriving then at
    ‘Price’ impact: VLY(GMTY-GMLY) == VLY*ΔGM
    Vol Impact:ΔV*(GMLY)
    ‘Mix’ : ΔV*(ΔP – ΔC) == ΔV*(GMTY-GMLY) == ΔV* ΔGM
    You can immediately see the analogy on your Price Vol Mix for revenue…

    Once again, thanks a lot. Your explanation is extremely clear and easy to follow (took me more than a couple of hours)

    As for people saying this is right or wrong… if you follow the math you will end with the same result. And i understand that other approaches might satisfy your need, however in any case that does not mean this is wrong !

    1. @Ben, see above – you can see Cost Impact as = – ΔC*VLY
      But you also need exclude this part of formula from Mix Impact

  6. Hi,
    Really clear video, thank you.
    What i am struggling with is that when you look at components within a subset, the analysis price/vol/mix doesn’t equal the sum of the parts.
    If i give an example….lets say i am a food company…
    Lets say i have 4 product groups….cookies, crackers, sweets, bread…
    I can run price vol mix analysis on each of these product groups and understand those groups in isolation…..however, when i sum the 4 product groups together and do a “total business” price vol mix, the sum of the parts doesn’t equal the total.
    Is this a problem you have encountered?
    I have seen other PVM for margin calculations incorporate a % mix calculation which i can’t understand the mathematical proof for.
    So i like your version, but this sum of the parts not equalling the whole issue, gives me a headache!

  7. Thank you for the very clear video. I have a question, is it possible that the YoY unit cost (cost per case) variance is negative ( so less cost) but the mix impact is positive?

  8. Thank you very much for showing us how you derived the different formulas. Another interesting approach is to look at the GM change as a percentage of revenue (as opposed to the change in absolute value) where Diff GM% = GM(n)/R(n) – GM(n-1)/R(n-1)
    In that case, how would you derive the formulas for price, volume and mix? I have been struggling to work out the different formulas myself.

      1. Hi, very good question by Thomas. Something I have been trying to get my head around too. If putting in the form of a margin % bridge and taking the movement in price, volume and mix against current year revenue there is a difference. This difference is GM%LY – (GMLY/RevenueTY)

        Any help greatly appreciated.


    1. Hi Thomas. Did you ever figure this out? Have spent ages trying to work it out, but no joy unfortunately 😦

  9. Hi There – This is a great tutorial. Thank you for doing this. One question for you – How do you handle this when you are dealing with products that utilize different units? For example, gloves and pants. We are looking at price as a part of this (ASP), which is measured as $/unit. If you have differing units of measure, I believe you can’t just add up the individual Price Impacts across the different units in order to get the total impact to margin due to price, correct? You would have to standardize the units across all products. Do you have any thoughts/advice on how to handle this?

  10. Thank you all for the greatest article.

    Is it possible to separate New Product/ Discontinued product impact and

    What component (Prive/Volume/Cost/MiX) should be excluded from

  11. Hi, why is the Cost effect in margin in Mix and not in Price? How would you separate both effect to see as single effects

  12. Hi, this is a truly effective analysis and I was trying to implement this into the Power BI but I am having a hard time. If you don’t mind, can I ask for the example template for Price Volume Mix (PVM) for Gross Margin Variance Analysis to my email?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s