Predicting customer demand can be a challenge for some companies that don’t have modeling and coding resources. Demand forecasting with Azure Machine Learning helps organizations make business decisions more efficiently with its low-code interface and simplified process.
Demand forecasting is essential in making the right decisions for various areas of business such as finance, marketing, inventory management, labor, and pricing, among others. Knowing what a product demand will be in the future has an impact on customer satisfaction, and helps prevent money losses and problems caused by high inventory costs, lockouts, or spoilage.
Traditionally, forecasting requires a deep level of knowledge and understanding of different models and methods. Most of the time, forecasting is done based on historical data which might not be easily available. Even when the data is available the process of predicting customer demand requires testing different methods, variables and distinguishing good from bad forecasts which can be time-consuming.
When companies face all of these challenges they often decide to take a more simplified approach which can lead to inaccurate predictions and misinformed decisions. For this reason during a recent hackathon, we decided to forecast demand using Azure Machine Learning based on historical data.
We picked Azure Machine Learning due to the flexibility it provides since it is a fully managed cloud service that can easily scale up or down the resources to train Machine Learning (ML) models as needed. Additionally, it has a variety of options accessible to different skill levels.
There are a couple of ways to approach this task in Azure.
Designer provides a canvas with a drag-and-drop interface where different modules are connected together to create a pipeline to train a model. ML Designer comes with regression, classification, and clustering algorithms but it also has the option to run R and Python scripts to use other models.
When using this functionality, Azure ML takes care of finding the best model by iterating through different algorithms and parameters based on the data provided by scoring the different models.
For this forecast, we did a time series analysis with Azure Automated ML using a dataset with customer order history by product and location. The features used for forecasting were: Week Ending, Location Number, and Item. The time frame used to train the model was 2019 and the metric forecasted was Customer Order Qty.
Here is an example of the dataset used for the analysis
After running hundreds of experiments using different models in a few hours, Azure Automated ML identified that the best fit is a Voting Ensemble model.
One of the outputs of Automated ML are the measures and charts to evaluate the accuracy of the model.
Having the trained model ready, we decided to integrate it with Power BI to compare the forecast against actual 2020 data from January through July.
We observed in the report below that the forecast is very close to the actual numbers from January through April. However, from May through July the forecast is not as accurate which could be explained by the impact of COVID-19.
Predicting customer demand enables businesses to make better decisions in a more efficient way. In the past, machine learning modeling required significant resources and domain knowledge. Azure Machine Learning has simplified this process with its low code interface enabling forecasting capabilities with less time and resources.