Most courier decisions are made on the rate card. That is like choosing an ad platform on its CPM. The number that matters is what it costs to get an order delivered and paid, and that depends on how often the courier fails.
This is the method I use to compare couriers on a brand’s own shipments.
Collect the right data
For every shipment you need:
- The AWB, the courier and the order it belongs to
- Payment mode: prepaid or COD
- Outcome: delivered, returned to origin, or still moving
- Dates: shipped, delivered or returned
- Delivery attempts
- Charges: forward freight, RTO freight, COD handling and anything else on the invoice
- Destination pincode
Shopify fulfilments carry the tracking number and courier. Aggregator dashboards and courier APIs carry status and dates. Courier invoices and MIS files carry the charges. Joining them on AWB is the work.
Compare like with like
Couriers serve different places. If one courier handles your metro orders and another your rural orders, comparing their overall RTO rates tells you about geography, not couriers.
So compare couriers on the pincodes or states they both serve, and on COD separately from prepaid. Use only shipments that have finished, from a period old enough for returns to have arrived.
The five numbers
1. Delivered rate. Delivered ÷ (delivered + returned). The headline.
2. COD RTO. Returned COD orders ÷ finished COD orders. The number that most often separates couriers, and the most expensive.
3. First-attempt delivery. Delivered on the first attempt ÷ delivered. A leading indicator: couriers that need several attempts produce more RTO later.
4. Days to deliver. From order or pickup to delivery, as a median. Slower delivery means more cancellations and more refused COD parcels.
5. Cost per delivered order. Total charges, including RTO freight, divided by delivered orders. This is the true price.
Cost per delivered order changes the ranking
Take two couriers on the same lanes:
| Courier A | Courier B | |
|---|---|---|
| Forward rate per parcel | ₹68 | ₹78 |
| COD RTO | 26% | 15% |
| Cost per COD shipment, incl. RTO freight | ₹86 | ₹90 |
| Delivered COD orders per 100 shipped | 74 | 85 |
| Cost per delivered COD order | ₹116 | ₹106 |
Courier A is cheaper on the rate card and more expensive per delivered order, before counting the packaging, product damage and lost revenue on the extra returns. The brand moving COD volume from A to B on shared pincodes saves money and sells more.
Turn the comparison into rules
- Default courier by region, chosen on cost per delivered order.
- COD routed to the courier with the best COD delivered rate where several serve the pincode.
- Prepaid-only pincodes where no courier delivers COD well.
- A monthly review, because courier performance shifts with seasons, hubs and volumes.
Share the numbers with your courier account managers. A courier shown its own RTO rate by pincode, next to a competitor’s, tends to find capacity and attention it did not have before.
Watch the money after delivery
Delivery is not the end. Track COD remittance: the cash couriers still hold, the oldest delivered order not yet paid, and the usual number of days to remittance. A courier that delivers well but remits slowly is borrowing your working capital.
Do it with Gran
Gran Delivery does this from your own shipments: couriers ranked on delivered rate, COD RTO, prepaid RTO, speed, first-attempt delivery and cost per shipment, measured on settled orders, with the best and worst on COD named. It reads tracking from Shopify, Shiprocket, Delhivery, NimbusPost, iThink Logistics, Shipway and ClickPost, and charges from any courier’s invoice.

Shiva Sharma is a global growth marketing leader and the author of The Movement and Nobody Is Thinking About You. More about Shiva