Proxima
Back to blog

Logistics · August 4, 2026

How to reduce RTO in e-commerce in India

RTO is a margin leak, not a courier problem. What one returned COD parcel really costs, why it happens, and the fixes that cut RTO without punishing genuine buyers.

Flow diagram of COD parcels splitting into a delivered path and a return-to-origin path, with a cost ledger below
Every RTO parcel pays freight twice. The ledger below the flow is where the margin goes.

Return to origin (RTO) is the parcel that never reaches the customer. It leaves your warehouse in Bhiwandi or Bengaluru, travels partway across the country, fails delivery, and comes all the way back. No sale, no revenue — and the parcel has still consumed freight, fuel, packaging and handling in both directions. For cash-on-delivery (COD) orders, which dominate Indian e-commerce outside the metros, RTO is not an exception. It is a line item. It just never appears as one number on a P&L, which is exactly why it leaks for so long. A customer-initiated return is a separate reverse-logistics pipeline: the order was delivered, and pickup, QC and refund now decide the cost.

The arithmetic is worth doing once for your own catalogue. Consider a mid-size D2C brand shipping 3,500 orders a day, 70% of them COD. If the RTO rate on COD runs at 28% — common in fashion, footwear and accessories — that is roughly 690 parcels a day coming back. At ₹150–₹250 of direct cost per returned parcel, the leak is ₹1–1.7 lakh every day, before counting a single lost sale. During the festive season, when volumes double and address data gets sloppier, the leak doubles with it.

What one RTO actually costs

Open one returned parcel and the cost has four layers. The first is forward freight: getting the parcel from your warehouse to the customer’s city, typically ₹90–₹120 on a standard e-commerce shipment. The customer never accepted it, but the courier still moved it, and that leg is billed in full.

The second layer is reverse freight: the trip back, usually ₹70–₹100. The third is handling and packaging. The returned unit has to be received, quality-checked, repacked and re-shelved — ₹30–₹50 of labour and material, and some units come back unsellable. Together, that is the commonly quoted ₹150–₹250 per RTO parcel, and it is still not the largest cost.

The fourth layer is invisible: blocked inventory. A unit in transit back from a failed delivery is out of stock for 10–15 days. During a Diwali sale, when that exact SKU and size is what the next customer wants, the blocked unit is a second lost sale that never gets counted as one. Add the original lost sale and the real cost of one RTO is closer to the parcel’s full contribution margin plus ₹150–₹250.

How high is too high

COD-heavy categories in India — fashion, footwear, home and kitchen, beauty — routinely run 20–40% RTO. A healthy network sits under 15%. Prepaid orders run far lower, often under 5%, because payment is itself a confirmation of intent. That gap between COD and prepaid is the whole story: most RTO is not a delivery failure, it is a commitment failure that shows up at the door.

This is also why the RTO rate on COD should be tracked separately from prepaid, by category and by pin code. A blended 18% can hide a COD line running at 30% and a prepaid line at 4%. The blended number looks manageable. The COD line is where the margin is going.

Where RTO comes from

Four root causes account for most of it, and each has a different fix. Treating them as one problem is why so many RTO programmes stall.

  • Fake and impulse COD orders. COD costs the buyer nothing at checkout, so it attracts impulse buys, prank orders and buyers who were never sure. These orders fail at the door because the intent was never real. No courier can fix this; it has to be caught before dispatch.
  • Address quality. Incomplete addresses, missing landmarks, wrong pin codes, a house number that exists in no numbering system. In tier-2 and tier-3 India the delivery agent often navigates by phone call, and a bad address converts directly into a failed attempt.
  • Unreachable customers. The phone is switched off, the number is wrong, the customer is at work and cannot take calls. The agent attempts, the call goes unanswered, the attempt is logged as failed.
  • Slow NDR follow-up. Every RTO starts as a non-delivery report (NDR). Couriers like Delhivery, Xpressbees, Ekart and Blue Dart typically attempt delivery about three times before marking a parcel for return. The gap between the first failed attempt and the RTO trigger is the recovery window — and in most networks that window passes with nobody calling the customer to fix the address or confirm a time.

Fixes that do not punish genuine buyers

