Bottom line up front: scoring return risk from historical return data — reason codes, SKU return rates, customer order behavior — and acting before shipment pays off for e-commerce warehouses and 3PLs. That is what AI returns prediction actually looks like in practice. But two preconditions: first, you need more than about 500 returns a month, or Excel conditional formatting does the job fine; second, your return reason codes have to be clean first. Garbage data in, expensive garbage out. AI here means "computes faster," not "magically accurate."
Why returns deserve their own early-warning system
On most warehouse P&Ls, returns are one line: "reverse logistics." I have broken down the math: processing one return genuinely costs two to three times a forward shipment — unboxing, inspection, restocking or disposal, refund customer service, all labor. Worse is the cash: a return sitting in the warehouse for a week ties up that cash for a week, and in peak season that can strangle cash flow.
Early 2024, a 3PL in South China doing apparel fulfillment for online sellers came to me with return rates stuck above 30%, pushing toward 40% in peak season. The first two hours of every morning went to processing the previous day's returns; pickers were miserable. Our first step used zero models: we split their return reason codes from 3 (quality / sizing / other) into 12 granular codes, mandatory at receiving scan, no skipping. Two weeks later the data spoke: "size too big/small" accounted for nearly 40% of apparel returns; "quality issues" under 10%. They had spent a year assuming "the product is bad." Wrong direction entirely. The model was not even built yet, and just splitting reason codes found the root cause.
The AI returns prediction playbook: four steps
Step 1: Collect the right data first (2–4 weeks)
Three fields, none optional:
- Return reason codes: 8–15 granular codes, mandatory at receiving scan. "Other" is the lazy option — if "other" exceeds 15% of returns, your codes are wrong. Go back and split them properly.
- SKU return rates: returns divided by shipments, rolling 90 days, per SKU.
- Customer order behavior: new vs. returning customer, sales channel, promo-period flag. Order behavior only — stay clear of privacy lines.
I have watched this exact failure three times: a warehouse pays for a prediction system while reason codes are still half "other," and the model dutifully outputs "recommend focusing on other-reason returns." That says nothing. Wrong data collection, everything downstream is wasted.
Step 2: Rules before models
Do not start with machine learning. Run a rules engine for one to two months first:
- SKU rule: any SKU with a 90-day return rate above 25% goes on the watch list automatically.
- Order rule: new customer + watch-list SKU + promo-period order = high-risk order.
- Trend rule: one SKU's "sizing issue" reasons rising two weeks straight triggers an alert.
Once the rules run smoothly and you have banked 6–12 months of clean data, then consider a model. Here is the counter-intuitive part: with thin or dirty data, a machine learning model loses to an experienced floor supervisor. I watched a warehouse with four months of messy return data and sloppy reason codes deploy an "AI predictor" that performed worse than the veteran lead just eyeballing the pick list. A model is an amplifier — it amplifies data quality, not magic. Bad data just gets its errors amplified faster.
Step 3: Move the action before shipment
Prediction creates zero value. Action does. Four standard plays, copy-paste ready:
- Listing optimization: add measured size charts and real try-on notes to high-risk SKU pages.
- Description fixes: wherever the reason codes point, fix that — lots of "not as described"? Rewrite the listing.
- Pre-shipment QC: high-risk orders get an unbox-and-test step before they ship.
- Inbound planning: stock high-return SKUs against net demand — net demand = gross demand × (1 − return rate).

First half of 2025, a small-appliance seller with its own warehouse shipping to the US was drowning in "not as described" and dead-on-arrival returns. We scored every order for return risk; high-risk orders got a powered-on test before shipment, low-risk orders flowed normally. Two months later, dead-on-arrival-type returns were down roughly 30% — small appliances, do not copy-paste that number to apparel. The point is not model accuracy; it is that the action happened before shipment. Once the box leaves, the cost is sunk — stopping one return costs far less than processing one.
Step 4: Review weekly, keep score
Two numbers each week: hit rate (of orders flagged high-risk, how many actually returned) and miss rate (returned without being flagged). If hit rate slides two weeks running, check whether someone is mis-coding reasons before you touch the model. And write the score back into the WMS order notes so the floor acts on it — do not make operators open another system. One more system means one more screen nobody checks.
Three ways I have watched this blow up
- Treating prediction as a veto. Flagging high-risk orders and refusing to ship them gets customer service buried in complaints by day two. Prediction means "add an action," not "block the shipment." Draw that line wrong and the project dies.
- Deploy and forget. SKUs turn over seasonally, suppliers change, return patterns shift — while the model still runs last year's weights. Retune rule thresholds and retrain models at least quarterly.
- Wrong ROI math. Counting "returns avoided" without counting system and labor cost. A small warehouse forcing a model build can spend more on data talent in a month than the system saves in return-processing costs all year. Count both sides of the ledger.
When AI returns prediction pays: the scale line
| Monthly returns | Approach | Investment |
|---|---|---|
| Under 500 | Excel conditional formatting + weekly manual review | Near zero |
| 500–5,000 | Rules engine (reason codes + SKU scoring) | 1–2 person-weeks to build |
| Over 5,000, or 2,000+ SKUs | Rules + machine learning model | Ongoing investment, at least one data-capable person |
Where the 500 line comes from: processing one return costs roughly $3–$5 (labor, packaging, slot time — ballpark, varies by market). At 500 returns a month, that is $18k–$30k a year in return-processing cost. A rules engine shaving 20–30% off that (varies a lot by category) roughly covers 1–2 person-weeks of build. Below the line, your time costs more than you would save — just keep reason codes clean and eyeball a weekly report. Same outcome.
Go-live night checklist
- Return reason codes: 8–15 of them, receiving team all trained, "other" under 15%.
- SKU return-rate report auto-generates on a rolling 90 days — no manual stitching.
- Watch-list threshold picked (start at 25%), revisit after a month.
- Pre-shipment SOP for high-risk orders written: who inspects, what, within how many minutes.
- Scores written back to WMS order notes — operators never switch systems.
- Weekly reviewer assigned: watches hit rate and miss rate.
- Retune cadence on the calendar: quarterly, minimum.
- No blocking: prediction adds actions, never blocks shipments — line one of the SOP.
Returns prediction is 70% data and action, 30% algorithm. Get that order backwards and the money is gone.
By Lin Xiao, WMS Implementation Consultant







