Playbook

How to handle NDR without losing your mind (or your customer)

NDR — non-delivery report — is where most sellers leak money. We share our playbook for cutting NDR-to-RTO conversion by 40%.

Playbook 8 min·April 2026·By Skyfleet team
All posts

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:

  1. Customer not available (42%) — at home all day, opens the door for everyone except your delivery person.
  2. Address insufficient (28%) — pincode right, landmark wrong, or building/society incomplete.
  3. Customer refused (18%) — buyer's remorse, COD didn't have cash, partner said “no”.
  4. 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:

  1. Auto-send a WhatsApp/SMS to the buyer within 15 minutes: “Your order #1234 couldn't be delivered — reply 1 to reattempt tomorrow.”
  2. If they reply 1, push a re-attempt instruction to the courier via API.
  3. If they reply with new address/landmark, push the update + re-attempt.
  4. 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).
The 40% number: across Skyfleet merchants using auto-NDR (Connect + courier API integration), NDR-to-RTO conversion dropped from ~32% (industry baseline) to ~19% within 60 days of switching it on. That's the headline. Your mileage will vary by category and AOV.

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.

Skyfleet team

Written by

Skyfleet team

Editorial

Operators, engineers, and ex-courier-ops folks who built Skyfleet. We write about what we see running thousands of shipments a day.

Try Skyfleet free.

All 14+ couriers, COD net-off, label printing, NDR automation — live in 5 minutes. No credit card required.

Get started free