Key takeaways
- No courier is best everywhere — each one has zones where it delivers well and zones where parcels rot in a hub and RTO back.
- Assigning one courier to all orders 'because the rate is cheaper' quietly costs more than it saves once two-way RTO freight is counted.
- Route each order to the courier with the best delivery/RTO record for that specific pincode, balancing cost, speed, and success.
- NDR handling differs sharply by courier — some auto-reattempt and call, others need you to push every failed delivery manually.
- You can't allocate well without measuring courier-level RTO per zone; track it or you're guessing.
Most Shopify stores in India treat courier choice as a procurement decision. You compare rate cards, pick the cheapest one or two, plug them into your aggregator, and ship everything through them. It feels efficient. It's also one of the quieter reasons your RTO won't come down no matter how much you fix your checkout.
The uncomfortable truth is that a courier's national average delivery rate tells you almost nothing about what will happen to your parcel to that pincode. Delhivery might be excellent to metro and tier-1 and mediocre to a specific cluster in interior Odisha. Ekart might crush it in the south and struggle in the northeast. The average hides the zone. And RTO is a zone problem.
Why the courier changes the outcome
A parcel doesn't RTO in the abstract. It RTOs because a specific delivery boy in a specific area either didn't attempt it, attempted once and gave up, marked it 'customer not available' without calling, or the parcel sat in a hub that's understaffed for that region. All of that is courier-and-zone specific.
Three things vary by courier in any given pincode, and all three drive RTO:
- Last-mile density. Does the courier have its own delivery staff in that area, or is it handed to a local franchise that under-attempts? Own-network beats franchise for RTO almost everywhere.
- Reattempt behaviour. A good courier reattempts a failed delivery two or three times and calls the customer. A weak lane marks NDR and starts the return clock after one miss.
- Hub reliability. Some regional hubs are chronically slow. A parcel that takes 11 days to reach the customer gets refused far more often than one that arrives in 3.
Courier strengths — a working map
This is a generalised view, not gospel — every courier's footprint shifts quarter to quarter, and your own data should always override it. But as a starting frame for who to lean on where:
| Courier | Strong zones | Watch-outs | Best used for |
|---|---|---|---|
| Delhivery | Broad national reach, metro + tier-1/2 | Some interior franchise lanes under-attempt | Default workhorse, wide pincode coverage |
| Blue Dart | Metro + tier-1, premium speed | Costly; thinner in deep-rural | Prepaid, high-value, time-critical |
| Ekart | Strong South + West, ex-Flipkart backbone | Patchier in NE / far interior | Fashion & mid-value COD volume |
| XpressBees | Good tier-2/3 spread, competitive COD | Variable metro speed | Cost-efficient COD to smaller towns |
| Ecom Express | Deep tier-2/3 + rural reach | Slower TAT on far lanes | Reaching pincodes others skip |
| DTDC | Wide franchise network, small-town access | Franchise-quality varies by town | Backup / secondary for odd pincodes |
Read that as a hypothesis, not a rule. The value isn't in memorising it — it's in the idea that you should be assigning based on zone fit, then correcting the map with your own RTO numbers. A courier that looks great in the table but RTOs 22% to your top-selling pincode is wrong for that pincode, full stop.
How to allocate an order — the checklist
Here's the sequence I'd run on every order before it's manifested. Most decent shipping setups can automate this with rules; if you're small, even a manual version beats blind single-courier shipping.
- Pull the destination pincode and classify it — metro, tier-1, tier-2, tier-3, or rural.
- Check your own courier-level RTO history for that pincode (or that cluster if the pincode is thin on data).
- Shortlist couriers that actually service the pincode with own-network last-mile, not just 'serviceable' on paper.
- Filter by payment mode — for a high-value prepaid order, weight speed and reliability (Blue Dart / Delhivery); for COD to a small town, weight a courier with a strong COD track record there (XpressBees / Ecom Express).
- Rank the shortlist by your historical delivery success for that zone first, then cost, then TAT — success before saving.
- Assign the winner. If it's a flagged high-RTO order, pair the best courier with prepaid or OTP so you're not sending your best truck into a losing hand.
- Log the outcome — delivered or RTO — back against that courier+pincode so next month's decision is sharper.
NDR handling changes everything — and it's courier-specific
Allocation gets a parcel to the right lane. NDR — the non-delivery report you get when a delivery attempt fails — decides whether a struggling parcel gets rescued or written off. And how NDR works is very different across couriers.
Some couriers auto-reattempt and their own system calls the customer before returning. Others dump the parcel into NDR after one miss and expect you to log into the panel and push a reattempt within the SLA window, or it auto-RTOs. If you don't know which of your couriers is which, you're losing recoverable orders by default.
- The moment an NDR fires, reach the customer yourself — don't wait for the courier. A WhatsApp message with the tracking link and a 'confirm your address / pick a reattempt slot' prompt recovers a big share of NDRs.
- Push the reattempt in the courier panel within their SLA — some give 24-48 hours before auto-RTO, and missing it means the parcel starts coming back on its own.
- For a repeat NDR on the same parcel, switch tactics: offer a prepaid convert, a partial-COD, or reconfirm the address before the third attempt burns.
- Track which couriers auto-reattempt versus which need manual pushes, and staff your NDR desk around the manual ones.
This is deep enough that it deserves its own read — the full workflow is in the NDR management guide, and it pairs directly with allocation: the best courier for a lane is often the one with the most forgiving, best-communicated NDR process, not just the fastest raw TAT.
You can't allocate what you don't measure
All of this collapses if you're not tracking courier-level RTO per zone. National RTO percentage on your dashboard is a vanity number. What you need is a cut of RTO by courier and by pincode cluster, refreshed monthly, so you can see the specific lanes where a courier is failing you.
A minimum viable version of the report:
| What to track | Cut it by | Why it matters |
|---|---|---|
| RTO rate | Courier × pincode cluster | Reveals which lanes to reassign |
| Delivery TAT | Courier × zone | Slow lanes RTO more — catch them early |
| NDR-to-delivery recovery | Courier | Shows who rescues vs who writes off |
| COD vs prepaid RTO | Courier | Some couriers handle COD far worse |
Once you have this, allocation stops being opinion and becomes arithmetic. You'll find lanes where your 'default' courier is quietly bleeding you and a secondary partner would deliver 10-15 points better. Move those. Recheck next month. It's unglamorous, ongoing housekeeping, and it's one of the most reliable RTO reductions available — more dependable, honestly, than most checkout tweaks.
How this sits with the rest of your RTO work
Courier allocation is the operational layer of RTO — it works on the parcel after the order is confirmed. It stacks on top of, not instead of, the demand-side work: risk-scoring orders before they ship, cleaning up the reasons COD orders fail at delivery, and pushing risky COD to prepaid. Think of it this way — scoring decides whether and how to ship, allocation decides who carries it, and NDR decides whether a stumble becomes a loss. Get all three working and the compounding effect on your RTO line is bigger than any single one alone. The wider frame is in the RTO reduction playbook.
If you take one thing from this: stop shipping everything through one courier because the rate looks good. The rate card is the smallest number in the RTO equation. Route by who actually delivers to that pincode, feed the outcomes back, and let cheap freight lose to reliable freight — because on a bounced parcel, cheap freight was never cheap.
Route every order to the courier that delivers
Kwikfy scores each order's RTO risk and helps you push risky COD to prepaid before it ships — so your courier allocation starts from a cleaner, lower-risk order book.
Start Free →