
Get a better understanding of your supply chain network and optimize your flows with the help of intelligent visualizations.
This article presents four Python visualizations, from Sankey charts to Boolean plots, that provide key insights into your supply chain operations.
As a Data Scientist, how can share my insights to business people using engaging visuals?
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.

It starts by building the foundation of Descriptive Analytics to monitor the present and analyze the past.
Discover simple visuals to boost your data story telling.
In this article, I will share four Python smart visualizations for descriptive analytics that provide critical insights about your supply chain.
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
1. Pareto Chart
Grouping products with similar Logistics characteristics
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
3. Do you want to animate your visuals?
Use Python Pillow to bring life to your visuals
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.

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 understand your network’s efficiency by drawing the flows between production areas and markets.
📊 CHART 1
Sankey Chart
This single chart shows all the different flows. The production facilities are on the left, and the markets are on the right.

💡 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 is included in this video.
Network Design
Supply chain Network Optimization uses 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.

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)

💡 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 is included in this video.
To understand the theory behind these visuals, examine two detailed Python supply chain network optimization case studies.
Products Rotation
In Supply Chain Management, Product segmentation refers to grouping products with similar logistics characteristics (like rotation).
Pareto Chart
It is important to classify your products to allocate your efforts to inventory management, optimising your warehouse operations, or designing your racking layout.

❓ 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.
A minority of your products (usually around 20%) make up most 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 see that you have less than 20% of your total portfolio, contributing to 80% of the outbound volume.

💡 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 is included in this video.
ABC Analysis with Demand Variability
The Pareto chart answers the question:
What references drive most of your sales?
Demand VariabilityHowever, if you want to know how to allocate your effort to inventory management, you must include another parameter: demand variability.

Indeed, a product with a stable demand 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 = σ/µ
You may need more stable customer demand for SKUs with a high CV value, leading to workload peaks, forecasting complexity and stock-outs.
Plot CV = f(%Sales)To understand which products will present planning and distribution challenges, we will compute the coefficient of variation of each reference’s yearly sales distribution.

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 volatile 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
Now, let’s tackle an essential application of descriptive analytics: performance monitoring.
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:

For each step, your systems record time stamps at the process’s beginning and end.
📊 CHART 3
Stacked Bar Plot

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 is in the video below.
Conclusion
You now have a set of insightful visuals in your portfolio that you could use for your analyses to send a message or answer operational questions.
Beyond visuals, how to manage performance in logistics?
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.

- 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.
How to use data analytics to measure On Time In Full KPI?
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,
Logistic Performance Management Using Data Analytics
Have you heard about Generative AI?
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)](https://towardsdatascience.com/wp-content/uploads/2022/11/0XB47m8b_D1Duy0V6.png)
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.

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

With this GPT, which you can access via this link, users can ask for Pareto or ABC analyses using natural language.
Do you want to implement yours?
For more information,
Create GPTs to Automate Supply Chain Analytics
Leveraging LLMs with LangChain for Supply Chain Analytics – A Control Tower Powered by GPT
As you have noticed, some of the visuals I share in this article are animated.
Do you want to replicate these animations to bring life to your insights?
Animate your Python Graphs with Pillow
In another article, I share the workflow used to generate these visual animations with Python.
How to create animated graphs with Python Pillow for better data visualization?
Suppose you are a data scientist who has developed an algorithm or performed advanced analysis linked to a dynamic process.

To show the impact of your solution, you plot the results using a conventional Python library.
How do you convey the "dynamic" side of your solution?
You can generate an animated gif like the one below.

You can easily spot the difference between the two pathfinding solutions.
If you want to generate a similar animation, check the article linked below
About Me
Let’s connect on Linkedin and Twitter. I am a Supply Chain Engineer who uses data analytics to improve logistics operations and reduce costs.
For consulting or advice on analytics and sustainable supply chain transformation, feel free to contact me via Logigreen Consulting.
If interested in Data Analytics and Supply Chain, look at my website.
💌 New articles straight in your inbox for free: Newsletter 📘 Your complete guide for Supply Chain Analytics: Analytics Cheat Sheet