Reduce Warehouse Space with the Pareto Principle using Python

How the 80/20 rule implemented using Python can optimize your layout, reduce space utilization and improve picking productivity.

Samir Saci
Towards Data Science

--

Reduce Warehouse Space with the Pareto Principle using Python
Warehouse Racking Layout — (Image by Author)

Learn how to apply the Pareto Principle, the 80/20 rule, to optimize your warehouse space and improve picking productivity with Python.

Developed by Vilfredo Pareto to describe the distribution of wealth, this principle can be generalized to various applications, including logistics management.

You can significantly impact your operations by focusing on the top 20% of your references and picking locations.

In this article, we’ll walk you through a real operational example of how to use Python to apply the Pareto Principle.

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

Summary
I. Introduction of the Pareto Principle
II. Visualization of the Pareto Principle with Python
1. Data Processing using Pandas
2. Add Markers for 80/20
III. How to optimize warehouse space?
1. Grouping High Rotation SKU in Dedicated Picking Zones
2. Densify Picking Locations for Very Low rotations
3. Quick Example
IV. Conclusion
1. Generative AI: "The Supply Chain Analyst"
2. Go Beyond

I. Introduction of the Pareto Principle

An Italian economist named Vilfredo Pareto developed 1906 a mathematical formula to describe the distribution of wealth in Italy. He discovered that 80% of the wealth belonged to 20% of the population.

An Italian economist named Vilfredo Pareto
Vilfredo Pareto — Wikipedia (Link)

A few decades later, this rule has been generalized to many other applications, including Supply Chain and Logistics Management.

This principle, called the “Pareto Principle”, “the 80–20 rule”, or “The Law of Trivial Many and Critical Few”, can be translated for Logistics Practitioners

  • 80% of your company revenue is made from 20% of your reference
  • 80% of your volume is picked in 20% of your picking locations
  • 80% of your replenishment volume will be performed on 20% of your picking locations

In this article, we will explore how to apply this Pareto Principle using a real operational example

  • 1 month of picking orders
  • 144,339 order lines
  • 59,372 orders
  • 4,864 active references

If you prefer watching, have a look at the video version of this article

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

You can find the full code in this Github repository: Link.
My portfolio with other projects: Samir Saci
You can download the dataset here: Link.

II. Visualization of the Pareto Principle with Python

1. Data Processing using Pandas

a. Import Libraries and Dataset

b. Calculate Volume Prepared per SKU (BOX)

To plot the Pareto graph, we need to

  • Sum the number of boxes picked per SKU
  • Sort your data frame by descending order on BOX quantity
  • Calculate the cumulative sum of BOX
  • Calculate the cumulative number of SKU

Results

In line 5, you can see that 0.1% of your SKUs represent 12.7% (20,987 Boxes).

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

II. Visualization of the Pareto Principle

1. A First Visualization

Using your processed data frame, let us now plot (%BOX) = f(%SKU) to show the Pareto principle

Visualization of Pareto Principle with Python
Visualization of Pareto Principle (II) — (Image by Author) [Tutorial]

2. Add Markers for 80/20

Marker 1: x = 20% of SKU (blue)
Marker 2: y = 80% of Boxes (red)

Visualization of Pareto Principle with Python including markers
Visualization of Pareto Principle (II) — (Image by Author) [Tutorial]

Insights

We can see that the threshold of 80% volume is already reached before having 20% of SKU (sku_80 = 12.55%).

Try yourself to see how much %BOX represent 10% of the SKU picked.

III. How to optimize warehouse space?

How can we use these insights to increase your picking productivity and reduce space usage?

1. Grouping High Rotation SKU in Dedicated Picking Zones

Example of a Warehouse Heatmap based on % quantity picked
Example of a Warehouse Heatmap based on % quantity picked — (Image by Author)

This Heatmap above is a 2D representation of the Pareto Principle that links each SKU with its picking location.

Optimization Lever
Reduce the average distance during picking by grouping very high rotations in a specific zone close to the docks.

For more information, look at my previous article

2. Densify Picking Locations for Very Low rotations

What is a replenishment task?

Example of Full Pallet Picking Location with 4 levels of storage
Example of Full Pallet Picking Location with 4 levels of storage — (Image by Author)

