DEV Community

botsense seo
botsense seo

Posted on Originally published at botsense.io

COD Verification and RTO: Why the Numbers in This Market Do Not Add Up

What COD verification claims to do

The mechanism is straightforward. A cash-on-delivery order carries no payment commitment, so nothing at checkout confirms buyer intent, address accuracy, or phone number validity. An automated call placed shortly after checkout tests all three before the parcel enters fulfillment.

That much is sound. The disagreement starts at the number attached to it.

Vendor claim RTO reduction Cost per RTO Source given
Vendor A 30–45% None
Vendor B ₹400–600 None
Vendor C ₹180–240 None
Vendor D 30–40% ₹200–500 None at the time of writing

Cost per RTO varies by more than three times between vendors describing the same operation in the same market. The reduction percentages sit in a band wide enough to be unfalsifiable.

The base rate is contested, not settled

To claim a reduction you need a starting point, and the starting point is not agreed.

According to GoKwik: "COD orders in Indian e-commerce see RTO rates of nearly 26%, compared to less than 2% for prepaid orders."

Unicommerce reports differently. Based on 410 million tracked shipments across more than 6,000 D2C brands, during the festive quarter "COD orders returned at 58%", against prepaid "under 15%."

Both are first-party platform data. Neither is citing a blog. And they disagree by more than double at the peak.

If your baseline could be 21% or 58% depending on the month, a vendor promising to cut it by "30 to 40%" has told you nothing you can hold them to.

The most repeated fact has no source

Almost every article on this subject opens with a version of the same line: roughly 60% of Indian e-commerce orders are cash on delivery.

That figure traces back to ET Prime Research in 2024 through secondary write-ups, yet the original remains unreachable. Bain & Company's How India Shops Online contains no absolute COD share figure. Unicommerce publishes return rates but explicitly not the COD share of orders.

That does not make the figure wrong. It makes it uncheckable — which is a different problem and in some ways a worse one.

What is actually sourced is the timing, not the reduction

One figure in this space comes with a named source: GoKwik states "Send confirmation within 5 minutes of order placement (response rates drop 40% after 30 minutes)."

This is still the most actionable thing published on the subject, because it describes a window rather than an outcome. The typical manual process misses it entirely — the calling team works through the queue the following morning, by which time the window has been closed for approximately fourteen hours.

What COD verification should be measured on

Since reduction figures are not checkable, measure the things that are:

  • Time from order placement to first call attempt (minutes, not hours)
  • Connect rate: what proportion of calls are answered
  • Confirmation rate: of those answered, how many confirm the order
  • RTO rate on confirmed orders versus unconfirmed orders in the same period and category
  • Your own fully loaded cost per RTO: forward shipping, reverse shipping, packaging, handling

The fourth metric settles it. Comparing confirmed against unconfirmed orders in your own data, in the same weeks and same categories, tells you what verification is worth to you. No industry average can do that.

Run it for one month before signing anything longer than a month.

Including our own numbers

Botsense sells AI calling, including COD verification. Our own pages carried RTO reduction percentages with no source attached, in the same shape as the table above.

We are correcting them. A post arguing that unsourced percentages are worthless would be worth nothing if it quietly exempted the company publishing it.

What we can tell you honestly: we do not know what COD verification will do to your RTO rate, because it depends on your categories, your pin codes, your season, and your current process. If a vendor gives you a percentage instead, ask where it came from. The answer is the useful part.

Top comments (0)