In this article, we will cover what SKU-level demand forecasting is and identify the steps in the process. We will apply it in a business example to better illustrate the process.
SKU-level demand forecasting is the process of predicting future demand for individual products or items within a company's inventory. It is typically based on historical data and market trends.
Example: A clothing retailer uses SKU-level demand forecasting to anticipate the demand for a specific product variant, like "Medium, Navy Blue" winter jackets by analyzing historical sales data and current market trends.
Here are some of the reasons why implementing SKU-level demand forecasting is important:
Ensures optimal stock levels for cost reduction and product availability.
Guarantees desired products are on hand when customers want them.
Curtails expenses from holding excess inventory and rushing orders.
Offers clarity for improved production, procurement, and logistics strategies.
Fine-tunes pricing and marketing for anticipated demand surges.
Curbs potential product obsolescence by matching inventory with actual demand.
Leverages data analysis for well-informed pricing, product, and marketing choices.
Here's our step-by-step guide on how to implement SKU-level demand forecasting:
In this step, gather historical sales data for each SKU, ensuring it includes relevant details such as date, quantity sold, and any external factors like promotions or holidays. Clean and preprocess the data to remove outliers and missing values.
Example: Collect and clean the sales data for "Product A" from January 2020 to September 2021, handling missing values and removing anomalies, creating a dataset ready for analysis.
Identify and create additional features that could influence demand, such as seasonality, price, marketing expenditures, or competitor data. These engineered features will help improve the accuracy of your forecasting models.
Example: Include features like "average temperature" and "competitor's pricing" in the dataset for "Product A" to capture seasonal patterns and competitive influences.
Conduct EDA to understand the data's distribution, patterns, and correlations. Visualization techniques and statistical tests can reveal insights that inform model selection and parameter tuning.
Example: Use EDA to discover that "Product B" experiences higher sales during the holiday season and visualize this trend with a time-series plot.
Choose appropriate demand forecasting models based on your SKU's characteristics, such as time series models (e.g., ARIMA, Prophet) or machine learning algorithms (e.g., Random Forest, LSTM), considering the dataset's size and complexity.
Example: Select an LSTM neural network model for "Product C" because of its ability to capture complex temporal dependencies in the sales data.
Split the dataset into training and validation sets to train your chosen model. Evaluate its performance using metrics like Mean Absolute Error (MAE) or Root Mean Square Error (RMSE) to ensure accuracy.
Example: Train an ARIMA model for "Product D" using data from January 2018 to December 2020, validating its accuracy against actual sales data from January 2021 to September 2021.
Fine-tune your forecasting model by adjusting hyperparameters and features. Implement techniques like grid search or Bayesian optimization to find the best parameter combinations.
Example: Optimize the learning rate and batch size for the LSTM model used for "Product C" to achieve a lower RMSE.
Use the trained and optimized model to generate demand forecasts for each SKU. These forecasts should cover the desired time horizon, whether it's days, weeks, or months.
Example: Generate demand forecasts for "Product E" for the next 12 months using the trained Random Forest model.
Assess the forecasting model's accuracy and performance by comparing the generated forecasts with actual sales data for a validation period. Use evaluation metrics to gauge the model's effectiveness.
Example: Evaluate the accuracy of the ARIMA model's forecasts for "Product D" by comparing them to actual sales data from October 2021 to December 2021, calculating the MAE and RMSE.
Implement the forecasting model in your supply chain or inventory management system. Continuously monitor its performance and update it as necessary to adapt to changing market conditions.
Example: Integrate the LSTM forecasting model for "Product C" into the company's inventory management system and regularly review its accuracy to make adjustments as needed.
Establish a feedback loop where you gather insights from actual sales data and customer feedback. Use this information to refine your forecasting process and improve model performance over time.
Example: After observing discrepancies in the demand forecasts for "Product E," collect feedback from the sales team and adjust the feature engineering process to better capture relevant factors, enhancing future forecasts.
Let’s apply our framework to Fashion Trends Boutique, a clothing company that utilizes SKU-level demand forecasting to optimize inventory management and enhance customer satisfaction.
Fashion Trends Boutique collects historical sales data for its SKUs. For instance, we have the sales data for "Red Dress" for the past two years:
Clean and preprocess the data to handle missing values and remove anomalies. Suppose you find that there are missing sales data for June 2020 and November 2020.
Incorporate additional features that may impact demand, like weather data for seasonal clothing items. For "Red Dress," include temperature data for the respective months:
During EDA, you discover that "Red Dress" sales spike during the summer months when the average temperature is above 25°C. This pattern guides your forecasting model selection.
Select a model that can handle seasonality and temperature as a predictor. You choose a Seasonal Decomposition of Time Series (STL) model to capture seasonal trends in "Red Dress" sales.
Divide the dataset into training (January 2020 to September 2021) and validation (October 2021 to December 2021) sets. Train the STL model and evaluate its performance with Mean Absolute Error (MAE).
MAE = 5 units
Optimize the STL model by adjusting the seasonal decomposition parameters. After fine-tuning, you reduce the MAE to 4 units.
Use the optimized STL model to forecast "Red Dress" sales for the next six months:
Compare the model's forecasts with actual sales data for October to December 2021:
Evaluate the MAE for this period:
MAE = (|70 - 75| + |90 - N/A| + |85 - N/A|) / 3 = (5 + |90 - N/A| + |85 - N/A|) / 3
Integrate the STL model into Fashion Trends Boutique's inventory management system. Monitor sales and adjust forecasts as needed based on actual sales and temperature fluctuations.
Continuously collect feedback from the sales team and customers. If the forecasted sales significantly deviate from actual sales, refine the model, add more relevant features, or adapt to changing market conditions.
We hope that you now have a better understanding of what SKU-level demand forecasting is and how to utilize it to improve your business strategies.
If you enjoyed this article, you might also like our article on SKU analysis or SKU level data.