Key takeaways
- RTO is not one problem, it is a chain of small leaks from bad addresses to weak phones to the wrong courier, and you plug them in sequence.
- The cheapest wins come first: clean the address at checkout and verify the phone before you touch anything expensive like risk models.
- Risk scoring is a router, not a verdict. Its whole job is to send the right order down the right path: allow, verify, or force prepaid.
- Converting even a fifth of risky COD to prepaid or partial-COD removes those orders from the RTO pool entirely.
- You cannot manage what you do not split by reason, so the last step is measuring RTO by pincode, courier and cause and feeding it back.
Every founder who runs COD in India has stared at the same ugly number. You ship a hundred orders, thirty come back, and the return shipping plus the forward shipping plus the repacking quietly eats the margin you thought you had. I have sat in those review calls. The mistake everyone makes is looking for the one big fix. There isn't one.
RTO is a chain of small failures. The address was half-written. The phone was a typo. The buyer never really wanted it. The courier was wrong for that pincode. Nobody called when the first delivery attempt failed. Each of those is a few percent, and they compound. So the playbook below is deliberately ordered, cheapest and highest-leverage first. Do them in sequence, not all at once, and measure after each.
If you want the money argument before the how-to, the true cost of RTO lays out why a 28 percent return rate can wipe out a profitable-looking P&L. This piece is the fixing part.
The 9 steps, in order
- Fix address quality at the point of entry. More RTO is born at the address field than anywhere else. Split the single address box into house, area and landmark, make house and area mandatory, and reject two-word junk like "Fatehpur post office" before the order is placed. Autofill city and state from the pincode so the buyer types less and gets it right more. This one change, done well, is the highest-ROI thing on the list. Details in address verification for COD and RTO.
- Verify the phone with OTP. A wrong or fake number means the courier cannot call, the NDR cannot be worked, and the WhatsApp confirmation never lands. Send a 4 to 6 digit OTP at checkout. It kills fake orders and confirms a reachable number in one step. For high-COD catalogues this is non-negotiable.
- Score every order for RTO risk before it ships. Not every order deserves the same treatment. A rules-plus-ML score using pincode history, phone reputation, order value, address completeness and COD flag tells you which orders are risky. The score is a router, not a rejection. Read how the signals combine in RTO risk scoring and the model side in RTO prediction with machine learning.
- Convert risky COD to prepaid or partial-COD. Once you know which orders are risky, do something about it. Offer a ₹30 to ₹50 discount or free shipping to prepay, or take a partial advance so the buyer has skin in the game. A prepaid order almost never RTOs the way a COD one does. See COD-to-prepaid conversion and partial-COD explained.
- Send a WhatsApp COD confirmation sequence. For the risky COD orders you still ship, confirm intent on WhatsApp before dispatch. A single "Reply YES to confirm your ₹899 COD order" filters out the impulse orders and the accidental double-taps. The unconfirmed ones are your cancel-or-convert list. The full sequence is in the WhatsApp COD confirmation sequence.
- Allocate couriers by pincode performance. The same pincode can run 12 percent RTO on one courier and 22 on another. Stop shipping everything through one partner out of habit. Route each order to the courier that historically delivers best to that pincode and service band. This is quiet, boring, and it works. More in courier allocation for RTO.
- Work every NDR fast. An NDR (non-delivery report) is a second chance, and most brands waste it. When the first attempt fails, reach the buyer on WhatsApp or call within a couple of hours, confirm the address, and re-attempt. A worked NDR is often a saved delivery. The system for it is NDR management.
- Block the serial returners. A small slice of buyers RTO everything, across stores. If a phone has a history of repeated returns, do not ship it on COD, force prepaid or drop it. One bad repeat-offender phone can cost you more than ten good orders earn. See serial returner detection.
- Measure by reason, then feed it back. Split your RTO by pincode, courier, product and cause every week. Feed what you learn back into steps 1, 3 and 6. The playbook is a loop, not a checklist you finish. The mechanism is the RTO feedback loop.
That is the whole stack. Now let me add the caveats, because running these blind will burn you.
A quick word on what RTO actually costs you
Before the caveats, it helps to hold the number in your head. When a COD order RTOs, you pay forward shipping, return shipping, and the labour to receive, inspect and restock the product. On a ₹899 order shipping to a tier-3 pincode, that round trip can eat ₹120 to ₹180 before you count the tied-up inventory and the working capital stuck for two weeks. Run that across 280 returns a month and you are burning a mid-size salary every month on parcels that go nowhere. That is why even a five-point drop in RTO changes the whole P&L, and why the boring steps at the bottom of this list matter as much as the exciting ones at the top.
One more framing that helps the team stay honest: RTO is not the courier's fault and it is not the buyer's fault, it is a data problem you own. The address was captured badly on your checkout. The phone was never verified on your checkout. The risky COD order was shipped without a confirmation because nobody built one. Own it as your problem and the fixes become obvious.
Why the order matters
People try to start at step 3 or 8 because risk models and blocklists feel sophisticated. Don't. If your address field still lets junk through, your fancy model is scoring garbage. Fix the inputs first. Steps 1 and 2 cost almost nothing and often cut RTO by a fifth on their own. Only then does scoring have clean data to work with.
What each step actually moves
| Step | Primary lever | Rough impact on RTO | Effort |
|---|---|---|---|
| Address quality | Undeliverable orders | High | Low |
| Phone / OTP verify | Fake and unreachable | Medium-high | Low |
| Risk scoring | Routing accuracy | Enables the rest | Medium |
| COD to prepaid | Removes risky orders | High | Medium |
| WhatsApp confirm | Impulse / accidental | Medium | Low |
| Courier allocation | Delivery success | Medium | Medium |
| NDR follow-up | Second-attempt saves | Medium | Medium |
| Block serial returners | Repeat abusers | Low-medium | Low |
| Measure and iterate | Everything, over time | Compounding | Ongoing |
Notice the pattern. The high-impact, low-effort rows are at the top. That is not an accident, it is the order you should build in. The compounding row at the bottom is the one nobody wants to do and the one that separates brands that get to 15 percent RTO from brands that plateau at 25.
The mistake that undoes the whole playbook
Over-restriction. I have watched a brand get so scared of RTO that they forced prepaid on everyone and hid the COD button. Their RTO went to near zero. So did their orders, because in tier-2 and tier-3 India, COD is still how a huge share of buyers pay. You cannot win by refusing the customer.
The point of scoring and routing is precision. Force prepaid on the risky 15 percent, not the safe 85. Confirm on WhatsApp for the shaky orders, not the returning prepaid buyer who has ordered from you four times. Every restriction you apply to a good buyer is an order you just threw away. The right mindset is in reducing RTO on COD orders: reduce returns without reducing sales.
A realistic 90-day rollout
- Weeks 1-2: Fix the address field and turn on OTP. Measure. This alone should show a visible dip.
- Weeks 3-4: Turn on risk scoring in observe-only mode. Do not act on it yet, just watch whether the scores match the orders that actually RTO.
- Weeks 5-6: Start converting the top risk band to prepaid or partial-COD, and add the WhatsApp confirmation for the middle band.
- Weeks 7-8: Switch on courier allocation by pincode and tighten NDR follow-up to under two hours.
- Weeks 9-12: Add serial-returner blocking, then set up the weekly RTO-by-reason review and start feeding it back.
By the end of that quarter you are not guessing anymore. You know your worst pincodes, your best couriers per zone, and which risk band earns its keep. The Jaipur brand I opened with did roughly this and pulled RTO from 28 to 17 percent. Not zero, because zero is a fantasy that costs you orders, but 17, honestly and profitably.
Run the whole playbook from one place
Kwikfy builds address quality, OTP, RTO scoring, COD-to-prepaid, WhatsApp confirmation and courier routing into one checkout for Shopify D2C brands.
Start Free →