NDR — non-delivery report — is the silent margin killer of Indian e-commerce. Industry average NDR is ~14%. Of those, ~30% convert to RTO. On a brand doing ₹50L/month, that's ₹2.1L of avoidable RTO loss per month.
Most of it is fixable. Here's the playbook we've built from watching thousands of NDR cases.
Why NDR actually happens
Couriers code NDRs into ~15 reasons, but in practice they cluster into 4 buckets:
- Customer not available (42%) — at home all day, opens the door for everyone except your delivery person.
- Address insufficient (28%) — pincode right, landmark wrong, or building/society incomplete.
- Customer refused (18%) — buyer's remorse, COD didn't have cash, partner said “no”.
- Other / undeliverable (12%) — area undeliverable today, payment dispute, package damage.
Each bucket has a different play.
Play 1: Pre-shipment NDR prevention
- Address scrubbing. Run pincode + landmark validation at checkout. We catch ~7% of orders with bad addresses before they ship.
- COD confirmation call/SMS. Sounds old-school. Cuts COD NDR by 18% in our data. Use WhatsApp Connect templates — it's automated.
- Auto-RTO high-risk pincodes. If a buyer's pincode has >30% NDR history with that customer phone, route to manual review instead of auto-ship.
Play 2: First-attempt recovery (Day 0)
When the courier marks NDR, you have a ~24-hour window to act before the second attempt or RTO trigger. Most sellers do nothing. Here's what to do:
- Auto-send a WhatsApp/SMS to the buyer within 15 minutes: “Your order #1234 couldn't be delivered — reply 1 to reattempt tomorrow.”
- If they reply 1, push a re-attempt instruction to the courier via API.
- If they reply with new address/landmark, push the update + re-attempt.
- If no reply in 4 hours, send a follow-up.
Skyfleet's Connect module does all of this on auto-pilot. Result: 40% of NDRs that would have RTO'd get delivered on attempt 2 or 3.
Play 3: The third-attempt decision
By the third NDR, the math changes. Each re-attempt costs ₹15-25 on most couriers, plus the eventual RTO freight if it fails. After attempt 3, the economics often favour cancelling and refundingrather than burning more freight + RTO.
Our default rule: NDR ≥ 3 AND order value < ₹800 → RTO. Tune to your AOV.
Play 4: Post-RTO learnings
Every RTO is data. Tag the NDR reason, the pincode, the customer phone, the SKU. After 90 days you'll see patterns:
- Repeat-NDR phone numbers (block from COD).
- Pincodes with > 25% NDR rate (require prepaid).
- SKUs over-represented in “customer refused” (review listing photos, sizing, fit).
What NOT to do
- Don't manually call every NDR customer. Doesn't scale past 200 orders/day. Automate it.
- Don't auto-RTO on first NDR. Way too aggressive; you'll RTO recoverable orders.
- Don't blame the courier. The fastest fix is at YOUR end (address quality, COD confirmation).
Bottom line
NDR is treated as inevitable in Indian e-commerce. It isn't. With pre-shipment scrubbing, automated post-NDR follow-up, and good attempt-3 economics, you can cut your NDR-to-RTO rate by 35-45%. That's real margin, not theoretical.