The lazy fix is blunt: block COD for entire pin codes, cancel every order that looks risky, demand prepaid from everyone. It reduces RTO. It also cancels real customers — in much of India COD is not a preference, it is how first-time buyers trust a new brand. The fixes that work reduce fake intent and failed attempts while keeping the door open for genuine buyers.

  1. Confirm COD orders before dispatch. A WhatsApp message asking the customer to confirm the order and address. WhatsApp has over 500 million Indian users and open rates above 95%, so the confirmation actually gets seen. Confirmed orders ship; non-responses get a second nudge or a call; explicit cancellations save the forward freight entirely. A prepaid nudge inside the same message — a small discount for paying now — converts a slice of COD intent into prepaid, and prepaid rarely comes back. The full COD-to-prepaid ladder adds partial COD and trust signals without blocking genuine buyers. (Consent-based utility templates and the DPDP Act 2023 apply; do this properly.)
  2. Verify the address at checkout. Address quality and pincode serviceability start with pin-code validation, a landmark prompt, a phone-number check, and an autofill that catches a five-digit pin code before it becomes a failed delivery in Guwahati. The cheapest RTO is the one that never ships to an undeliverable address.
  3. Know your pin-code risk. Keep RTO history by pin code, category and courier. Use it to choose the attempt channel, the confirmation intensity and the courier for that lane — not to refuse the order by default. A high-RTO pin code is a reason to confirm harder, not to abandon a market.
  4. Act on every NDR within hours. The first failed attempt is the cheapest moment to save the parcel. Call or WhatsApp the customer the same day, confirm a delivery slot or a landmark, and push the instruction back to the courier before the next attempt. Left alone for two days, most NDRs age into RTOs.

Where measured automation fits

Each of these fixes is a high-volume, repetitive follow-up loop: send the confirmation, read the reply, update the address, pass the instruction to the courier, watch the next attempt. That is exactly the kind of work that buries a team at scale — and exactly the kind an AI agent can carry, if it earns trust in phases rather than getting the keys on day one.

In practice that means three stages. First, the agent reads the same events your team sees — new COD orders, NDR codes, address flags — and suggests what to do, but acts on nothing (Shadow mode). Every suggestion is scored against what the team actually did. Then, a person reviews and approves each action: the confirmation goes out, the re-attempt instruction goes to the courier, only behind a supervisor’s approval (human-in-the-loop). Categories that stay accurate week after week — routine confirmations, standard NDR replies — graduate to running automatically within agreed limits. Judgment calls stay with people.

Here is what the middle stage looks like on a real Tuesday morning. 10:12, Delhivery logs an NDR — “customer unreachable” — on a Surat-to-Patna COD parcel. 10:13, the agent drafts a WhatsApp message asking the customer to confirm availability and share a landmark, with the order details attached for review. 10:21, the customer replies: available after 6 pm, near the Hanuman temple. 10:24, a supervisor approves the updated delivery instruction and it goes back to the courier. The second attempt succeeds the next evening. Nothing here is magic. The only thing that changed is that the follow-up happened in twelve minutes instead of never.

What this does not fix

RTO caused by the product itself does not respond to any of this. If sizing is inconsistent, photos oversell the item, or quality disappoints at the doorstep, customers will refuse parcels no matter how good the confirmation flow is. That is a merchandising problem, and it belongs with merchandising.

Courier coverage gaps are another limit. In lanes where the courier’s last-mile network is thin, attempts fail for reasons no amount of customer contact will fix — the fix there is allocation and courier choice, not messaging. Organised fraud — repeat fake-order patterns, resellers gaming COD — needs human judgment and sometimes legal routes; an agent can flag the pattern, a person has to decide what to do about it.

And confirmation itself has a limit. Message every customer three times and you train genuine buyers to ignore you, or worse, to read your brand as spam on WhatsApp. The aim is one well-timed confirmation and fast NDR follow-up, not a bombardment. RTO comes down when fake intent is filtered before dispatch and failed attempts get a same-day owner. It is unglamorous work. It is also where ₹1 lakh a day tends to be sitting.

If you want your own number before anything else: the RTO cost calculator turns your orders, COD share and RTO rate into the monthly leak in about ten seconds.

Free 2-day process review

Request a free two-day review of your RTO numbers.

Request a Free Process Review