Overview | Moving Average | Exponential Smoothing | Sales Profile | VRS


One of the biggest challenges with any forecasting method for seasonal product is that we need a way to anticipate the peaks and valleys in our forecasting horizon. We simply cannot rely on history alone (auto-regressive) like we saw with moving averages and exponential smoothing. To overcome this challenge, VRS adds what is called a “sales profile”, or an indexed profile of how we expect sales to take place without worrying about the magnitude.

For example, let’s take an entire year, 52 weeks. If every week in that year were expected to be like the last, then each week would have an index of 1.0, which represents an average week. The key takeaway here is that the actual sales have been reduced to an index, where 1.0 represents an average week of sales or Total Sales / 52. If I add up all the indices they sum to 52.

Let’s say I have two stores, one that sells 10 units every week and the other sells 100 units every week. I want to know what we expect to sell on week 14. Both of these stores can use this sales profile if we multiply the index times their respective average. So on week 14, store one has a forecast of 1.0 X 10 or 10. Store 2 has a forecast of 1.0 X 100 or 100. Notice both stores use the same week 14 index of 1.0.

Okay, so the above ultra-simplified example gets the point across about how to use a sales profile. So how do we build a real seasonal sales profile? The idea is to borrow the logic from moving averages by using history to get a decent sales pattern for the year.

Let’s take another look at our retailer’s apparel sales for 2014 and 2015. We’ll use 2016 to see how well our sales profile predicts the year. I’m going to quicken and simplify this discussion a bit by showing you the results. To be honest, this is the hardest step. In IT, it’s called data cleansing and it can be quite a chore.


  • Some fiscal years have 53 weeks. 2017 is the next year where there are 53 weeks so it won’t interfere here but the broader point is that I must line up the weeks so the holidays line up correctly.
  • Holiday shifts have been made
  • We will cluster our stores later.  It makes a big difference especially if the stores are dispersed across climate zones.
  • Closed / New stores are thrown out
  • 2014 and 2015 are averaged together by week. This is not always a good idea for seasonal product.
  • Week 1 is February Week 1

Ah, now that’s more like it. Nice peaks in the summer, July 4th, and during the holidays. We’ll discuss this in a future post but if we were to cluster the stores you would see some dramatic differences by climate zone, as you might expect.

So let’s take another look at week 43 the black Friday weekend. The index for week 43 is 2.1. So if we go back to our two stores, store one which has an annual average of 10, would likely sell 10 X 2.1 = 21 during this week. Store 2, alternatively, would likely sell 100 X 2.1, or 210 during this week.

We now have a way to “look forward” when we generate a forecast.

The next step using VRS is to look at trend. By doing so, we’ll automatically adjust the “average sales” using exponential smoothing. This is perhaps the most powerful part of this forecasting method.

Part I:  Moving Averages
Part II: Exponential Smoothing
Part III: Sales Profiles
Part IV: Variable Response Smoothing