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 ACourier B
Forward rate per parcel₹68₹78
COD RTO26%15%
Cost per COD shipment, incl. RTO freight₹86₹90
Delivered COD orders per 100 shipped7485
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

  1. Default courier by region, chosen on cost per delivered order.
  2. COD routed to the courier with the best COD delivered rate where several serve the pincode.
  3. Prepaid-only pincodes where no courier delivers COD well.
  4. 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

How to set break-even ROAS for every campaign A step-by-step method for working out the ROAS each campaign needs to make money, from your own margins, and using it to decide what to fix, cut and scale. How to calculate contribution margin for a Shopify store A step-by-step guide to CM1, CM2 and CM3 for D2C brands: what goes in each layer, the costs most brands miss, and how to turn it into a daily number.