Return Fraud Signals Hiding in Your Data
Somewhere in your RMA table right now is a customer who ordered a dress for a wedding, photographed it, and returned it the next morning. Somewhere else is a shopper who orders three sizes of the same jacket every single month and keeps none of them. And buried in the noise is a small cluster of accounts responsible for a disproportionate share of your refund dollars. Most merchants never find these patterns because they look at returns one ticket at a time instead of as a dataset. Return fraud and abuse do not announce themselves with a single suspicious order — they show up as statistical outliers across timing, frequency, and condition fields that most teams already collect but never join together.
The scale of the problem is not trivial. Industry estimates consistently put return fraud and policy abuse in the billions of dollars annually across retail, and the NRF has flagged it as one of the fastest-growing loss categories tied to e-commerce returns growth. Yet most merchants still triage returns manually, relying on gut instinct from warehouse staff rather than the data already sitting in their order management system. This piece is a working catalog of the signals that actually predict fraud, ranked by how precise they are — because a return fraud program that flags too many honest customers is worse than no program at all.
Why signal precision matters more than signal count
It's tempting to build a scoring model with twenty inputs and hope the aggregate catches fraud. In practice, this backfires. Low-precision signals — like "customer has returned before" — trigger constantly and mostly on loyal, high-value shoppers who simply buy across multiple sizes. If your fraud team acts on noisy signals, you end up interrogating your best customers while actual bad actors, who are more careful, slip through. The teams that get this right treat return fraud detection like a serial returner scoring problem: rank signals by precision, weight the strongest ones heavily, and use weak signals only as tie-breakers, never as standalone triggers.
The signal catalog, ranked by precision
Below is a working ranking based on patterns commonly reported in returns-fraud practice. High-precision signals rarely fire on legitimate customers when they do fire. Low-precision signals fire often but need corroboration.
| Signal | What it looks like in your data | Precision | False-positive risk |
|---|---|---|---|
| Wardrobing timing pattern | Item returned 1-2 days after delivery, condition notes mention tags removed or wear visible | Very high | Low |
| Empty-box / item-not-received claims clustered by IP or address | Multiple claims from same shipping cluster within a short window | Very high | Low |
| Refund-to-different-payment-method requests | Customer asks for refund to a card or account different from the original payment | High | Low-medium |
| Serial full-price purchase, full return | Account returns >70% of lifetime orders with no exchanges, no partial keeps | High | Medium |
| Receipt or barcode reuse across multiple RMAs | Same tracking number or receipt ID appears on unrelated return claims | Very high | Low |
| Bracketing (multi-size, multi-color single order) | One order, several sizes/colors of same SKU, most returned | Medium | High (common honest behavior) |
| High return frequency alone | Customer returns often but keeps a reasonable share | Low | Very high |
| New account, high-value first order, immediate return | First-time buyer, expensive item, return initiated within hours | Medium-high | Medium |
Timing signals: the most underused data you already have
Every RMA record has a delivery timestamp and a return-initiated timestamp. Almost no merchant analyzes the gap between them as a distribution. When you plot it, honest returns cluster in a predictable bell curve — a few days to a couple of weeks, driven by fit and buyer's remorse. Fraudulent wardrobing returns cluster in a much tighter, earlier window, often under 48 hours, especially for occasion-wear categories like formalwear, costumes, and going-out dresses. If you haven't segmented your return-timing histogram by category, that's the single highest-leverage analysis you can run this quarter.
Condition and inspection notes as structured data
Warehouse staff write free-text condition notes that almost never make it into a queryable field. That's a missed opportunity. Standardizing a short set of condition codes — tags removed, visible wear, odor present, packaging missing, item mismatched to order — turns your inspection process into a fraud signal generator. Cross-reference condition codes against customer history and you'll find that a small percentage of accounts account for a large share of "tags removed" flags.
Identity and network signals
Fraud rings rarely use a single account. Look for shared shipping addresses, shared device fingerprints, or shared payment instruments across accounts that otherwise look unrelated. This is also where chargeback vs return prevention thinking becomes relevant — a customer who both files a chargeback and initiates a return on the same order is a much stronger signal than either behavior alone, and reconciling those two data streams is something most merchants still do manually, if at all.
Most teams do not need more data. They need to join the data they already have — delivery timestamps, condition codes and payment-method changes — into one view per customer instead of three separate systems.
Building the composite score without alienating good customers
The goal is not to block returns. It's to route the top 1-3% of highest-risk accounts to manual review while letting the other 97% move through self-service as fast as possible. A well-built composite score should:
- Weight high-precision signals (timing, receipt reuse, condition flags) far more heavily than frequency alone
- Never auto-deny a return based on a single low-precision signal like return count
- Decay scores over time so a customer's one bad season doesn't follow them permanently
- Surface the specific signals that triggered a flag, not just a black-box score, so your ops team can sanity-check it
- Get validated quarterly against actual confirmed fraud outcomes, not just flag volume
This is also where a broader return fraud prevention program earns its keep — the scoring model is only useful if it's connected to real workflow actions like holding a refund, requiring photo evidence, or routing to a human reviewer, rather than sitting in a dashboard nobody checks.
What good implementation looks like in practice
Merchants who do this well typically start with just two or three signals — return timing and receipt/tracking reuse are the highest-leverage starting points because they're both high precision and already sitting in existing systems. From there, they layer in condition codes once warehouse staff are trained to use a standardized taxonomy, and only later add network-level signals like shared addresses or devices, which require more engineering work to compute reliably. Trying to launch all eight signal types at once tends to produce a noisy model that nobody trusts, which defeats the purpose entirely. According to research referenced by McKinsey on e-commerce operations, incremental analytics rollouts consistently outperform big-bang implementations in retail ops contexts, largely because staff need time to build trust in a new scoring system before they'll act on its recommendations.
- 1Audit your existing RMA schema for timestamp, condition, and payment fields you already capture but don't analyze
- 2Build a timing histogram segmented by category to find your wardrobing window
- 3Standardize condition codes at the warehouse and require them on every inspected return
- 4Start a composite score with your two highest-precision signals only
- 5Route flagged accounts to manual review, not automatic denial, for the first two quarters
- 6Validate quarterly against confirmed fraud cases and re-weight signals accordingly
FAQ
What's the single best data signal for catching return fraud?
Return timing relative to delivery, especially in occasion-wear and formal categories, is consistently the highest-precision signal because fraudulent wardrobing clusters in a very narrow window that's easy to separate from honest buyer's remorse returns.
How do I avoid flagging honest customers who just buy multiple sizes?
Treat bracketing (ordering multiple sizes or colors in one order) as a low-precision signal on its own. It's extremely common honest behavior, especially in apparel, so it should only raise a flag when combined with a high-precision signal like timing or receipt reuse.
Should return fraud scores ever auto-deny a return?
Generally no, at least not initially. Auto-denial based on a composite score risks blocking legitimate customers and creating support escalations. Most merchants get better outcomes routing high-risk accounts to manual review or requiring additional evidence like photos.
How often should we re-validate our fraud scoring model?
Quarterly at minimum. Fraud patterns shift as bad actors learn what triggers review, so a model that isn't periodically checked against confirmed outcomes will drift and either miss new patterns or generate excessive false positives.
See it on your own returns.
Start freeKeep reading
Fee vs Free Returns: Run the Math First
Should returns be free or carry a fee? Run the conversion-versus-margin math with our model before you set a restocking fee or absorb return shipping cost.
Migrating Off Native Shopify Returns
Outgrown native Shopify returns? Learn what native returns lack, how to migrate to a full returns portal, and how to move Shopify returns data without loss.
