The Insighters
Published in

The Insighters

Inventory Insighter | Higu Baruah

Higu Baruah has a unique story. He started his career in sales but ended up in data analytics. When asked about this unique path he says “knowing what happens on the ground helps me analyze data better than those who have never faced customers”.

Higu Baruah — Inventory Insighter

In this blog post, we talk to Higu about one of his analytical models which he developed to optimize inventory for an automotive business. This spans across the supply chain but for this blog we will focus on the dealer capital part of the chain.

We will do this using only publicly available information, publicly available research papers and open source libraries — so that it can be deployed by anyone else working on similar problem set.

The Trade-off

If you have to buy a car, most likely you will visit a dealership. They get their stock from the local warehouse where it reaches from a regional stockyard, or from the manufacturing plant itself. There are inventories (or floating inventories) at all these stages of the supply chain:

In modern automotive sales, there can be hundreds of SKUs, which means that no dealer can have all the models a customer may want. There will always be a non-zero waiting period until the desired vehicle is procured some customer who wants a model that is not “regular” enough to be stocked.

This creates a tension between two optimization functions:

  1. How to maximize available stock so that customers get their desired cars as quickly as possible. A company that fulfils demand slower than competition is likely to lose customers.
  2. How to maximize inventory turnover so that every dollar used in inventory is converted into sales as many times as possible. A company that rotates the capital least will require more capital to make the same revenue. Here is a comparison between two OEMs’ turnover ratio as an example:
Maruti Suzuki — Inventory Turnover from Higher number is better. Maruti has been able to increase the ratio from 18 times per year to about 24 times per year.
Mahindra & Mahindra — Inventory Turnover from The ratio has stayed consistently at 9–10 times per year for last 4 years.

Simple Beginnings

The first step that Higu came up with was pretty straightforward — segment the SKUs on the basis of their historical demand volume, and the variation in this demand. Something along these lines:

Simple SKU classification on the basis of volume and variation in demand

Standard deviation is a good enough metric for “variation” in demand. Check out below inbuilt module in Python.

Equipped with this intelligence, a strategy can be formulated as:

  1. Allocate maximum capital to high volume low variation models
  2. Allocate minimum capital to low volume high variation models

Further, inventory can be maintained at two different level

  1. Cycle stock: the predicted demand per SKU based on historical demand
  2. Safety stock: stock to be maintained based on the historical average and the standard deviation as explained by WikiHow here
WikiHow explanation of Safety Stock

Enter: Genetic Algorithms

Higu was sort of happy with the above results because it introduced some method of madness and helped optimize turn over ration and stock availability at some pilot locations.

But he still faced the larger challenge of implementing this globally, which means factoring in local variables like:

  1. Dealer specific high volume SKUs which are low volume for the region
  2. Location specific seasonality in demand
  3. Introduction of new models with no prior historical demand data

To develop a model for each SKU, for each region, for each seasonal variation and down to the dealer level is daunting task. This makes the above model un-scalable and unreliable.

To overcome this challenge, Higu and team thought of implementing Genetic Algorithms. These algorithms aim to optimize for a given constraint by “evolving” just like genes do over generations.

Genetic Algorithms are one of the branches of AI that is used for okay-ish imperfect but quick solutions:

AI => Heuristics => Genetic Algorithms

Here is a working example that can be run using Python

In Higu’s case this method was applied to get the best possible turnover ratio under a constraint of limited capital. Over a few “generations” the script learnt how to get the maximum possible turnover within this constraint.

The exact implementation is a little outside the scope of this blog, but Higu says it was able to get good enough recommendations for most of the cases very quickly. He ran the algorithm with inventory as the “chromosome” while trying to optimize for turnover ratio.


Inventory optimization has a direct and strong impact on revenue and profitability of automotive or similar manufacturing sector businesses. We saw how Higu and team was able to pull this off using relatively simple statistical model, and some AI methods to get business insights which can be applied in real world scenario.




Insighters Blog covers interesting stories on how data scientists and analysts find hidden value in business data and make an impact. The blog’s focus is on predictive and prescriptive analytics in industrial and financial sectors.

Recommended from Medium

Predicting Loan Defaults using Deep Learning with Keras & Tensorflow

Clustering NYC Neighborhood

Testing hypotheses

Say no to data d(u)mps with DMP

Evaluation of participatory transport mapping data: MapatónCDMX

To Supervise Or Not To Supervise? Supervised vs Unsupervised Learning

How to implement Linear Regression with NumPy

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Indresh Kumar

Indresh Kumar

More from Medium

BioTech’s Magic Bullet: Molecular Delivery Platform Sector Overview and Plays

CryptoHawk AI Long-Short Strategy — AI & Trading Strategy in Action

Technology reshaping Economics & Finance:

Positioning Ourselves for a New World Order