All posts
Operations2026-04-20

Retail returns are a feedback signal, not a logistics problem

Most retailers handle returns as a reverse-logistics flow. Treated as a signal feeding allocation and buying, the same returns recover 200–400 bps of margin.

Kevin Didelot12 min read

In most retail organizations, returns belong to the supply chain operations team and sit on a separate KPI line from sales. They get measured by one metric: how fast can the unit be cleared, re-stickered, re-priced, and resold. The implicit definition is logistical — "a returned item is a unit out of place". Move it back, route it to a clearance channel, take the markdown, move on.

That definition was tenable when return rates sat below 8% and stores absorbed most of the flow. It stopped being tenable the moment online fashion crossed 20–30% return rates — a band the apparel industry now treats as structural, not exceptional. At that volume, returns aren't a back-office function. They're a flow comparable in size to a small national retailer's entire sell-through, fed daily into the warehouse with no equivalent feedback into the decision layer that originally caused them.

This article looks at why retail organizations keep treating returns as a logistics problem, what gets lost when they do. And what changes when returns are reframed as the closing edge of the sale → allocation → buying loop. Not a back-office optimization. A top-3 margin lever most chains haven't started pulling.

What a returned unit actually carries

Each returned SKU is a labeled data point. It carries, at minimum: store or channel of origin, size, color, season, customer profile, return reason, and the delay between purchase and return. On a fashion chain doing 100,000 returns a week, that's 100,000 labeled signals per week. Richer than any panel, more frequent than any market study, and produced for free by the existing operations.

Almost none of that signal survives the trip back to the warehouse. The standard reverse-logistics flow collapses these dimensions into two fields the WMS cares about: SKU identifier and condition grade. The return reason — when it's collected at all — lives in a service ticket nobody reads. The store-of-origin and the size are aggregated into the next allocation cycle as net availability, with no causal trace. The signal hasn't been lost — it's been actively erased by the workflow.

The cost of that erasure is structural. Without the signal, the chain keeps re-allocating the same SKU to the same store at the same size, into the same demographic context that just rejected it. It keeps placing pre-orders on the same fit blocks suppliers offered last season, even though 35% of those exact references came back for fit. It keeps applying the same markdown grid to clearance batches without knowing which units inside the batch are returns-driven (recoverable to full-price stores) versus genuine end-of-season residuals.

The chain hasn't failed to capture the data. It has structurally disconnected the data from the decisions that produced it.

Why the logistics framing keeps winning

Three forces keep returns treated as logistics, even at retailers who'd cite themselves as data-driven.

First, organizational gravity. Returns flow physically through the warehouse, so they're owned by the warehouse. The WMS measures throughput, not signal density. The supply chain director is asked one question every quarter: cost-per-return-processed. That metric optimizes routing speed and rejects any process step — like enriching the return reason with a store-level attribution — that adds touch time.

Second, system topology. Returns enter through the WMS, but the decisions that should respond to them — re-allocation, re-pricing, next-season buying — live in three different systems, sometimes maintained by three different teams. The path from a returned unit to a corrected next-week allocation crosses an organizational seam, often an Excel file, almost always a human re-entry step. The path exists in theory and breaks in practice every Monday morning.

Third, measurement habits. Return rate is reported as a single line on the supply chain dashboard, usually monthly, often aggregated at category level. It's never reported alongside the upstream decisions that produced it. The allocation that sent the wrong size to the wrong store, the pre-order that over-bet on a fit nobody likes, the online merchandising that mis-described the cut. As long as returns aren't measured against their causes, no one inside the organization is incentivized to close the loop.

The result is a quietly absurd structure. The chain spends meaningful capex on demand forecasting and allocation engines to predict what customers will buy. And it throws away the highest-quality post-purchase feedback available — the "they bought it and gave it back" signal. All because that signal arrives through the loading dock instead of the data warehouse.

The three loops that a returned unit should close

Once a return is treated as a signal rather than a unit-out-of-place, three decision loops become possible. None require new ML models — just a feedback path that doesn't exist today.

Re-allocation: don't ship the same mistake back

A returned size-S item from store 47 carries an implicit statement: the customers walking into store 47 didn't want this size, at this price, in this season. Re-allocating that same unit back to store 47 — which the default replenishment rule will do, because store 47 now shows lower on-hand — repeats the original error. The closed-loop alternative routes the unit to a store cluster with confirmed sell-through on that exact size/color/season. And updates store 47's allocation weights for the rest of the season so the upstream signal stops being ignored.

This isn't a new optimization. It's the standard allocation logic, applied to returns instead of net new shipments. The reason it doesn't run today is organizational: the returns flow is owned by the warehouse, the allocation flow by merchandising, and the two never share a write path.

Re-pricing: separate returns from end-of-season residuals

A clearance batch on day 75 of a season typically mixes two very different populations. Units that never sold (true end-of-season residual — apply markdown, clear). And units that sold and came back (recoverable inventory — most could re-enter full-price stores with confirmed sell-through). The default markdown grid treats both populations identically and prices to the worst case. The chain takes a markdown on units that didn't need one.

Tagging the population at the warehouse level — returns-driven vs season-residual — and routing each through its own pricing path is a low-tech change with disproportionate margin impact. The signal already exists in the WMS. The pricing engine just has to be allowed to read it.

