Point of Sales revenue reporting
Your basic report probably looks something like this (click to view):It's not pretty is it? It's quite hard to pull useful summary data from.and we haven't even tried to include CPG shipment data yet.
To improve on this we're going to use an accounting approach called "Variance Analysis" and tweak it to fit our needs. Variance analysis looks at revenue or cost differences and splits it into components driven by volume and pricing. Typically this is used for comparison of budget or plan to actual but we'll use it to compare year on year sales.
The calculations are fairly simple but if you would rather avoid 7th grade algebra, just trust me and skip ahead.
Volume Variance:CurrentPrice*(CurrentVolume - PreviousVolume)
Price Variance: (CurrentPice - PreviousPrice) * PreviousVolume
Add these together to get a Total Variance. Now let's prove this really does explain the difference between Current and Previous Sales
Expand the terms (using introductory algebra) and we get:
TotalVariance =
CurrentPrice*CurrentVolume
- CurrentPrice*PreviousVolume
+ CurrentPrice*PreviousVolume
- PreviousPrice*PreviousVolume
As you can see, the 2nd and 3rd terms "cancel out" leaving us with:
TotalVariance =
CurrentPrice*CurrentVolume
- PreviousPrice*PreviousVolume
Which is the exactly difference in Sales Revenue we wanted to explain. Finally, express Total, Price and Volume Variances as a % of the same denominator (Last year's POS revenue) to get percentage values that are additive like this :
7% increase due to incremental unit volumeEasy right ?
- 2% due to a decrease in retail pricing
5% net change
Let's make it a little more useful and split the volume variance into 2 parts: for variance driven by changing distribution (the number of stores we sell through) and one for the rate of sale in each store.
VolumeVariance_Distribution = PreviousPrice * CurrentSalesRate * (CurrentDistribution - PreviousDistribution)
Add these two variances together, multiply out the terms then simplify the result and you should get back to the formula we specified for the volume variance previously.
VolumeVariance_SalesRate = PreviousPrice * PreviousDistribution * (CurrentSalesRate - PreviousSalesRate)
We can represent these results graphically as a waterfall chart.
- A waterfall chart explains the gap between 2 values, in this case, last years POS sales and this years POS sales.
- Typically these are built as column charts, but I've laid this out as a bar chart so that its easier to read the bar labels.
- To make it easier to see the changes, I have adjusted the horizontal scale so that it no longer starts at 0.
- The absolute impacts are shown as labels in each bar.
- The percentage change (relative to last year's sales) is shown in each bar label.
- Allowing for rounding errors these % changes are additive (16.6 - 9.7 - 0.6 = 6.3)
Starting at the top, this chart shows Last years POS Sales and then each additional bar shows incremental changes that explain the gap between last year's and this year's POS Sales. Red bars are for negative values, green bars positive.
So, this says:
- POS Sales were hit hard by a significant loss of distribution (-9.7%)
- Overall, this was more than offset by the retail price increase (16.6%)
- Despite the retail price increase, store-level velocity was effectively unchanged.
- Action: If the decision to reduce distribution was made in anticipation of higher-price and slower sales, there is a good argument to have it restored
- Action: This product appears to be relatively insensitive to price, a more detailed pricing-elasticity study may confirm allowing a change in pricing strategy to further increase revenue.
Tying CPG Shipment revenue and POS sales together
An almost identical approach lets us calculate price and volume variances for shipment information. In this instance the price is the cost to the retailer and volume comes from shipments rather than POS but other than that it's still just basic price and volume variances.
Now comes the challenge of connecting these two sets of variances :
Now comes the challenge of connecting these two sets of variances :
To do this, we are going to split the Volume driver for shipments into 2 parts:
- Shipment volume that is a direct result of POS unit sales (volume)
- Shipment volume that did not support consumption and just resulted in changes to the Retailer's inventory level. (Ship too much and Retailer inventory increases: ship too little and Retailer inventory falls.)
Note: In reality, we may need to make some allowances for other sources of consumption (theft, damage, loss) or procurement (returns, diverting) but we'll ignore these for now.
Here is the result graphically. I have laid it out in exactly the same way as the POS Sales Variance Analysis.
At the top level it does not look too bad, a year on year loss of 1.7%. In reality this is the result of:
I think this is a big improvement but it's still Analytics-Lite. We have a much clearer idea of WHAT happened but leave it to the reader to add WHY it happened. Predictive Analytics can help us get much further down that path.
At the top level it does not look too bad, a year on year loss of 1.7%. In reality this is the result of:
- a significant loss of POS volume (9.2%)
- a significant increase in retailer inventory (6.4%)
- a small retailer cost increase. (1.4%)
- Action: retailer inventory cannot continue to increase. Unless POS volume is restored prepare for a continuing 9% loss in volume and 7.6% (9-1.4) loss in revenue
I think this is a big improvement but it's still Analytics-Lite. We have a much clearer idea of WHAT happened but leave it to the reader to add WHY it happened. Predictive Analytics can help us get much further down that path.
This should make preparing for those weekly or monthly sales meetings go a little easier :-) Of course if your numbers aren't meeting plan, you're on your own !
If you would like the Excel file that shows these calculations you can download it here or just drop me an email
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.