This blog is a follow up to the last one where I discussed some ideas around setting up a forecasting hierarchy. As hinted in that blog, I feel that forecasting using fixed hierarchies is not the best way of forecasting. In this blog post, I intend to share what I consider to be a better forecasting methodology.
Imagine a business that sells many different products to many different customers from multiple locations. In this example, a number of pre-defined hierarchies are available to us for a hierarchical forecasting.
- Product hierarchy: Product-Package (SKU), Product, Product Sub-Family, Product Family
- Customer hierarchy: Ship to Customer, Sold to Customer, Parent Customer
- Location hierarchy: City, State, Country
In this example, the traditional hierarchical approach would allow us to establish a pyramid type system of hierarchies where each side of the pyramid represents one of the hierarchies described above. Some other schemes might allow some limited crossing across hierarchies. For example, consider a forecast level of product-ship-to-customer. In fact, a lot of commercial software packages are very flexible in the way they allow you to setup these hierarchies in the beginning. This flexibility, however, is of the same kind that is afforded by concrete: very flexible when pouring, but totally inflexible once set. Thus any change in business conditions that require a different approach to forecasting becomes very difficult to react to. In the end, the business suffers from a poor quality of the forecast.
Now consider a different approach to forecasting: an approach which is not subservient to the pre-established hierarchies in the data. Instead it utilizes a system of dynamic hierarchy which is driven by the individual qualitative attributes available in the data set. These qualitative attributes include the ones listed above and also the following ones (and possibly many more)
- End Use
- Sales Rep
- Sales Manager
- Life Cycle (New/Mature/Declining)
A dynamic hierarchy based system allows a user to do mainly three things:
- Define any hierarchy based on the qualitative attributes irrespective of the product/customer/location and other pre-defined hierarchy in the data.
- Define different hierarchies for different parts of data based on selections and filter.
- Change and adapt the hierarchy to different business conditions over time.
Let us consider some examples of using these dynamic hierarchies.
WARNING: These are just examples, not to be confused with what will work with data. Please do not use these examples without ample experimentation with your data.
- SKU-Ship-to Customer forecast followed by a forecast at the Product Sub-Family level with appropriate disaggregation method for mature products
- Product level forecast for products sold only in bulk
- Forecast at the product level using only moving average methods for new combinations
- Forecast at the product-customer level using cyclical methods for data that shows a cycle
This approach, when combined with the approach that lets a software pick a best-fit method or a combination of best-fit methods, produces a forecast that is much better in quality than a hierarchical approach. In my experience, the difference can be 10-20%. At Arkieva, we routinely use this approach with our clients.
This idea of statistical forecasting based on qualitative attributes in the data and utilizing a system of dynamic hierarchy can also be extended to other parts of the planning within a supply chain. But that is for another post.
What do you think? Have you experimented with this forecasting based on qualitative attributes before? Have you utilized a system of dynamic hierarchies? At Arkieva, we always use them. Let us know via comments.