How Effectively Can You Handle your Supply Chain ??

Shreyansh nanawati
Analytics Vidhya
Published in
10 min readAug 2, 2019

Supply Chain Analytics (With a Case Study)

Introduction

With the growing application of Data Science and Analytics in different fields, the ways to analyze data and optimize the network is changing. Businesses are now using advanced Analytical tools to manage their Inventory and Optimize the Supply chain Network to reduce their costs.

The various areas in Supply chain were Analytics is being used are Demand forecasting, Inventory Optimization, Suppliers Segmentation for Milk run management system.

So, in this article we will first study the different areas of Supply Chain Analytics and work on a Case Study to segment the suppliers for Milk run implementation in Supply chain network.

Table of Contents

  1. Inventory Management under uncertainty
  2. Demand Forecasting/Time Series Analysis
  3. What is Milk run in Supply chain??
  4. Case study

Inventory Management under Uncertainty

Whenever a manufacturing company is delivering different types of products in the market, it needs to keep the track of the demand of different products and based on that it needs to manage the inventory. Every company wants to reduce their inventory to a least possible minimum value because Inventory leads to various costs.

  1. Holding costs
  2. Cost of Warehousing
  3. Depreciation of the stock with time
  4. Obsolescence

There are certain terms which are quite commonly used in Inventory Management.

Reorder point (ROP) — It is the threshold value of an inventory which is identified by the company so that if the inventory goes below this value the order will be placed to the supplier to replenish the inventory.

Lead time — It is the time taken by the supplier to supply the product to the specified Industry.

Safety Stock — It is the stock kept by the industry in their inventory against various uncertainties.

Probabilistic Model for Inventory

Different companies have different working models-

  1. Companies having uncertainty in demand as well as lead time.
  2. Companies were there is uncertainty in only demand and lead time is fixed.
  3. Companies having fixed demand and fixed lead time.

The third type of companies are those whose customers are different industries and they provide their demand based on their forecast.The most common practical scenario is the second case as the lead time is almost constant and known to us.

ROP = Demand during lead time + Z*𝜎dLT

Where Z = number of standard deviations from the average demand.

𝜎dLT= standard deviation of demand during lead time.

The above normal distribution is the demand curve.

𝜎dLT= 𝜎d*(lead time)½

The green area represents the 95% of area of normal curve and it is the probability of no stock out whereas 5% (red area)is the probability of stock out. Stock out means that we do not have the raw materials to produce our product.

Demand Forecasting

Demand forecasting for a particular product in a company is based on the time series analysis of the sales of that product and also the changing opinion of the people regarding that product which can be obtained through reviews on the company’s website.

There are different Time Series Models but in this article we have introduced briefly about only ARIMA forecast model.

  1. ARIMA Time Series Modeling

Autoregressive integrated moving average(ARIMA) model is a generalization of an Autoregressive Moving Average(ARMA) model. Both of these models are fitted to time series data either to better understand the data or to predict future points in the series(forecasting). ARIMA models are applied in some cases where data show evidence of non-stationarity, where an initial differencing step (corresponding to the “integrated” part of the model) can be applied one or more times to eliminate the non-stationarity.

The AR part of ARIMA indicates that the evolving variable of interest is regressed on its own lagged (i.e., prior) values. The MA part indicates that the regression error is actually a linear combination of error terms whose values occurred contemporaneously and at various times in the past.

Non-seasonal ARIMA models are generally denoted ARIMA(p,d,q) where parameters p, d, and q are non-negative integers, p is the order (number of time lags) of the autoregressive model, d is the degree of differencing (the number of times the data have had past values subtracted), and q is the order of the moving-average model. Seasonal ARIMA models are usually denoted ARIMA(p,d,q)(P,D,Q)m, where m refers to the number of periods in each season, and the uppercase P,D,Q refer to the autoregressive, differencing, and moving average terms for the seasonal part of the ARIMA model.

Most of the demand forecasting model are seasonal models because for particular products there is a season when sales go up and so we need to capture this seasonal components for an effective forecast.

What is MILK RUN in Supply chain??

Delivery method for mixed loads from different suppliers. Instead of different suppliers (say 6) sending their different trucks to meet their weekly demand, one vehicle visits different suppliers to collect the demand on their daily basis for the customer. In this way even if 6 vehicles are used for supplying the load, it is distributed over the whole week per day one truck. This method will greatly reduce the Inventory costs for both the supplier and the customer.

Case study

Consider a manufacturing company “ABC” which have their local Suppliers distributed around their region and if this company is an automotive “JIT” (Just in Time) based company there will be around 80–100 local suppliers and so connecting all these suppliers in Milk run implementation will be difficult.

As the company works on JIT it would prefer to have least possible material in their storage and supply the material directly on the production line after unloading from the truck.

The problem here is to cluster the suppliers based on their geographical location and also on different constraints like the volume occupied by the material supplied by the supplier on daily basis and also the type of material packaging. Let’s understand this with the help of an example —

Suppose company “ABC” has 5 suppliers and we need to cluster them on the basis of geographical location, Total daily volume, Packaging style and some other features. Our truck capacity is around 9m3. We know that supplier “1” and “2” are in one region and have daily volume requirement of around 4m3 and 4.5m3 respectively and they have same packaging style. Supplier “3” and “4” are in same region and also the truck from supplier “5” will have “3” and “4” in its route to company “ABC” and so it can collect their daily requirement.

How to automate this process ??

