Export 13 weeks of pick lines per SKU from your warehouse system, rank the SKUs by number of lines, and class the ones making up the first 80% of lines as A, the next 15% as B and the last 5% as C. Move the A items to the easiest locations nearest dispatch, then review every quarter.
AI earns its place in the ranking, cleaning and "what if" arithmetic, which a spreadsheet does too, only more slowly. Judgement stays with you: which items fit which shelves, which sell together, which are heavy. The example below is a made-up 200-SKU warehouse. Its figures are illustrations produced by a simple model, so replace them with your own export.
The warehouse and the starting position
Picture a small fulfilment site with 200 active SKUs, one dispatch bench at the front and three aisles of shelving behind it. Pickers walk from the bench to a bin and back, in batches. Over 13 weeks (65 working days) the system recorded 18,401 pick lines, which is about 283 lines a day. Products sit where they were put when they arrived: by supplier, then by whichever gap was free.
Nobody has measured the walk, but the pickers complain about it and the busiest items always seem to be at the back. The slotting question is whether that feeling is true and what is worth moving.
What the export has to contain
Most systems can export a list of order lines. You need only five columns, and each answers one question. Ask your system for lines shipped in the period, not lines ordered, so cancelled orders do not distort the picture.
| Column | Why you need it |
|---|---|
| SKU code | The key for everything else |
| Order number and date | Counts lines, spots busy days and shows items picked together |
| Quantity per line | Separates frequent from bulky |
| Current location | Lets you measure today's walk and plan moves |
| Size and weight | Decides what physically fits a golden-zone shelf |
Remove customer names and addresses before the file goes near an AI tool, because the ranking never needs them. Keep order numbers if you want to study items bought together, since they are references and not personal details on their own.
Checks before the ranking
Dirty data produces a confident wrong answer. Ask the assistant to scan the file first and report, not fix.
Here is a table of order lines with columns SKU, order number, date, quantity, location. Before analysing, list: SKUs with blank or odd codes, duplicate order-line rows, dates outside the range 13 weeks ago to today, quantities of zero or above 500, and SKUs that appear with more than one location. Show counts and five examples of each. Do not change anything.
In a typical export you will find a handful of kits listed both as the kit and as their parts, some returns shown as negative lines, and a few SKUs recorded under two codes after a supplier change. Fix those in the source file so the analysis counts each product once. The messy data tutorial has the general method.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowRanking by lines and cutting the ABC classes
With a clean file, ask for the ranking. The measure is pick lines per SKU, meaning how many order lines included it, since each line is one walk.
Count order lines per SKU over the whole period. Sort from most to fewest. Add cumulative percentage of all lines. Classify SKUs as A until the cumulative share reaches 80%, B until 95%, and C after that. Give me a summary table: class, number of SKUs, lines, share of lines, and the smallest and largest lines per SKU in the class. Then list the top 20 SKUs with lines and cumulative share.
On the example data the summary comes back like this:
| Class | SKUs | Pick lines | Share of lines | Lines per SKU |
|---|---|---|---|---|
| A | 69 | 14,674 | 79.7% | 50 to 2,770 |
| B | 85 | 2,793 | 15.2% | 23 to 49 |
| C | 46 | 934 | 5.1% | 18 to 23 |
Sixty-nine SKUs, about a third of the range, do the work of four fifths of the picking. The top of the ranking is steeper still:
| Rank | Lines in 13 weeks | Cumulative share of all lines |
|---|---|---|
| 1 | 2,770 | 15.1% |
| 5 | 600 | 35.4% |
| 10 | 311 | 46.2% |
| 20 | 161 | 57.7% |
| 40 | 83 | 69.8% |
| 69 | 50 | 79.7% |
Twenty SKUs, 10% of the range, make up 57.7% of all lines. That is the number that changes the project from a big reorganisation into an afternoon of moves. Always check the AI's arithmetic: sum the three class line counts and confirm they equal the total, and spot-check the top SKU with a filter in the original file.
Why the 80, 15, 5 split is only a default
The split is a convention, not a law. If your ranking is flat, with the top 20 SKUs under 30% of lines, class A will be most of the range and the exercise changes little. If it is very steep, with a few SKUs above 10% each, give those a class of their own, an "A+" for the half-dozen that deserve a permanent spot at the front. Look at the curve before you accept the defaults.
Where the A items should live
A location is good when it is close to dispatch, between knee and shoulder height, and easy to replenish. That is the golden zone. A table of simple rules keeps the choice consistent.
| Item property | Placement rule |
|---|---|
| Class A, light and small | Waist-height shelf in the aisle nearest dispatch |
| Class A, heavy or bulky | Floor or low shelf nearest dispatch; never above shoulder |
| Class A, very high volume per line | Pallet position at the front, replenished by forklift |
| Class B | Middle aisles, any height that fits |
| Class C | Back aisles and top shelves, with a reach aid |
| Items often ordered together | Same or adjacent bays, whatever their class |
Capacity is the catch. If your A items fill more shelf than the golden zone holds, give each the space for one replenishment cycle and put the overflow in reserve locations behind it. A fast mover with a bin that holds half a day's picks will be empty by lunch, and an empty slot costs more walking than the long location it replaced.
Putting a number on the walk
To decide how much to move, model the distance. Number your 200 pick locations from the one nearest dispatch to the furthest, and give each a distance from the bench. In the example, the closest slot is 12 metres away and each step along the route adds 0.15 metres, so the furthest slot is about 42 metres. Weight each SKU's distance by its lines, and you get the average distance per line.
| Layout | Average distance per line | Change |
|---|---|---|
| Today (products placed where there was space) | 28.5 m | None |
| Top 20 SKUs moved to the 20 nearest slots | 19.2 m | 33% shorter |
| All 69 A SKUs moved to the nearest slots | 17.7 m | 38% shorter |
| Every SKU sorted by rank | 17.5 m | 39% shorter |
The pattern is the useful part. Moving 20 SKUs cuts 9.3 of the 11 metres available, so about 85% of the benefit comes from moving a tenth of the range. Sorting the other 180 products adds almost nothing. For a small team with limited time, that points straight to the first project: move the top 20.
A word of caution. This model treats today's layout as random, which is the worst case, and treats every line as a separate out-and-back walk. Real layouts are partly sensible, and pickers batch lines into a trip, so the true gain is smaller. As a rough check on the top-20 move, 283 lines a day with 9.3 metres saved on each leg, out and back, makes about 5,300 metres a day if every line were its own trip. If a picker batches about six lines per trip, divide by six: roughly 880 metres, or around 12 minutes a day at an ordinary walking pace of about 1.2 metres a second. Treat that as a ceiling, not a promise. Time a real batch before and after, and believe the stopwatch.
Moving 20 SKUs without stopping the floor
Schedule the moves out of hours or on the quietest day, and treat the change like any stock movement, so the system and the shelves agree afterwards. Work in this order:
- Print a move list with the SKU, current location, new location and quantity, sorted by new location, so one pass fills each bay.
- Clear the target slots first, relocating whatever they hold to the vacated ones, to avoid piles on the aisle floor.
- Move stock, scan each pallet or bin into the new location, and update labels as you go.
- Change the location in the system before the next pick wave, not after.
- Walk the aisles with the list and tick each SKU's new location on a printed copy.
Assume about six minutes per SKU for lifting, labelling and scanning, so 20 SKUs is two hours plus an hour for checks. The training side matters too: pickers will walk to the old place by habit for a week, so post the move list at the bench and brief the team in the shift before. A training card that names the new golden zone helps new starters learn the right layout from day one.
Items that sell together belong together
Frequency is only one signal. If two items appear on the same order 40% of the time, putting them in neighbouring bays saves a trip regardless of class. Ask the assistant to look for pairs.
Using order number and SKU, find the 15 pairs of SKUs that appear together on the most orders. For each pair, show the number of orders with both, the share of orders containing the first SKU that also contain the second, and both SKUs' class. Ignore pairs where both appear in fewer than 10 orders.
An illustrative result: a cleaning spray and its refill pouch appear together on 38% of the spray's orders, and both are class A, so slot them side by side. A seasonal gift box and its ribbon pair on 71% of orders but only in two months of the year, so they belong together in season and apart for the rest. The assistant finds the pairs; you decide which ones are worth the bay space.
A promotion week that pushed the wrong SKU forward
Here is how a ranking misleads. In one 13-week window, a site ran a one-week half-price promotion on a bundle. The bundle's lines jumped from 20 a week to 400 that week, so it jumped into the top ten and moved into the golden zone. Over the following quarter it reverted to 20 lines a week and sat in prime space while a steady seller sat at the back.
The fix is to look at the weekly profile of anything that ranks suddenly high. Ask for lines per week for the top 20 SKUs and look for a single big bar. If one week supplies more than a third of a SKU's lines, class it on the other 12 weeks, or treat it as promotional stock with its own temporary location. This is also why 13 weeks beats six: one promotion matters less when it is one of thirteen.
The first five moves, written out
A plan is easier to approve when it is a short table with real locations. This is how the first five rows of the example move list might look, in the form the assistant can produce and a supervisor can check against the shelves (illustrative codes).
| Rank | SKU | From | To | Reason |
|---|---|---|---|---|
| 1 | SKU-0114 | C-14-3 (back aisle, top) | A-01-2 (front, waist) | 15% of all lines |
| 2 | SKU-0027 | B-06-1 | A-01-3 | Pairs with rank 1 on 38% of orders |
| 3 | SKU-0182 | C-02-4 | A-02-2 | Heavy: floor slot, front aisle |
| 4 | SKU-0066 | A-09-5 | A-02-3 | Same aisle, lower and nearer |
| 5 | SKU-0140 | B-11-2 | A-03-2 | Fits waist bin, replenish daily |
Look at row 3. The assistant ranked it third, but the sensible location is a floor slot, because the item is heavy. This is the type of constraint you add to the prompt, as a column of weights or a short list of exceptions. Row 4 is a small move on paper but a worthwhile one: it stays in the front aisle but drops from a high level at bay 9 to a waist-height bin at bay 2, cutting both the walk along the aisle and the reach.
What a distance model leaves out
The 28.5 and 17.7 metres above come from a simple model, and a real warehouse has more going on. Knowing what the model ignores tells you where to adjust by hand.
- Congestion: if every picker wants the same front aisle, they queue. Spread the top items across two aisles when more than two people pick at once.
- Replenishment: fast movers empty faster. A slot that needs refilling three times a day costs a replenisher's time, so give it the biggest bin that still fits the golden zone.
- Stock rotation: items with expiry dates or batch codes need first-in, first-out access, which a deep shelf may block.
- Safety and storage rules: heavy items low, flammable or restricted goods in their approved place, whatever their rank.
- Pick path: a route that loops through the aisles in one direction may make a distant slot cheaper than it looks. Walk the real route once with a tape measure.
List the constraints that apply to your site in the prompt, and ask the assistant to propose moves that respect them, then list any rule it could not satisfy. A proposal that says "SKU-0182 cannot go above knee height, so slot A-02-2 floor" has understood; one that ignores your list has not.
Weekly plan from export to measured result
For a small site, the whole project runs over about seven weeks, with the hands-on work in the first three. Here it is as the example warehouse ran it.
- Week 1: export 13 weeks of lines, remove personal details, run the checks prompt, fix the data.
- Week 2: run the ranking and pair analysis, review the top 20 for promotions, choose the new locations on paper, and time a baseline: 30 real orders picked by two people, recording minutes per order.
- Week 3: move the top 20 over a quiet evening and update the system and labels.
- Weeks 4 to 6: time the same 30-order sample again, and watch mispicks and empty-bin reports.
- Week 7: decide whether to extend to the rest of the A class, based on the measured saving.
Keep the baseline timing honest by using the same pickers, the same time of day and orders of similar size. If minutes per order fall by 15% or more, the exercise has paid and the next step is the rest of the A class. If it falls by under 5%, check whether the top 20 really moved and whether picks are batched differently.
When to re-slot, and when to leave things alone
Constant shuffling costs more than it saves, so set a rhythm and a rule that damps churn. A reasonable cadence for a small warehouse:
| Review | How often | What you do |
|---|---|---|
| Top 20 check | Monthly, 15 minutes | Re-run the ranking; swap an item only if it left the top 20 or a new one joined and held |
| Full ABC | Quarterly | Re-class every SKU; move those that changed class two reviews in a row |
| Seasonal reset | Before and after each peak | Bring forward seasonal lines; return them to the back afterwards |
| Range change | When more than 10 SKUs are added or dropped | Run the whole analysis again |
The rule of moving only after two reviews in a row stops a one-off spike from causing a move. Count the moves each quarter, and if it is more than about 15 SKUs, the rule is too loose or the range is changing faster than your layout can follow.
Checking the analysis is right before you lift a pallet
Three quick checks catch most errors. First, the total of lines in your classes should equal the total in the file. Second, take the three highest-ranked SKUs and count their lines by filter in the spreadsheet; they should match exactly. Third, show the top 20 to your most experienced picker. If they say "that's not the one that always runs out", investigate, because the data may be missing a channel or a location code. Pickers carry a picture of the floor that no export holds.
The same ABC classes feed other jobs. A cycle count plan by ABC class counts the A items most often, and the picking card for the golden zone can be as short as one photo. For the wider choice of tools that offer slotting inside a warehouse system, see AI tools for warehousing.
Slotting questions from small warehouses
Should I rank by pick lines or by units?
Rank by pick lines, which is the number of times someone walks to a location, because that drives walking time. Units matter for replenishment and space, not for the walk. A SKU shipped in cases of 100 can have few lines and many units, and slotting it near the front by units alone would waste the best spots.
How many weeks of data do I need?
Thirteen weeks is a good default because it smooths out one-off orders and a single promotion. If you sell seasonally, run a second analysis on the same quarter last year, and slot seasonal lines separately from the year-round ones. Under six weeks is too noisy to trust.
Do I need a WMS to do this?
No. Any system that can export order lines with a SKU, a date and a quantity is enough, including a shop platform or an accounting package. A location column helps you measure the current walk, but you can start without it and add locations from a walk-round.
Is it worth slotting a small warehouse at all?
Usually yes if a picker walks more than a few minutes per order batch. The test is simple: see what share of lines come from your top 20 SKUs. If it is over half, and those SKUs are scattered, moving them costs an afternoon and returns walking time every day.
Further reads
- AI in Warehouse Operations: Trace Pick Errors Back to Their Cause — Check that new locations do not raise mispicks.
- AI for Warehouse Loading: Plan Pallets and Trucks From Orders — Plan the outbound side once picking is faster.
- Best AI for Ecommerce Operations: Orders, Stock, Returns, Suppliers — See the wider order, stock and returns picture.
- AI Robots for Warehouses: Do They Pay Off for a Small Operator? — Test whether automation pays before you buy it.
- Warehouse Labour Planning: AI Forecasts Shifts From Order Volumes — Turn the shorter walk into a smaller labour plan.
- 3PL Pricing Calculator: AI Quotes Storage, Pick and Pack Rates — Price storage and pick rates once the layout is settled.
- 3PL Client KPI Reports: AI Builds Weekly Reports From WMS Exports — A weekly one-page report per 3PL client, built from WMS exports: three KPIs defined exactly, charts that do not mislead, and AI commentary a person signs off.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: the author's own method; the 200-SKU data and distances are an illustrative model, not measurements from a real site.