The world’s leading publication for data science, AI, and ML professionals.

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

Warehouse Racking Layout - (Image by Author)
Warehouse Racking Layout – (Image by Author)

Warehouse space is the largest fixed cost in Logistics, making its optimization crucial for efficient operations.

Have you heard about the Pareto Principle?

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.

As a data scientist, how can we use python to optimize a layout?

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

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. Product Segmentation for Retail

Introduction of the Pareto Principle

In 1906, an Italian economist named Vilfredo Pareto developed 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)
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 up orders
  • 144,339 order lines
  • 59,372 orders
  • 4,864 active references

You can find the complete code in this Github repository 👇

GitHub – samirsaci/pareto-warehouse-layout: Reduce Warehouse Space with the Pareto Principle using…

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


Visualization of the Pareto Principle with Python

Data Processing using Pandas

Let’s assume we have a dataset of outbound orders with these four columns.

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).

What can we do with these insights?


Visualization of the Pareto Principle

Visualization

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

Visualization of Pareto Principle (II) - (Image by Author) [Tutorial]
Visualization of Pareto Principle (II) – (Image by Author) [Tutorial]

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)
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.

Now that we have a pareto plot, what can we do?


How to optimize warehouse space?

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

This approach aims to minimize the walking distance of picking operators by grouping items that may be ordered together.

Grouping High Rotation SKU

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

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

As the heatmap shows, by grouping less than 10 locations, we can accumulate nearly 20% of the volume.

This would reduce the length of the picking routes.

What about replenishment?

Densify Picking Locations for Very Low rotations

What is a replenishment task?

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

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

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 - (Image by Author)
Full Pallet (Left) | Half Pallet (Middle) | Shelves (Right) Picking Location with 3 levels of storage – (Image by Author)

The Full Pallet Location type considers the 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

We need to compromise: Surface Optimizations vs. Number of Replenishment Moves

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

For the same quantity picked per month, a half pallet provides two times more replenishment and even more with shelves.

Can we automatically find the optimal balance?

Using the Pareto principle and SKU rotations analysis, we can find the best compromise when 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).

Let’s have a look at a simple example.

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)

We compare the three picking location types using very high, high and low rotations SKUs.

Example 1: Very High Rotation

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

Conclusion Full Pallet Location is the best solution

Example 2: High Rotation

Layout Design for High Rotation SKU - (Image by Author)
Layout Design for High Rotation SKU – (Image by Author)

Conclusion Half Pallet Location is the best solution

Example 3: Low Rotation

Layout Design for Low Rotation SKU - (Image by Author)
Layout Design for Low Rotation SKU – (Image by Author)

Conclusion Shelf Location is the best solution

Here is an empirical example of how a pareto analysis can help us optimize a warehouse layout.


Conclusion

Here, we present a simple methodology for visualising and applying the Pareto Principle to your warehouse picking order profile to estimate the potential for optimisation.

What’s next? Order grouping.

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.

Scenario 1: Picking routes with one order picked per wave - (Image by Author)
Scenario 1: Picking routes with one order picked per wave – (Image by Author)

This is precisely what I did in this series of articles in which I tested several order batching strategies to minimize operators’ walking distance.

Have a look here 👇

Improve Warehouse Productivity using Order Batching with Python

Improve Warehouse Productivity using Pathfinding Algorithm with Python

Improve Warehouse Productivity using Spatial Clustering with Python

Are there other applications of the pareto principle?

Beyond warehouse layout optimization, this principle can categorize items based on importance.

Product Segmentation for Retail

Let’s assume that you have 50,000 unique references in your portfolio.

Can you allocate the same amount of resources to manage each of them?

Of course not.

An item requires demand forecasting, inventory management, and delivery monitoring.

Product segmentation refers to the activity of grouping products that have similar characteristics and serve a similar market.

Example of Product Segmentation for Retail - (Image by Author)
Example of Product Segmentation for Retail – (Image by Author)

In the example above, we apply ABC analysis to categorize your items based on

  • Their contribution to the turnover (A, B and C) ;
  • The variability of their demand ;

The objective is to allocate resources to implementing advanced monitoring for important items with unstable demand.

What are the applications for this?

  • Inventory Management and Demand Forecasting
  • Customer service and retail operations

If you want to implement this segmentation, look at this article.

Product Segmentation for Retail with Python

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.

Samir Saci | Data Science & Productivity

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


Related Articles