Demand Planning Analytics | Towards Data Science

In this section, we will discuss descriptive analytics that use forecasts and historical (actuals) in the calculations. Let’s note that all forecasts and actuals are for volumes sold at the granularity chosen. The chosen granularities (in terms of product and customer hierarchies, historical time periods, types etc.) in the visualizations below are simply examples and can be updated to match a setup. The blue boxes at the top of each visualization are dropdowns where the user can select multiple items (with the exception of Display Entity, where we can select only one entity). Display Entity is the level at which the analysis is visualized. Time period denotes the most recent past period (in months in the examples shown in this section) over which the analysis is done.

I. Scale and Variability of Demand

Figure 2. Scale and Variability of Demand

In Figure 2, we display actual sales at the SKU level over the past 12 months. This is displayed in the form of a boxplot highlighting the median, 25th percentile, 75th percentile, minimum and maximum of sales over the historical time period.

Insight(s): The boxplots as shown in Figure 2 provide a sense of the scale of demand (denoted by the median) over a historical time period and the variability in the demand as expressed using the interquartile range (IQR). We may choose to sort by the median or IQR to identify the largest volume or largest variability items, respectively.

(s): Typically, we focus our forecasting efforts on high volume and high variability items, while using a statistical forecast for low volume or low variability items.

II. Historical Sales Pareto

Figure 3. Historical Sales Pareto

In Figure 3, we plot the actuals lifted by each customer over the past 6 months.

Insight(s): The chart in Figure 3 shows customers listed side-by-side in descending order of volume lifted over 6 months. This view also enables us to calculate cumulative sales over this past period for a set of customers.

Action(s): Oftentimes, a small percentage of customers are responsible for a majority of the demand (80–20 rule). It would be prudent to focus on forecasting these items for a higher return on time investment.

III. Consistent Poor Performers

Figure 4A. Forecast Deviation from Actuals (Raw)
Figure 4B. Forecast Deviation from Actuals (Absolute)

In Figure 4A and Figure 4B, we look at the raw and absolute deviation of the forecast from actuals, respectively, at the SKU level summed over the past 6 months.

Insight(s): The positive deviations in Figure 4A show areas where we consistently over-forecast and the negative deviations highlight items where there is consistent under-forecasting. The second chart (Figure 4B) shows where we get the forecast timing wrong for the item (intermittently over- and under-forecasted).

Action(s): Ideally, we would lower the forecast for items with a consistent positive bias and increase the forecast for ones that have been persistently under-forecasted unless the business conditions have changed. For the ones, where we are not able to capture the timing right, we may want to collaborate with the customers to understand the root causes and capture the timing better.

IV. Segment Items based on Forecast Accuracy

Figure 5. Deviation between Sales Forecast Error and Statistical Forecast Error

In Figure 5, we display the deviation between the sales forecast error and the statistical forecast error at the SKU-customer combination aggregated over the past 6 months.

Insight(s): The positive bias in Figure 5 shows where the sales forecast had higher cumulative error over 6 months than the corresponding statistical forecast. The negative deviations show where the sales adjustments are making the forecast better than the statistical forecast (i.e. the cumulative sales forecast error is lower than the cumulative statistical forecast error over the selected time period).

Action(s): To improve the metrics, we would use the statistical forecast for the items with the positive deviations and the sales forecast for the entities with the negative deviations. This is again assuming business conditions remain stable.

V. Outliers based on Recent Sales

Figure 6. Forecast Deviation from Recent Sales

In Figure 6, we investigate the deviation of the sales forecast for the next month from the average of the past 3 months.

Insight(s): The positive errors in Figure 6 show where we are over-forecasting compared to recent sales while the negative deviations show where we anticipate sales to be much lower than recent history.

Action(s): We would want to closely review the outliers, and verify if the forecast is out of line, or if there was an anomaly in recent sales, and adjust the forecast if needed.

VI. Outliers based on and Seasonality

Figure 7A. Forecast Deviation from Expected Sales based on Growth Rates
Figure 7B. Actuals and Forecast Growth Rates

For these visuals, we typically choose product family or higher level since a lower-level attribute (e.g., SKU) may lead to noise in growth rates. For the same reason, we tend to look at outliers at a quarterly basis instead of monthly. In Figure 7A, we look at product families with sales forecast deviation from expected Q2 sales. The expected sales in Q2 are simply a product of the last available Q2 sales and the average growth rate for Q2 sales across multiple years. In Figure 7B, we deep dive into growth rates (%) for multiple quarters looking year-over-year for the past 3 years.

Insight(s): The positive errors in Figure 7A show where we are over-forecasting compared to expected sales accounting for average YoY growth and seasonality, while the negative deviations show where we anticipate sales to be lower than expected seasonality adjusted YoY growth. Deep diving into a product family (e.g., PF21) in Figure 7B, we find that Q2 estimated growth rate for next year is much lower than the average Q2 growth rate of the past 3 years and warrants further scrutiny.

Action(s): The largest deviations (positive and negative) need to be reviewed to understand why the forecasts are not in line with expected growth and seasonality and adjusted accordingly.

VII. -Volume Outliers

Figure 8. (Normalized) Price vs Volume

In Figure 8, we plot the normalized price against the volume for product family PF23. While the price is normalized using the price of relevant feed ‘Feed3′, the volume is not normalized as we may not have on overall industry demand for this or a comparable product family. For historical periods, historical prices and volumes are used to generate the scatter plot, while the forecasted prices and volumes are used to generate the forward-looking normalized price and volume forecast.

Insight(s): The scatter plot shows how the price (normalized) and volume (normalized) are correlated at different granularities. While this approximates how volume moves with price (note that the normalizing entities themselves are approximations), the chart can help identify forecast outliers (e.g., too high a forecasted (normalized) volume for a given forecasted (normalized) price, when comparing against (normalized) historical price vs volume trends).

Action(s): We explore forecast outliers on the price vs volume chart for the forecasting horizon and review historical business context and current demand and supply conditions to assess if the outlier values are justified. If not, the volumes or prices are adjusted to bring the forecasts in line with historical trends.

VIII. Entities with Consistent Forecast Degradation or Improvement over Time

Figure 9A. Deviation between Forecast and Actuals (Raw)
Figure 9B. Items with Lowest Error for Selected Forecast
Figure 9C. Comparison of Lag Forecasts against Actuals

In Figure 9A, we analyze the performance of the Lag2Final Forecast (forecast finalized 2 months prior to month with the actuals being analyzed) at the SKU level over the past 6 months. Going further, we also investigate the product family items that have the smallest Lag2Final Forecast absolute error over 6 months as shown in Figure 9B. To understand the trends for each of these items, we plot the different lag forecasts vs actuals in Figure 9C.

Insight(s): From Figure 9A, we can identify the entities that are consistently over- or under-forecasted based on whether errors are positive or negative, respectively. Figure 9B shows the items that have the highest accuracy for a selected Lag forecast over a period of time. We peel the onion (as shown in Figure 9C) to investigate each item from the table in Figure 9B as to how it performed compared to other Lag forecasts across the past period.

Action(s): We would like to reduce the error for all Lag forecasts and consequently would focus on poor performers across all of these forecasts. Another actionable item is to learn from the consistently best performing Lag forecast at any granularity of interest and use it for reference. For example, if we make the forecast worse going from Lag3Final to Lag2Final to Lag1Final for any item, we may first want to understand the root cause — if it is deemed to be poor forecast updates not related to any business anomaly, we may just stop updating the forecast after Lag3Final for the particular item in question.

Source link