There will be a dashboard which will have the data about level of inventory of each supplier and based on this it will automatically cluster the suppliers based on the daily volume requirement for the next day plan. Suppose on one day supplier “3”,”4” and “5” cannot send their material into one truck due to volume constraints. So, we need to send two trucks to get the material and supplier “5” can then send more material. Then the daily requirement and that extra material can be stored, and for the next day planning, our algorithm will have the inventory level of supplier “5”. Based on that if possible, it would try to connect suppliers “3”,”4” and “5” in a single milk run truck saving the cost of transportation.

In this way the algorithm will automatically plan the milk run implementation for the next day based on demand data and also the inventory level and at the end of shift this data about the next day volume requirement will be sent to the supplier.

How this will benefit both supplier and also the customer ??

Supplier will have the daily volume requirement and so on daily basis he would be able to supply material without increasing transportation cost (as all the suppliers in one milk run will pay for the truck). This would also help reduce his inventory cost as in the older system he would have needed to produce the whole weekly requirement, store it and then supply the whole material in one truck.

Customers will also have reduction in its inventory cost and also its line feeding system and Double-material handling will be reduced which in turn reduces the efforts of (IDL) Indirect labour.

Clustering Technique

We need to choose the Clustering technique where we can form the clusters according to our requirement and this leads us to what is called “Hierarchical Clustering

Hierarchical clustering, also known as hierarchical cluster analysis, is an algorithm that groups similar objects into groups called clusters. The endpoint is a set of clusters, where each cluster is distinct from each other cluster, and the object within each cluster are broadly similar to each other.

Suppose A, B, C, D, E and F are our Suppliers and they are plotted according to their geographical locations. So we can cluster them through a dendrogram according to our daily requirement. If volume of material of C, D, E, F can be occupied in one truck then we can get two clusters- one of (A,B) and other of (C,D,E,F). If this is not possible, then we can go to the next level of three clusters- one of (A,B), second of C and third of (D,E,F), and check the requirement. This whole process will be carried automatically to reduce our Objective function that is “Cost”.

Suppose that in our Milk run our truck can cover an area of around “3 Km” radius then we can analyze the cluster then we can also analyze cluster with “5 Km” radius.

Clustering with “3 Km” radius

Clustering with “5 Km” radius

Where “blue triangle” is the location of “ABC” and all other dots represent their suppliers.

So the above excel sheet is an example of data sheet with the Inventory management team and there will also be an Inventory count column on a daily basis.

Along with this there will be a sheet having different costs like Transportation cost, Inventory Holding Cost and other costs and our objective function to be minimized.

Why we should approach the problem as Semi-supervised Clustering ??

Let us first understand “what is semi-supervised clustering?”

Clustering techniques tend to divide the dataset into homogeneous groups based on the features in the dataset. So in our case also we want group to be homogeneous on the basis of features like Geographical location, Packaging type and some other features. However, the problem here is that this unsupervised type of clustering will tend to cluster the same “Daily volume required” suppliers into one group which would create a problem as suppliers providing large volume of material will be grouped into one cluster. Thus, we would require large number of trucks for this single MILK RUN and will lead us to high transportation cost and indirectly our purpose of collecting material from different suppliers in one GO will not be completed.

Moreover, there can be other factors which can lead us to condition that the two suppliers cannot be clubbed together in a Milk Run.

Since there are constraints in our clustering technique that large volume suppliers cannot be linked into one group, this prior Knowledge about grouping our data into clusters lead us to “Semi-Supervised Clustering”.

There are two types of Constraints-

  1. Must-link Constraints
  2. Cannot-link Constraints

As an example, I have created an excel file with different supplier information, location, Packaging style and also Total daily Volume Requirement.

As our truck capacity in MILK RUN is around 10m3. We can clearly put our Cannot-Link Constraints on first 3 rows as they cannot be under one MILK RUN. The categorical variables can be converted into Numerical data by “One-hot encoding”.

Code in R

library(‘conclust’)
library(“readxl”)
#Read the data file into Rdata = read_excel(‘C:/Users/Shreyansh/Desktop/Book13.xlsx’)#Specify Cannot Link ConstraintscantLink = matrix(c(1,1,2,2,3,3), nrow = 3)#MustLink constraints are zero in our casemustLink = 0#Number of clusters to be formedk = 4#prediction using ckMeanspred = ckmeans(data, k, mustLink ,cantLink)pred

OUTPUT

1 3 2 2 2 2 2 2 2 2 2 4 4 4 4 4

As we can clearly observe that even though first 3 rows are homogeneous with respect to many features but by providing Cannot-Link Constraints they are grouped into different clusters.

Capacitated Vehicle Routing Problem

The clustering technique mentioned above may not be the best in providing good results as there we need to manually specify cannot link constraints. CVRP problems of Operational Research are solved using Genetic Algorithms. OR-Tools can help you to solve CVRP problem by asking you to give the distance matrix and the capacities of vehicle as input. The different colour paths are the different Milk runs routes which will optimize the cost.

End Notes

By creating a dashboard for Inventory Management System, we can effectively plan MILK RUN implementation and based on our requirement we can feed demand requirement and our plan for MILK RUN will be ready. This dashboard can also help to manage Inventory in an effective way.As through our dashboard we can answer the question of “which suppliers to connect in which MILK RUN” and based on our Inventory data we can also perform “What-If” analysis on our major decisions related to Inventory.

— Shreyansh Nanawati

I am currently in the fourth year of my graduation in Mechanical Eng from NIT Nagpur. Being a data Science enthusiast and a person who loves to play with maths, I am looking to explore my knowledge in this domain.

--

--