Demand Forecasting for Production Planning

Introduction

Demand forecasting is a crucial process in production planning that helps businesses predict future product demand. Accurate forecasting allows manufacturers to optimize inventory levels, reduce waste, improve supply chain efficiency, and meet customer expectations.

Planvisage SCM Demand Forecasting – Implementation Methods

Planvisage SCM Demand Forecasting has evolved through two distinct versions:

Version 1.0

A single-task approach where historical data is aggregated, forecasted, and directly disaggregated into end-level products. The forecasted values are stored at the end-level items in one step.

Version 2.0

A multi-stage process that improves modularity, accuracy, and maintainability by dividing forecasting tasks into separate stages.


#Version 2.0 – Multi-Stage Forecasting Workflow

The demand forecasting process in Version 2.0 is divided into the following sequential tasks:

1. Data Preparation – User Input

Before executing automated workflows, the user must manually populate the ForecastProdRegionParameters database table with the following details:

PlantId.
ProductId – The product/SKU being forecasted.
RegionId – The region for demand forecasting related to Product Id.
DataMeasure – The Identifier Name used for the forecast technique.

2. Task 1: Aggregate Forecast Prod Region History (V 2.0)

This task is responsible for aggregating historical sales data and preparing it for forecasting. The process consists of three key steps:

(a). Populate the ForecastProdRegion table:

The ForecastProdRegionParameters table serves as the source, defining combinations of ProductId, RegionId, and DataMeasure. Distinct values of PlantId, ProductId, and RegionId are extracted from ForecastProdRegionParameters and used to populate the ForecastProdRegion table.

(b). Populate the ForecastAdjSalesHistory table:

Retrieves all daily sales history records of products for a given region from the ForecastSalesHistory table. Aggregates the sales history data to a monthly level, as forecasts are generated based on monthly data. Stores the processed monthly sales history in the ForecastAdjSalesHistory table.

(c). Aggregating Sales History

Aggregates sales history at the Product-Region level, where forecasting is performed. Stores the aggregated data in the ForecastProdRegionOutliers table. The SalesQty column in this table holds the aggregated sales history data

3. Task 2: Outlier Detection and Correction (V 2.0)

This task detects and corrects anomalies in historical sales data to ensure accurate forecasting.

Key Steps Involved:

Outlier detection is performed on the ForecastProdRegionOutliers table using statistical and machine learning techniques. Identified anomalies are automatically corrected based on predefined parameters:

TechId – Specifies the outlier detection technique applied.
OutlierTreatment – Determines the method used to handle detected anomalies.

The corrected sales quantities are saved in the CorrectedQty column of the ForecastProdRegionOutliers table.

4. Task 3: Forecast Generation (V 2.0)

This stage applies forecasting algorithms to generate demand projections.

Uses the processed and corrected sales history. Runs statistical and machine learning models for demand forecasting. Saves the forecasted values into the ForecastResult database table.

Forecast techniques

5. Task 4: Forecast Disaggregation (V 2.0)

The final step involves breaking down the generated forecast to individual product levels.

Disaggregates forecasted values from the aggregated level back to end-level items. Saves the final disaggregated forecast into the ForecastStatisticalData database table.