Level 1 is the Picking Location located on the ground level, where the Warehouse Picker will take boxes to prepare orders.

When the quantity level in your picking location is below a certain threshold, your WMS will trigger a Replenishment Task

  • Take a pallet from the storage level (level 3) and put it in the picking location (level 1).

How does the Pareto Principle impact your picking location layout?

Full Pallet (Left) | Half Pallet (Middle) | Shelves (Right) Picking Location with 3 levels of storage
Full Pallet (Left) | Half Pallet (Middle) | Shelves (Right) Picking Location with 3 levels of storage — (Image by Author)

The Full Pallet Location type is taking a floor pallet location per SKU.

However, we can increase the density of locations by using

  • Half Pallet Locations: 2 SKU per floor pallet location
  • Shelves Locations: 9/2 SKU per floor pallet location

Surface Optimizations vs. Number of Replenishment Moves

A major issue with half pallets and shelves is the limited storage capacity vs. full pallets.

For the same quantity picked per month, you have 2 times more replenishment with a half pallet and even more with shelves.

Using the Pareto principle and SKU rotations analysis will help us to find the best compromise by choosing the location type using the rules below

  • Full Pallet/Half Pallet Locations: only for high-runners (Top 20%)
  • Shelves Locations: for the 80% low runners making only 20% of your volume

These thresholds have to be adapted to the specificities of your warehousing operations

  • Workforce hourly costs (Euros/Hour) and your productivity for Picking (Lines/Hour) and Replenishment (Moves/Hour)
  • Warehouse rental costs (Euros/Sqm/Month)
  • Dimensions of your boxes(Width (mm) x Height (mm) x Length (mm)) that will drive your different picking locations' storage capacity

The target is to find the best compromise between high replenishment productivity (Full Pallets) and reduced ground surface occupation (Shelves).

3. Quick Example based on the layout above

Pallet dimension: 0.8 x 0.12 (m x m)
Alley width: 3.05 (m)
Dx: 0.1 (m) Distance between two pallets
Dy: 0.15 (m)
Ground surface occupied(including alley)
Full Pallet = (0,8 + 0,1) x (1,2 + 0,15 + 3,05/2) = 2,5875 (m2)
Half Pallet = 2,5875 / 2 = 1,29375 (m2)
Shelves = 2 x 2,5875/9 = 0,575 (m2)
Warehouse Rental Cost (Jiaxing, China)
C_rent = 26,66 (Rmb/Sqm/Month) = 3,45 (Euros/Sqm/Month)
Forklift Driver Hourly Cost
C_driv = 29 (Rmb/Hour) = 3,76 (Euros/Hour)
Replenishment Productivities
Full Pallet: 15 (Moves/Hour)
Half Pallet: 13 (Moves/Hour)
Shelve : 3,2 (Moves/Hour)
Picking Location Capacity
Full Pallet: 30 (Boxes)
Half Pallet: 15 (Boxes)
Shelve : 4 (Boxes)

Example 1: Very High Rotation

Layout Design for Very High Rotation SKU
Layout Design for Very High Rotation SKU — (Image by Author)

Conclusion
Full Pallet Location is the cheapest solution

Example 2: High Rotation

Layout Design for High Rotation SKU
Layout Design for High Rotation SKU — (Image by Author)

Conclusion
Half Pallet Location is the cheapest solution

Example 3: Low Rotation

Layout Design for Low Rotation SKU
Layout Design for Low Rotation SKU — (Image by Author)

Conclusion
Shelf Location is the cheapest solution

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

IV. Conclusion

Use Generative AI to productize the model

I wanted to explore the possibility of combining such analysis with Large Language Model (LLM) agents used to interface with users.

After OpenAI introduced a new feature allowing users to create custom versions of ChatGPT tailored for specific purposes, I created and deployed an agent to automate Pareto and ABC analyses.

[Try the GPT: Link] — (Image by Author)

For more details,

Go Beyond

We presented here a simple methodology for visualising and applying the Pareto Principle on your Warehouse Picking Order Profile to estimate the optimisation potential.

Based on your optimized layout, you can build a simulation model to estimate the impact of several Single Picker Routing Problem strategies on your Picking Productivity

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 ⌛