4 Smart Visualizations for Supply Chain Descriptive Analytics

Discover how to improve your supply chain descriptive analytics with 4 smart visualizations.

Samir Saci
Towards Data Science

--

Get a better understanding of your supply chain network and optimize your flows with the help of smart visualizations.

From Sankey charts to Boolean plots, this article presents 4 Python visualizations to provide key insights into your supply chain operations.

As a Data Scientist, how can share my insights to business people using engaging visuals?

Introduction

Supply chain Analytics can be defined as a set of tools and techniques your organization should use to get supply-chain operational insights from data.

In a previous article, I defined the four types of Supply Chain Analytics that answer different operational questions.

4 Questions of Supply Chain Analytics — (Image by Author)

It starts by building the foundation of Descriptive Analytics to monitor the present and analyze the past.

In this article, I will share four Python smart visualizations for descriptive analytics that provide key insights to understanding your supply chain.

💌 New articles straight in your inbox for free: Newsletter
📘 Your complete guide for Supply Chain Analytics: Analytics Cheat Sheet

SUMMARY
I. Supply Chain Network Design
Find the right allocation of factories to meet a global demand
1. Supply Chain Flows
2. Network Design
II. Products Rotation
Grouping products with similar logistics characteristics
1. Pareto Chart
2. ABC Analysis with Demand Variability
Simulate 50 scenarios based on a normal distribution of the demand
3. Analyze the results
What are the different combinations of solutions?
4. Final Solution
The most robust combination?
III. Conclusion & Next Steps
1. #GenAI: Improve the User Interface with GPT
A GPT agent that would answer questions using the simulation model
2. Move Towards a Sustainable Supply Chain
Implement objective functions aiming to reduce carbon footprint

If you prefer watching, check out my YouTube tutorial!

Supply Chain Network Design

A Supply Chain can be defined as a network of processes and stock locations built to deliver services and goods to customers.

Supply Chain Network — (Image by Author)

The main drivers of your network optimization are the locations of your manufacturing sites and the optimization of the flows.

Supply Chain Flows

❓ QUESTION 1
Which factory is producing for Market XYZ?

You want to have an understanding of the efficiency of your network by drawing the flows between production areas and markets.

📊 CHART 1
Sankey Chart

In this single chart, you have visibility on all the different flows. On the left, you have the production facilities and on the right, you have the markets.

Sankey Chart of Production Flows — (Image by Author)
💡 INSIGHTS
- India is the biggest country for production output
- Japan market demand is mainly supplied locally
- USA and Germany do not have local production facilities
📈 DATA
You need to prepare a DataFrame with three columns:
- Source: the production facility name
- Target: the market supplied
- Units: the number of items flowing
📚 LIBRARY
You can use pySankey

You can find the source code in my GitHub repository and a detailed tutorial in this video for more details.

Network Design

Supply chain Network Optimization makes the best use of data analytics to find an optimal combination of factories and distribution centres to produce and deliver products at the lowest cost.

❓ QUESTION 2
Which factories should I open to get an optimal network?

If your demand is unstable, you can run simulations for different scenarios and ask your model (based on linear programming) to provide the best solution for each.

Animated Plot with the different scenarios — (Image by Author)

A solution is a set of boolean decision variables listing all potential locations: their value is 1 if you open the location 0 else.

📊 CHART 2
Boolean Plot

In this chart, you have visibility on the results of 50 different scenarios:

  • x-axis: the name of the scenario
  • y-axis: the decision variable linked to a facility (dark blue: open, white: closed)
Boolean Plot of Supply Chain Network Solutions — (Image by Author)
💡 INSIGHTS
- Initial solution with (Indian, Brazil and Japan High + India Low) is repeated in more than 5 five scenarios
- Some extreme scenarios need only two factories in India

📈 DATA
You need to prepare a DataFrame with the output of your optimization model (vectors with boolean parameters).
📚 LIBRARY
You can use matplotlib.pyplot.pcolor

You can find the source code in my GitHub repository and a detailed tutorial in this video for more details.

To understand the theory behind these visuals, look at two detailed supply chain network optimization case studies using Python.

Products Rotation

In Supply Chain Management, Product segmentation refers to grouping products with similar logistics characteristics (like rotation).

Pareto Chart

Classifying your products to allocate your efforts to inventory management, optimize your warehouse operations or design your racking layout is important.

Pareto Plot & Product Rotation — (Image by Author)
❓ QUESTION 3
How many references make 80% of my total turnover?

The foundation of this approach is the Pareto principle, also called the 80–20 rule.

Most of the time, a minority of your products (usually around 20%) make up the majority of your outbound volumes (usually around 80%).

📊 CHART 3
Pareto Chart

This plot can show you where your product rotations are compared to the Pareto law:

  • x-axis: the percentage of reference of your portfolio (%SKU)
  • y-axis: the percentage of the outbound volumes they represent (%Boxes)

In this example, you can quickly see that you have less than 20% of your total portfolio, contributing to 80% of the outbound volume.

Pareto Chart — (Image by Author)
💡 INSIGHTS
- Very high rotations (top 5%) make more than 60% of the volume
- 20% of the portofolio represent 84% of the outbound volume
📈 DATA
You need to prepare a DataFrame with the outbound volume of each SKU, their contribution in the total volume and then calculate a cumulative sum.
📚 LIBRARY
You can use matplotlib.pyplot for a simple plot.

