Most sellers choose a cash on delivery courier the way they choose a supplier: by asking for the price per parcel and taking the lowest. It is the wrong number. The price per parcel is a cost you pay on every order. The delivery rate is a revenue you only collect on some of them, and it is far larger.
This article compares two couriers properly, on the money that actually reaches your bank, and lists what to ask before signing.
The comparison that matters
Two couriers quote on 1,000 parcels a month. Product cost 14, order value 45, in local currency.
| Courier A | Courier B | |
|---|---|---|
| Price per parcel | 2.60 | 3.40 |
| Return fee | 1.80 | 2.40 |
| Delivery rate | 68% | 79% |
| Remittance cycle | 12 days | 6 days |
Courier A is 31% cheaper per parcel. On 1,000 parcels that is 800 saved a month, and it is the figure most sellers decide on. Here is what each one actually produces:
| Courier A | Courier B | |
|---|---|---|
| Delivered | 680 | 790 |
| Returned | 320 | 210 |
| Revenue collected | 30,600 | 35,550 |
| Product, delivery and return costs | 12,696 | 14,964 |
| Gross profit before ads | 17,904 | 20,586 |
The expensive courier earns 2,682 more a month on identical orders. Eleven points of delivery rate are worth 4,950 in collected revenue, which swamps the 800 saved on shipping. Courier B also holds your cash half as long, which is a second advantage the quote never mentions.
None of that means expensive is better. It means the two numbers have to be compared in the same sentence. A courier at 2.60 with a 79% delivery rate would beat both.

How to find your real delivery rate per courier
You cannot compare couriers on a rate nobody is measuring. Two rules make the comparison honest:
- Count from orders placed, not parcels shipped. A courier who refuses to collect in a region is not helping you by keeping that parcel out of their statistics.
- Compare the same cities over the same weeks. A courier tested only on your capital-city orders will look better than one carrying your rural tail. Split the trial by region or give both the same mix.
If you do not have a delivery rate yet, start recording outcomes before you start shopping for carriers. There is a method for building the number from nothing in the confirmation rate guide, and the per-order arithmetic sits in what a cash on delivery order really earns.
Run two couriers, not one
Splitting volume between two carriers is standard practice among sellers at any scale, for four reasons that have nothing to do with price:
| Reason | What it protects against |
|---|---|
| A live comparison | A delivery rate quoted in a sales meeting versus one measured on your own parcels |
| Coverage | Most carriers are strong in some regions and weak in others; splitting by region beats averaging |
| Negotiating position | A courier who knows they hold all your volume has no reason to improve |
| Continuity | Strikes, system outages and account suspensions happen, and a single carrier is a single point of failure |
A second benefit shows up in your bank account: two carriers on different remittance schedules spread the money through the month instead of delivering it in two lumps, which lets a smaller float cover the same spend. See COD cash flow and remittance cycles for why that matters.
What to ask before signing
On delivery
- Delivery rate for sellers in my category, measured on orders placed rather than parcels shipped.
- How many delivery attempts are made before a parcel is returned, and is the second attempt charged.
- Is the customer called before the driver arrives, and by whom.
- Which regions are served by your own fleet and which are subcontracted.
- What proportion of parcels in my main regions are delivered inside two days.
On money
- Remittance cycle, counted from customer payment to cleared funds, not from scan.
- Return fee, and whether it applies to a refused parcel and an undeliverable one alike.
- Cash handling or collection fee as a percentage, if any, on top of the parcel price.
- Dispute window for a parcel marked delivered with no cash remitted.
- What happens to the fee if a parcel is lost.
On systems
- Can tracking numbers be pushed back to my store automatically.
- Do I get a per-parcel outcome export, or only a statement total.
- Is there a pickup request API, or is it a phone call every morning.
- Who do I contact for a stuck parcel, and what is the answer time.
Ask the last group in writing. A courier who cannot export per-parcel outcomes makes it impossible to audit the first group, which is usually why they cannot.
Red flags
| Signal | What it tends to mean |
|---|---|
| A delivery rate quoted with no definition | The number counts parcels shipped, not orders placed |
| No per-parcel outcome export | You will not be able to verify anything they tell you |
| Remittance cycle described as “weekly” with no day | The cycle is longer than a week in practice |
| Return fee not in the contract | It will appear on the statement |
| Pressure to commit all volume for a better rate | The rate is paid for with your ability to compare |

Running a fair trial
Four weeks is the shortest trial that means anything, because a month contains a payday, a slow week and at least one public holiday somewhere.
- Split by region, not randomly, if your couriers have different strengths. Give each the areas they claim.
- Keep the product mix the same. A heavier or higher-value basket changes refusal behaviour.
- Do not change your confirmation process mid-trial, or you will not know which change moved the number.
- Record outcomes yourself rather than taking the courier statement as the record.
At the end, run the table at the top of this article with your own figures. The winner is whichever produces more gross profit on the same orders, not whichever quoted less.
The short version
Price per parcel is a small number multiplied by every order. Delivery rate is a large number multiplied by your revenue. Compare couriers on delivered orders, measure the rate yourself from orders placed, run two carriers so the comparison is live, and treat the remittance cycle as part of the price.