Enhancing Warehouse Efficiency with AI Slotting and Integer Programming

Revolutionizing Warehouse Operations with AI-Driven Slotting Optimization

AI Development Areas

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1441
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1302
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    998
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1267
  • image_logo-advance_0.webp
    B2B Advance company logo design
    714
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1006

Revolutionizing Warehouse Operations with AI-Driven Slotting Optimization

Static ABC slotting reduces picker travel by 20-35% immediately after implementation. But within three weeks, 30% of SKUs change class — the picker goes to the far zone every fifth order. We solve this problem with ML activity forecasting and mathematical optimization of moves. Result: 15-25% reduction in picking time compared to static ABC, and halved labor costs for reslotting. LightGBM and Apriori algorithm are key components.

Our team has 10+ years of experience in AI for warehouse logistics and has delivered more than 50 WMS integration and analytics projects. Order a preliminary audit for $500 — in 2 days we'll calculate the effect for your warehouse (typically annual savings exceed $100,000 for warehouses with 10,000+ SKUs).

How the AI Slotting System Works

The system combines three components: an ML model for forecasting SKU activity, an integer programming (IP) optimizer for selecting moves, and affinity analysis for co-storage. Instead of static ABC-XYZ, it adapts to assortment changes every week. This AI warehouse slotting system ensures load optimization and picker travel minimization.

Why Static ABC-XYZ Fails After a Month

Classic ABC-XYZ divides products into groups by turnover and variability. But it doesn't account for seasonal trends, promotions, or changes in buyer behavior. After 3-4 weeks, "hot" SKUs shift — the picker goes to the far zone every fifth order. The LightGBM ML model predicts future activity using 30+ features: lags, trends, coefficients of variation, category specifics. Prediction accuracy is 30% higher than historical averages (see latest research). This LightGBM warehouse optimization model enables accurate demand forecasting.

The Slotting Problem

Placement goals:

  • Minimize total travel during order picking
  • Reduce pick time for urgent orders
  • Ensure ergonomics: heavy/bulky items on lower shelves
  • Separate incompatible categories (alcohol, chemicals, food)

ABC-XYZ principle (basic layer):

Class Turnover Variation Placement
AX High Stable "Golden zone" — closest to packing area
AY High Unstable Close to picking zone
AZ High Unpredictable Medium zone, safety stock
BX/BY Medium Any Medium zone
CX/CY/CZ Low Any Far zone, high racks

ABC-XYZ analysis is the foundation, but ML demand forecasting improves it significantly.

How ML Predicts SKU "Hotness"

The ML model predicts the number of picks for each SKU over the next 30 days. Based on the forecast, we rank products and calculate their optimal positions. Typical pipeline:

Click to see code
import lightgbm as lgb import pandas as pd from datetime import datetime, timedelta def predict_sku_activity(order_history, sku_features, forecast_horizon_days=30): """ Прогноз количества отборок по SKU на следующие N дней. Используется для пересчёта слотирования. """ # Признаки временного ряда df = order_history.groupby(['sku', 'date'])['qty_picked'].sum().reset_index() df = df.sort_values(['sku', 'date']) features = [] for sku in df['sku'].unique(): sku_df = df[df['sku'] == sku].set_index('date')['qty_picked'] # Лаговые признаки feat = { 'sku': sku, 'avg_picks_7d': sku_df.tail(7).mean(), 'avg_picks_30d': sku_df.tail(30).mean(), 'avg_picks_90d': sku_df.tail(90).mean(), 'trend': sku_df.tail(14).mean() - sku_df.tail(28).head(14).mean(), 'cv': sku_df.tail(30).std() / (sku_df.tail(30).mean() + 0.001), **sku_features.get(sku, {}) # категория, вес, габариты } features.append(feat) X = pd.DataFrame(features).drop('sku', axis=1).fillna(0) # LightGBM для прогноза среднедневной активности model = lgb.LGBMRegressor(n_estimators=200, learning_rate=0.05) # (предобученная модель) predicted_daily_picks = model.predict(X) return dict(zip([f['sku'] for f in features], predicted_daily_picks)) 

How Mathematical Optimization Selects Moves

Moving all SKUs is expensive and inefficient. We solve an integer programming problem: select the top 200 moves with maximum time savings. Constraint: team throughput. This integer programming for slotting approach maximizes benefit while respecting constraints.

Move benefit is calculated as (old pick time - new pick time) * frequency. New time is simulated based on predicted frequency and target slot. We rank all SKUs by benefit, then solve the constrained problem.

import pulp def select_moves(sku_benefits, sku_current_slots, slot_candidates, max_moves=200): """ sku_benefits: {sku: expected_travel_savings_hours_per_week} Выбрать max_moves перемещений с максимальной суммарной экономией """ prob = pulp.LpProblem("slotting_optimization", pulp.LpMaximize) move_vars = {sku: pulp.LpVariable(f"move_{sku}", cat='Binary') for sku in sku_benefits} # Объектив: максимальная экономия prob += pulp.lpSum(sku_benefits[sku] * move_vars[sku] for sku in sku_benefits) # Ограничение: не более max_moves перемещений prob += pulp.lpSum(move_vars.values()) <= max_moves prob.solve(pulp.PULP_CBC_CMD(msg=0)) return [sku for sku, var in move_vars.items() if var.value() > 0.5] 

Affinity Analysis for Co-Storage

Items often ordered together — store them nearby. We use the Apriori algorithm (market basket analysis) on order history: threshold lift > 2.0 and support > 5%. This yields 15-20 affinity clusters. Constraint: incompatible categories (chemicals and food) are not placed together. Affinity analysis and market basket analysis help optimize co-storage.

Comparison of Slotting Approaches

Approach Travel reduction Recalculation frequency Labor cost for reslotting
Manual placement 0-10% One-time High
Static ABC-XYZ 15-25% Quarterly Medium
ABC-XYZ + ML forecast 20-30% Weekly Low (automatic selection)
ML + IP + Affinity 25-35% Weekly Minimal (200 moves)

ML + IP + Affinity delivers up to 1.4x more travel reduction than static ABC-XYZ. ML + integer programming yields 30% more economic benefit than static ABC, while halving labor costs for reslotting. For a warehouse with 10,000 SKUs, savings can exceed $100,000 annually, and for large distribution centers even more significant just from travel reduction.

What's Included in the Project

  • Audit of current slotting and WMS integration (including WMS AI integration)
  • Development of ML forecasting model and optimizer
  • WMS integration via API (documentation, access)
  • Pilot run for 1 month with KPI monitoring
  • Team training and model card handover
  • Guarantee of achieving target metrics (contractually bound)

Get a consultation for your warehouse — we'll help assess the system's potential. Order a preliminary audit in 2 days.

Process Flow

  1. Analytics — data collection, constraint identification
  2. Design — ML pipeline & integration architecture
  3. Development — model and recommendation interface implementation
  4. Testing — A/B test on historical data and pilot
  5. Deployment — client environment rollout, monitoring

Estimated Timeline

From 2 to 4 months depending on SKU volume (up to 50,000) and WMS integration complexity. Cost is calculated individually — contact us for an estimate.