E-commerce has already revolutionized many aspects of how supply chain operates in the twenty-first century. And now, we have companies like Amazon patenting what is called ‘Anticipatory Shipping’ – i.e. your order may have already been shipped to a distribution centre close to you in anticipation of the fact that you are likely to place the order.

How does Amazon do this? The answer lies in the sophisticated and advanced machine learning algorithms which are able to process big data and predict demand at a granular level to help Amazon optimize its supply chain processes and delight customers.

Traditionally, companies have relied on a mix of experienced employees and basic models on spreadsheets for forecasting. Another common trend has been to use a top down approach – forecast at some higher level e.g. overall category sales and then do a percentage allocation for the granular level based on historical pattern.

However, above traditional methods are prone to numerous limitations in handling scenarios which occur frequently in modern supply chains. First, different channels/segments/products may have different growth rates and/or seasonality which are not captured properly by such methods and by forecasting at aggregate levels in the top down approach. Second, various departments in the organization make assumptions and hypothesis based on their experience which can provide very different forecasts.

Third, the same product can be manufactured by more than one plant and same customer can be served by more than one warehouse. Hence, optimizing inventory and production planning becomes increasingly difficult with traditional tools. Fourth, special events such as promotions provide a high lift in sales which can disrupt supply chains due to bull-whip effect. Fifth, long-tail (slow-moving) items are even more challenging as these items are ordered infrequently and in smaller quantities. Finally, other factors such as launch of new products, entry to new markets, handling thousands of SKUs, big data, etc. further reduces the forecast accuracy of traditional tools.

Of late, many companies have started using their enterprise resource planning (ERP) software for forecasting as well. However, not many are aware of the limitations of such tools. The software tries to predict demand even without understanding what are the factors that drive the demand. Also, most forecasting algorithms need some minor customization to adapt to the business scenario for optimum performance, which most of the ERP based solutions are not equipped to handle. Building quality forecasting models requires us to move away from the one-size fits all approach and incorporate the business understanding in the forecasting model.

Hence, there is huge need to reduce manual decision making, spreadsheet based and ERP based forecasts and use intelligent tools to solve the forecasting puzzle. Also, a bottom up approach – forecasting at the granular level and then aggregating them would make more impact to the business.

We all know that historical data can provide valuable insights to improve future decisions in any business function. However, it is next to impossible to generate correct insights manually and even difficult to forecast accurately from such a method.

So, how do we enhance the performance of Supply Chains and forecast accuracy at companies where thousands of items are being produced in multiple factories, stored in multiple warehouses and being sold to millions of customers.

It is here that we need the help of advanced analytical tools which can dig through millions of historical data points and incorporate learnings which can help improve our future actions. Machine learning tools offer this capability to learn from historical data. Post their learning, machine learning models can be deployed for generating forecasts as well as prescribing actions such as setting inventory levels and deciding optimum production quantity.

There are two major kinds of forecasting techniques – time series and regression based. In Time Series Forecasting, historical sales data of that item alone is used for forecasting the future sales. In Regression based models, first, relationship is established between sales and the parameters which affect sales. This modelled relationship along with future values of the parameters is then used for forecasting sales.

Machine learning based forecasting methods employ the above regression based idea. They are able to automatically detect and model complex relationships between stimuli (independent parameters which can affect sales) and outcome (sales in this case). Thus, all a user has to do is to understand the business context and provide the historical data for both the parameters as well as sales.

Let us first understand the working of a simple machine learning based forecasting model. Simple machine learning models describe the relation between independent variables and dependent variable in the form of an equation. For example, let us look at sample sales data for an apparel store:

 sample sales data for an apparel store

A linear machine learning model to predict sales of different products would look like:

Sales= w1 x1 + w2 x2 + w3 x3 + w4 x4

Here, x1, x2, x3, x4 correspond to Price, Colour, Promotion, Previous Month Sales, respectively. Based on historical data, model will train and compute each of the weights w1, w2, w3, w4 and then use the same equation for future predictions.

The above model is a very simplistic version of the kind of algorithms that are being deployed today. Next, let us try and understand how the advanced machine learning algorithms such as Neural Networks and Deep learning techniques work.

Artificial Neural Networks are inspired by the working of human brain and excel at recognizing complex non-linear patterns. There is a Hidden layer between the input and output layers which is able to model complex relationships and interdependencies between drivers of demand.

So, what is the difference between the simplistic linear model and the neural networks? To understand the same, let us take a simple scenario and try to predict how much will I spend on shopping today?

Do I have an event that I need to attend to in the coming weeks?

Do I have my friends accompanying me for shopping?

Have I purchased anything recently?

What day of the month is it?

How much credit limit do I have in my card?

Is the weather too cold?

A simple model would assign weights to each of the parameters, multiply each parameter value by corresponding weight and just add them. However, real life scenarios are much more complicated than assigning simple weights to each parameter. For example, if I have an event to attend, then even though I may have purchased recently, I may still spend a lot. Thus, the two parameters cannot be looked in isolation and that is what neural networks are able to model better – they recognize such patterns and interdependencies because of the hidden layers. Neural networks model reality better - how much will I spend is decided by a non-linear and complex interaction of the above as well as many other parameters.

Deep learning techniques are an extension of the above concept – they employ multiple hidden layers and are hence, able to detect much more complicated patterns. They are being used to solve some of the most difficult Artificial Intelligence problems such as Voice recognition and Virtual Personal Assistants.

For one of the leading Industrial Products Manufacturing company in India, NeenOpal built an end to end demand forecasting and inventory management algorithm to optimize their supply chain. The company was facing twin problems. First, higher inventory costs due to non-moving and slow-moving items. Second, for some items, out of stock scenarios which were leading to poor customer service levels, lost sales and ad-hoc production changes. The problem was further compounded by their business dynamics. Some inventory had to be kept at each of the regional warehouses to cater to smaller demands. Multiple plants could manufacture the same SKU. The company was manufacturing over 1400 SKUs, many of which exhibited extremely seasonal or volatile demand patterns.

NeenOpal first developed a machine learning forecasting model which started at the granular level – forecasting sales for each item at the regional level and then aggregating it to higher levels. There are three main elements which were combined in the input data for good forecasting accuracy – historical sales data, internal factors which affect sales and contextual parameters which affect sales.

Machine learning algorithms were customized and rigorously tested before deploying them for business implementation. The forecasts along with Monte Carlo Risk Modelling were used to set the optimum inventory levels for each item at the regional level as well as plant level. Risk Modelling allowed us to calculate the optimum inventory level which balanced the costs of overstocking (inventory costs) and costs of understocking (lost sales).

Apart from reduction in inventory costs, Demand forecasting also helped in improving production efficiency. The company was able to fulfil most of the orders it received on time without the need of ad-hoc productions because of intelligently set inventory levels.


Advanced machine learning methods can be deployed to learn the complex relationships between demand and the various parameters affecting demand. The applications for such algorithms encompass optimization of almost every element in the supply chain - production, logistics, warehousing, distribution, sales, post-sales, etc. With much improved data systems in place, it is the right time for other companies to leverage the advantages of machine learning based forecasting. Hopefully, the next wave of innovative applications in this domain will come from new companies and not just from the trend setters like Amazon.


Brian Myerholtz and Henry Caffrey, November 4, 2014, BCG Perspectives, Demand Forecasting: The Key to Better Supply-Chain Performance

Joseph Shamir, Quarter 4, 2014 issue, Machine learning: A new tool for better forecasting