Next-season buying: stop re-ordering the rejection

The most expensive loop to leave open is the buying loop. A fit block that produced 35% returns last season should not appear in next season's pre-orders at the same volume. A color that drove returns at the +30% rate in two stores out of fifty should be allocated away from those two stores by default, not added to their assortment. A supplier whose construction quality produces a measurable defect-return rate should carry that rate as a line in the next negotiation, not as a complaint after the fact.

None of this requires a new buying tool. It requires the return-reason signal to reach the buying meeting — at the right grain (SKU, fit, supplier, store cluster), at the right cadence (per cycle, not per annual review). And with the same authority as the sales signal sitting next to it. In most chains, the buying meeting today sees gross sell-through and gross margin. It does not see what the customer rejected — and re-orders accordingly.

What changes when the loop closes

The retailers who have wired this feedback path don't do anything exotic with it. They route the return-signal into the same decision systems that already run allocation, re-pricing, and pre-order sizing, and they let the existing engines incorporate it. The reported impact is consistent across the chains that have published it:

  • 150–250 bps of margin recovered on the apparel categories where returns ran highest, from avoided markdowns alone (the recoverable-inventory split above)
  • An additional 100–150 bps from re-allocation discipline — fewer units re-sent to stores that just rejected them, faster cycling into stores that sell them
  • A measurable drop in pre-order over-commitment on fit blocks and colors that the return-signal had flagged a season earlier

Aggregate that to 200–400 bps of margin captured from the same physical return flow competitors are routing to clearance. In a category running 8% operating margin, 300 bps is roughly a 35% improvement in operating profit, without selling a single additional unit and without changing supplier terms. The margin was already there. It was being thrown away with the return slip.

The structural prerequisite is small and unglamorous: a writable feedback path from the WMS into the decision systems, at SKU/store/reason granularity, on a cadence faster than the buying cycle. Not a new model. Not a new platform tier. A path that doesn't break every Monday morning.

This is the same architectural argument as the closed decision-to-execution loop we've made about retail leaders generally. Returns are simply the loop's highest-leverage edge — the only post-purchase signal with native SKU/store granularity. It's also why most retailers lose money between stores: returns flow is the most expensive form of inter-store misallocation, the one that hits twice (markdown + re-handling).

The Solya angle: returns as a first-class input to the decision layer

This is precisely how returns get wired in Solya. Not as a separate reverse-logistics module bolted onto the WMS. As a first-class input to the same decision engine that runs allocation, re-pricing, and pre-order sizing for the rest of the business. The return-reason, store-of-origin, and recoverability flag are preserved end to end.

Concretely, the decision layer reads the return at the moment it's logged in the WMS, attributes it to the originating sale (store, channel, allocation cycle, supplier batch). And feeds the signal into three loops in parallel. Re-allocation routes the unit toward a cluster with confirmed sell-through, not back to the rejecting store. Re-pricing splits the clearance batch by recoverability, so the markdown engine only applies to units that actually need it. The buying view aggregates return-reason at the SKU/fit/supplier grain, so the next pre-order cycle sees what the previous one bought wrong.

None of these are new decisions the platform invents. They're decisions the chain was already making, now informed by a signal that used to be erased between the loading dock and the dashboard. The platform doesn't replace the WMS or the ERP. It restores the feedback edge they were missing.

The reason this matters more in 2026 than it did in 2019 is volume. At 8% returns, the loop's absence costs a few dozen basis points. At 25%, it costs hundreds. The economics that made returns a back-office problem stopped working when e-commerce fashion became a quarter-of-everything-comes-back business. And the chains who notice that first are the ones who'll convert the same return flow into 200–400 bps of margin competitors keep writing off.

The real question to ask

How many of your returned units left the warehouse last quarter without their return-reason ever reaching the buying team, the allocation team, or the pricing team? What share of your next pre-order cycle is being placed against fit blocks, colors, or constructions your customers measurably rejected last season? When your clearance markdown runs next, what percentage of the batch is recoverable inventory being priced as end-of-season residual?

If the honest answers are "most of them", "we don't know", and "we don't separate the two", you're not running a returns problem. You're running an open loop at the most expensive edge of your business. The one place where the customer has already told you, with their wallet, exactly what your next decision should be.

Closing that loop doesn't require rebuilding the warehouse, or replacing the WMS, or buying a new forecasting engine. It requires the return-signal to reach the decision layer, with its grain intact, on a cadence that matters. That single change separates the chains capturing 200–400 bps of margin from the ones routing the same flow to clearance — writing the loss off as the cost of e-commerce.

For the override and assortment governance questions buying teams raise, see our Merchandising Director FAQ.


Is your returns flow feeding your decisions, or just your warehouse?

At Solya, we offer supply chain and merchandising leaders a personalized 30-minute diagnostic to map where your return-signal gets lost between the WMS and your decision systems. And to quantify the margin recovery accessible by closing that loop on your own categories, store network, and return rate.

You'll walk away with:

  • A map of the break points between your returns flow and your allocation, pricing, and buying decisions
  • An estimate of the basis points of margin currently lost to the open-loop returns flow on your network
  • The first high-ROI use cases — re-allocation, recoverable-inventory pricing, return-aware pre-order — to close the loop in one season
Kevin DidelotCo-founder & CTO, Solya

Co-founder & CTO of Solya.

Related articles