Transportation Network Analysis with Graph Theory
Use graph theory with Python to optimize the road transportation network of a retail company.
Road transportation is a significant cost and source of CO2 emissions for retailers.
Companies often conduct route planning optimization studies to reduce these costs and improve the efficiency of their network.
In a previous article, we have developed a tool to visualize these routes and assess their efficiency.
As a data scientist, how can you use Python reduce these costs and improve transportation networks’ efficiency?
It requires collaboration between continuous improvement engineers and the transportation teams managing daily operations.
How can we improve collaboration? Bring visibility to operations.
In this article, we will use graph theory with Python to design visual representations of a transportation network and facilitate solution design.
SUMMARY
I. Distribution Network
Distribution centre of a retail company with 54 stores
II. Problem Statement
Optimization of the route planning to reduce transportation costs
1. Exploratory Data Analysis
1 year of deliveries to 50 stores
2. Multi-Store Delivery
Use dedicated trucks to deliver several stores
III. Solution using Graph Visualization
1. Visualization using the Graph Theory
What are the stores that are delivered together?
2. Challenge the current routing
Collaborate with the Transportation Planner to expand the routes
IV. Conclusion & Next Steps
1. Supply Chain Sustainability
Reduce the CO2 emissions of your transportation network
2. Automatically Generate PowerPoint Slides with Python
Create PowerPoint slides to communicate your results to managers
Optimize Retail Distribution with Transportation Network Optimization
Distribution Network Overview
Your colleague is a continuous improvement engineer at a retail company.
She is in charge of reengineering warehousing and transportation operations.
In the scope, a major Shanghai (China) distribution centre delivers 54 hypermarkets.
How are the stores delivered?
Delivery by Truck
These stores, located in four different provinces, are delivered using 3rd party transportation service providers.
They provide trucks with three different capacities (3.5 Tons, 5 Tons, and 8 Tons).
A dedicated truck is allocated to deliver stores based on the routing and loading plans designed by the transportation planners.
How do we define the routes?
Loading Plan Example
Let’s imagine a scenario with three stores in Shanghai that ordered 30 pallets (5 T).
- The warehouse team prepares the orders and puts the cartons on pallets
- The transport planner decides to deliver these three stores with a single 5T truck
- Pallets are loaded into the truck
The carrier invoices your company using a price per truck (Rmb/Truck) based on the first city delivered on the route.
For the delivery of these three stores in Shanghai
Cost = 650 (Rmb)
The role of your transportation planning team is to design routes to ensure that your trucks are full when they leave the warehouse.
How can we avoid sending half empty trucks?
Therefore, they avoid as many single-store routes as possible to maximize the filling rate.
If you want to know more about the FTL Transportation
🏫 Discover 70+ case studies using data analytics for supply chain optimization 🚚 and business optimization 🏪 in this: Cheat Sheet
Problem Statement
Now that we understand the job of a transportation planner, let us find out how to support our colleagues.
Objective
The objective is to reduce the total cost of transportation.
The continuous improvement engineer has been mandated to redesign the routes to bring cost savings.
How do we start? Follow the money!
Insights: Cost per Ton
A significant lever of optimization is the size of trucks.
If you increase the average size of the trucks, you reduce the overall cost per ton.
The method is to deliver more stores per route.
How do we do that?
Analyzing Shipment Data
Let us have a look at the data to get more context.
You have 12 months of shipments to understand the current routing.
Number of shipments per store
Most of the deliveries are in Shanghai and the neighbouring province of Jiangsu.
Trucks size
Except in Shanghai, where large hypermarkets drive a large part of the demand, the other provinces have stores of relatively the same size.
Number of routes per truck size
Except in January, the peak season before the Chinese New Year, most routes are delivered using small trucks.
Thanks to this simple exploratory data analysis, you can understand each province's specificity and the seasonality of the demand.
What about the routes?
Can we get better visualizations?
Solution using Graph Visualization
The objective is to design a new transportation plan to increase the average size of trucks by delivering more stores per route.
It’s easy, so let’s deliver to all stores with a single truck?!
The problem is more complex as we have operational constraints.
Constraints
Because of operational limitations, we need to consider
- Delivery Time Window: Stores can receive products only at a particular time of the day
- Road Restrictions: Large trucks are forbidden on some roads
- Unloading Conditions: Some stores need to be delivered first
That means we need the input and approval of transportation planning teams while redesigning the routes.
How can we collaborate efficiently?
Solution: Graph Theory
Because of these operational constraints, you cannot perform this analysis alone.
It is key to collaborate with the transportation teams that have experience in managing route planning daily.
A graph is a structure that contains nodes (stores), and each related pair of nodes is called an edge.
An edge of two stores means that these stores have been delivered together at least once.
For instance, store 2 has been delivered with store 3, store 5 and store 1.
With the current routing, which stores are delivered together?
Challenge the current routing
Let’s have a look at the results with the current routing.
Full-year Shipment Analysis
You can find different types of clusters
- Type 1: stores are all interconnected and usually represent a single route (it is good to group several stores in one route)
- Type 2: stores are sequentially connected, creating a chain
- Type 3: 1 store is connected to all the other stores
This visual can support discussions with the transportation team
- Why do we have two isolated stores in Zhejiang?
- Can we increase the average truck size if we group the two isolated pairs of Shanghai?
- Can we have more type 1 clusters?
What is the impact of truck size?
Analysis of Small Truck Fleet
Our main issue is the high proportion of small trucks in our fleet.
Network Graph of 3.5T trucks
There are fewer interconnections for these routes. There are no major clusters of interconnected nodes.
Average Truck Size
The average number of deliveries per route for each truck size confirms the observation.
Large trucks make more deliveries per route except during the Chinese New Year peak period.
What is the difference between the lowest vs. highest ratio of stores per route?
For the best scenario (left), stores are highly interconnected (up to 4 connections).
The contrast is evident with the other network, which is highly fragmented.
You can find the source code with dummy data in my Github 👇
💡 Follow me on Medium for more articles related to 🏭 Supply Chain Analytics, 🌳 Sustainability and 🕜 Productivity.
Conclusion
This tool visually represents the distribution network to support collaborative work between you and the transportation teams.
Sitting at the same table to find a solution ensures a smooth implementation as the planning teams have been involved in the design.
You can assess planners’ ideas, and they can challenge yours.
Based on your analysis, you can propose potential improvements that will assess the operational feasibility of the teams.
You reduced transportation costs. What’s next?
Beyond Profit, Reduce the Environmental Footprint
The initial objective was to improve the truck loading rate to reduce the transportation cost per ton.
However, the positive side effect of improving the efficiency of your planning is the reduction of CO2 emissions.
As investor's and customers' demand for transparency in emissions reductions has grown over the years, quantifying the savings from emissions cuts is essential.
Are you familiar with ESG scoring? It can be more expensive than half-empty trucks.
There are analytics tools that can help you quantify your initiative’s contribution to your company’s green transformation.
The route optimizing reduced the emissions by XX kTons of CO2eq.
If you want to educate yourself on the topic, have a look at 👇
- Green Inventory Management — Case Study, Samir Saci
How do you plan to present the results?
There is a high chance that your manager or colleagues will ask for PowerPoint slides to understand your results.
Automate PowerPoint Slide Creation with Python
Let us assume you are PowerPoint-phobic or don’t want to spend more time manually creating slides than building the model.
What can you do?
I have a solution for you: a completely automated workflow!
In this article, I share my approach to automating this tedious manual task, using a weekly report for a fashion retailer's distribution planning team as an example.
Using the Python library Python-pptx, you can generate slides like the one above with the visuals created in this article.
If you want to replicate this tool for your reporting, have a look at 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 you are 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
References
- Networkx, Network Analysis with Python, Link