You can find the source code in my GitHub repository and a detailed tutorial in this video.

ABC Analysis with Demand Variability

The Pareto chart answers the question: What are the references that are driving most of your sales?

Demand Variability
However, if you want to know how to allocate your effort to inventory management you need to include another parameter: demand variability.

Two different examples of demand distribution — (Image by Author)

Indeed, if a product has a stable demand, it will require less attention and optimization than a product with a very volatile demand.

Therefore, you would like to combine the sales distribution and the demand variability in your classification of products.

  • Average Sales: µ
  • Standard Deviation:
  • Coefficient of Variation: CV = σ/µ

For SKUs with a high CV value, you may face unstable customer demand, leading to workload peaks, forecasting complexity and stock-outs.

Plot CV = f(%Sales)
To understand which products will bring planning and distribution challenges, we will compute the coefficient of variation of each reference's yearly distribution of sales.

CV = f(%Sales) for HOBBIES SKU — (Image by Author)

Class A products (red): Top 5%

  • Items with CV>1: high allocation of resources to manage their inventory as they represent a majority of your revenue with very unstable demand

Class B products (green): following 15%

  • Items with CV <1: you can manage them with generic rules
  • Items with CV>1: allocate moderate effort and resources to minimise stockouts

Class C products (blue): 80% remaining slow runners

  • Allocate minimum effort and resources for these low runners

If you’re interested in these visuals, I have developed a Web Application

ABC Analysis & Pareto Chart App [Link]

With a tutorial on how to use the application,

3. ChatGPT as User Interface — “The Supply Chain Analyst”

As Generative AIs became a trending topic, I shared my experimentations of Large Language Models coupled with analytics models in this article.

Supply Chain Control Tower Agent with LangChain SQL Agent [Article Link] — (Image by Author)

The initial prototype was an automated Supply Chain Tower designed using a LangChain agent connected to a database.

Later, OpenAI introduced a new feature allowing users to create custom versions of ChatGPT tailored for specific purposes.

“The Supply Chain Analyst” — (Image by Author)

Therefore, I took the opportunity to create and deploy an agent to automate Pareto and ABC analyses.

Example of User Interaction — (Image by Author)

With this GPT, which you can access via this link, users can ask for Pareto or ABC analyses using natural language.

For more information,

💡 Follow me on Medium for more articles related to 🏭 Supply Chain Analytics, 🌳 Sustainability and 🕜 Productivity.

Logistics Performance

The performance of your distribution network can be summarised in one sentence

Are you delivering your end customers on time in full?

This is the central question animating performance management with analytics, operational review and continuous improvement initiatives.

Shipment Tracking

Supply Chain Descriptive Analytics uses the data generated by the different systems involved in your distribution chain to follow the timestamp of each step your shipment goes through.

At a tactical level, you have distribution planning teams that are following the status of the orders created recently.

❓ QUESTION 4
Where are my shipments?

From the order creation to the store delivery, your shipment goes through different steps:

Example of a store delivery — (Image by Author)

For each step, your systems are recording time stamps at the beginning and at the end of the process.

📊 CHART 3
Stacked Bar Plot
Stacked Bar Plot of Shipment Status — (Image by Author)

At a time t, this chart shows the split of shipments by current status:

  • x-axis: orders are grouped by order creation date
  • y-axis: number of shipments
  • legend: the current status of your shipment from order creation to store delivery
💡 INSIGHTS
- 100% of the orders created before 05th May are delivered
- A majority of the shipments created the 8th are blocked in the clearance
📈 DATA
You need to prepare a DataFrame by grouping orders by creation date and current status and count them.
📚 LIBRARY
You can use matplotlib.pyplot for a bar plot selecting stacked=true

For more details, you can find the source code in my GitHub repository and a detailed tutorial in the video below

Conclusion

Follow me on Medium for more Data Analytics and Supply Chain Management articles.

Logistics Performance Management

These simple charts can provide valuable insights for supply chain design, optimization, and monitoring.

After connecting the different systems, you can see each step between replenishment order creation and store delivery.

End-to-end distribution process with timestamps — (Image by Author)
  • Order reception time: timestamp when the order is received in the WMS and ready to be prepared in the warehouse
  • Warehouse Operations: picking, packing and shipping are tracked by the WMS
  • Transportation: tracking of the orders from shipping to delivery
  • Store receiving: timestamp when store teams are receiving the shipments in the ERP

During the order creation, planners add a requested delivery date that can be used to calculate the targeted timing for each process.

This can be used to calculate the On Time in Full (OTIF) KPI that can be used to manage logistic performance

  • Build visuals to measure OTIF and the lead times per process
  • Conduct late deliveries root cause analysis to identify process failures
  • Implement Continuous improvement initiatives to solve these issues

For more details,

About Me

Let’s connect on Linkedin and Twitter, I am a Supply Chain Engineer using data analytics to improve logistics operations and reduce costs.

If you are interested in Data Analytics and Supply Chain, have a look at my website

References

--

--

Top Supply Chain Analytics Writer — Follow my journey using Data Science for Supply Chain Sustainability 🌳 and Productivity ⌛