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 the picking productivity

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 the picking productivity

Article originally published on Medium.

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.

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

💌 New articles straight in your inbox for free: Newsletter

🔗
You can find the full code in this Github repository: Link
You can download the dataset here: Link

I. Data Processing using Pandas

Import Libraries and Dataset

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 SKU are representing 12.7% (20,987 Boxes).

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 (II) — (Image by Author)

2. Add Markers for 80/20

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

Visualization of Pareto Principle (II) — (Image by Author)
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?

Use these results for Storage Optimization

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

III. Grouping High Rotation SKU in Dedicated Picking Zones

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

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

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

For more information, have a look at my previous article: Improve Warehouse Productivity using Spatial Clustering with Python Scipy

Improve Warehouse Productivity using Spatial Clustering with Python | Samir Saci
Improve Warehouse Picking Productivity by Grouping Orders in Batches using Picking Location Spatial Clusters
Edit: You can find a Youtube version of this article with animations in the link below.

IV. Densify Picking Locations for Very Low rotations

What is a replenishment task?

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; this is 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: taking a pallet from the storage level (level 3) and putting it in the picking location (level 1).

How Pareto Principle is impacting your picking location layout?

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 capacity of storage 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 picking 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 productivities 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 reduce ground surface occupation (Shelves).

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

Estimation for Very High Rotation SKU — (Image by Author)
Conclusion
Full Pallet Location is the cheapest solution

Example 2: High Rotation

Estimation for High Rotation SKU — (Image by Author)
Conclusion
Half Pallet Location is the cheapest solution

Example 3: Low Rotation

Estimation for Low Rotation SKU — (Image by Author)
Conclusion
Shelf Location is the cheapest solution

Conclusion

We presented here a simple methodology on how to visualize and apply the Pareto Principle on your Warehouse Picking Order Profile to estimate the potential of optimization.

In the second reference link, you can find a series of articles applying the concepts presented above to improve picking productivity by reducing pickers' walking distance.

About Me

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

References

[1] Giovanni Busino, « The signification of Vilfredo Pareto’s sociology », Revue européenne des sciences sociales, Link

[2] Samir Saci, Improve Warehouse Productivity using Spatial Clustering with Python Scipy

Improve Warehouse Productivity using Spatial Clustering with Python | Samir Saci
Improve Warehouse Picking Productivity by Grouping Orders in Batches using Picking Location Spatial Clusters