BC Liquor Sales Analysis: Annual Trends 2016-2022

liquor stats
reporting
analysis
R
Author

John Yuill

Published

November 5, 2023

Modified

November 13, 2023

British Columbia Liquor Distribution Board releases its ‘Liquor Market Review’ on a quarterly basis, covering dollar and litre sales across major alcoholic beverage types of beer, wine, spirits, and ‘refreshment beverages’ (ciders, coolers).

This is a combined look using reports going back to 2015, when the current format was started.

Note: my expertise is in data analysis, not the liquor industry, so the emphasis is on exploring what the data can tell us. Industry-insider context may be lacking. In the interest of promoting data analysis, I am sharing most of the R code used to process the data - hence the expandable ‘Code’ options.

$/Litre vs Volume and $ Sales

Exploring the relationship between changes in $/Litre (proxy for price) and changes in volume, as well as changes in $/Litre and total $ sales:

  • Are price changes associated with changes in volume purchases?
  • Are price changes associated with changes in total $ sales?

Notes on two charts below:

  • y-axis is adjusted for each beverage type to match the data for that type, so please take that into account.
  • red dotted lines are the 0 axis, both vertically and horizontally.

Changes in $/Litre vs Changes in Volume

For changes in $/litre vs volume, in general, we would expect dots to be in the top left (price decrease, volume increase) or bottom right (price increase, volume decrease).

In other words: less is more (and vice versa) - assuming price sensitivity.

Code
ch_title <- "Relationship Between Changes in $/litre and volume"
## convert year to numeric for color gradient
trend_yr_cat$year <- as.integer(as.character(trend_yr_cat$year)) 

trend_yr_cat %>% ggplot(aes(x=pc_chg_dollar_per_l, y=pc_chg_litre, color=year, label=year))+
  geom_point()+
  ## options for labelling - too cluttered
  #geom_text(vjust=0.2, hjust=-0.2, size=3)+
  #geom_text_repel(size=3)+
  scale_color_gradient(low = "lightblue", high = "darkblue") +
  facet_grid(type~., scales='free_y')+
  scale_x_continuous(labels=percent_format())+
  scale_y_continuous(labels=percent_format())+
  geom_hline(yintercept=0, linetype='dotted', color='red')+
  geom_vline(xintercept = 0, linetype='dotted', color='red')+
  labs(title=ch_title, x="% Chg in $/litre", y="% Chg in Litres (scale varies)")+
  theme(panel.border = element_rect(fill=NA))

Different types of beverages have different relationships between revenue per litre - our proxy for ‘price’ - and volume sales:

  • Wine is the clearest case in this dataset, where an average price decrease in wine of around 2.5% was associated with ~6% volume growth (top left of Wine panel), price increases around ~1.5%-3% had little apparent effect, and price increases of 6+% were associated with ~3% decline in sales volume.
  • Beer looks like a counter-intuitive relationship where the smallest price increases actually tended to be associatedwith largest decreases in volume. Depending on the timing, price decreases may have been in response to softening demand, and may have prevented further decreases in volume. In any case, price changes were relatively modest, and there are probably other factors involved.
  • Refreshment beverages don’t appear to have a consistent relationship between price increase and changes in volume during this period of growth, although most recently a ~6% increase in price is associated with a reversal in the growth trend and a small decrease in volume.

Clearly, though, there are a variety of factors at work here and not enough data to make any solid conclusions with regard to effect of changes in net sales per litre and litre volumes sold.

Changes in $/Litre vs Changes in Volume

How does this play out in terms of sales dollars generated along with price and volume changes?

If it plays out well for producers/retailers:

  • Unit price ($/litre) increases may dampen volume sales but result in growth in overall net $ sales. This outcome would land dots in the top right quadrant.
  • Likewise, unit price decreases (or smaller increases) will be expected lead to higher volume sales that will more than offset the decrease in unit price and, again, deliver growth in overall net $ sales. Dots would be in the top left.

If it doesn’t play out as hoped by producers/retailers:

  • Either price increases will dampen demand so much or price decreases will not lift volume sales high enough, and overall net $ sales decreases. This will result in dots in lower right for the former case, or lower left for the latter.

Additional notes on chart below:

  • As with chart above, y-axis is adjusted for each type, red dotted lines are the 0 axes.
  • % chg in volume is indicated by size of the dot. This makes for a busy chart but the intention is to highlight the points that represent the biggest (or smallest) changes in % volume as additional reference.

Good news for the industry is that the positive scenarios held up in almost all cases:

Code
ch_title <- "Relationship Between Changes in $/Litre and Net $ Sales"
trend_yr_cat %>% ggplot(aes(x=pc_chg_dollar_per_l, y=pc_chg_sales, size=pc_chg_litre, color=year, label=year))+
  geom_point()+
  guides(size='none')+
  scale_color_gradient(low = "lightblue", high = "darkblue") +
  facet_grid(type~., scales='free_y')+
  scale_x_continuous(labels=percent_format())+
  scale_y_continuous(labels=percent_format())+
  geom_hline(yintercept=0, linetype='dotted', color='red')+
  geom_vline(xintercept = 0, linetype='dotted', color='red')+
  labs(title=ch_title, x="% Chg in $/litre", y="% Chg in Net $ Sales - scale varies")+
  theme(panel.border = element_rect(fill=NA))

Beer was the only case where changes in $/litre did not always have the hoped for effect of leading to overall higher total net $ sales: the smaller price changes, associated with declines in volume (small dots), resulted in overall decreasing net $ sales. On the plus side, the largest year-over-year increase in $/litre for beer did result in overall increase in net $ sales, even though associated with decrease in litre volume.

Part 1 Wrap-up & Next-up

That concludes our look at annual trends in the BC Liquor Market Review data.

Next-up:

  1. Quarterly patterns: exploration of the seasonal patterns in the BC liquor market by delving into data at the quarterly level, again going back to 2015.
  2. Category trends and patterns: closer look at each of the major beverage types, exploring categories and sub-categories within them, as reported in the Liquor Market Review.

Coming soon!

Footnotes

Notes on ‘net $ sales’ and ‘$ per litre’:

  • the report says “Net dollar value is based on the price paid by the customer and excludes any applicable taxes.”
  • calculating average net dollar value per litre for beverage categories gives unrealistically low numbers compared to retail prices in BC liquor stores. (Beer at average $4/litre? Not even the cheapest beer on the BC Liquor Stores website.)
  • there is likely additional factors related to BC LDB pricing structure, wholesaling, etc.
  • best to consider average net dollar value per litre referred to above as relative indicator.