RTO Isn’t Logistics. It’s the P&L Line You Never Named
- Direct RTO revenue loss (narrow)
- 4–8%
- Fully-loaded RTO cost
- 8–15%
- COD RTO in fashion
- 28–40%
- Prepaid RTO, same channels
- <2–6%
Four numbers, four different altitudes — revenue vs. fully-loaded cost, COD vs. prepaid.
The number you’re reading wrong
Return-to-origin — an order that’s shipped, attempted, and refused or undelivered, then shipped back to you — is usually reported as a single blended percentage on a courier dashboard. That number is real, but it’s the wrong altitude. It tells you how often a parcel bounces. It tells you nothing about what each bounce costs, which payment mode is driving it, or how much of your gross margin it’s already spent before you noticed.
Two figures sit inside that “4–8%.” The narrow cut is the revenue value of orders that never complete — an operator-derived working range that surfaces consistently across trade sources like HillTeck, not a single audited study. The fuller cut — 8–15% — adds in what most founders forget to count: blocked working capital, wasted customer acquisition spend, and product damage. If you’re only tracking the narrow number, you’re underestimating your real exposure by roughly double. COD RTO in fashion specifically runs 28–40%, the worst category in Indian e-commerce, against under 2–6% for prepaid on the same channels.
What changed, and why COD isn’t going anywhere
Through 2023 into early 2025, RTO in Indian D2C was almost entirely a logistics conversation — brands benchmarked their blended rate, hired ops leads to chase courier non-delivery reports (NDRs), and called it done. Two things shifted that through 2025–26. First, CAC kept climbing across every performance channel, which means every RTO’d order isn’t just a lost sale — it’s ad spend that bought nothing. Second, ONDC, quick commerce and social-commerce funnels pushed more low-intent, COD-heavy traffic into checkout, keeping cash-on-delivery structurally high even as prepaid incentives multiplied.
Estimates of COD’s share of Indian e-commerce orders vary by source — Shiprocket’s most recent trend data puts it near 39%, while ET Prime Research (via Dazeinfo) puts it at 60–65%. Nobody’s lying — the gap is category and platform mix. What’s not contested: fashion and social-commerce funnels skew meaningfully more COD-heavy than the national blended average, which is exactly the audience reading this.
COD isn’t a minority payment mode you can wish away. In COD-dependent categories it’s the majority of your checkout volume. The defensible move isn’t “kill COD” — the evidence doesn’t support that as a blanket call for most fashion D2C brands. The move is redesigning how COD is priced and collected.
What’s actually inside a failed COD order
Most founders count one line when an order comes back: the return shipping fee. That’s the smallest piece.
| Cost component | Range per order | Source |
|---|---|---|
| Forward shipping (already spent, unrecovered) | ₹50–120 | HillTeck |
| Return/reverse shipping | ₹50–100 | HillTeck |
| Repackaging | ₹15–40 | HillTeck |
| Product damage | 5–12% of order value | HillTeck |
| Wasted CAC (ad spend on an order that never lands) | ₹150–500 | HillTeck |
| Direct logistics only, total | ₹150–300/parcel | ClickPost, via First Resort |
| Fully loaded, total | ₹450–900/parcel | ClickPost, via First Resort |
That gap — ₹150–300 versus ₹450–900 — is the whole argument in one row. If your finance model only counts direct logistics, you’re pricing against a number that’s 40–65% smaller than what’s actually leaving your P&L.
There’s a fifth cost most trackers miss entirely, and it doesn’t show up as a rupee figure on day one — it shows up as a cash-flow problem three weeks later.
- Day 0 Order shipped, COD collection is pending, inventory is off your shelf and off your books as “sold.”
- Day 3–7 Delivery attempted and refused, or non-delivery report raised; parcel begins its return transit.
- Day 7–14 Parcel arrives back at warehouse; queued for quality check.
- Day 10–21 QA completed, stock re-shelved (if undamaged) or written off.
- Day 21+ Only now is the inventory value actually available again for the next buy or the next ad flight.
₹3.75L frozen · ₹15L batch · 25% RTO rate — money that isn’t in your bank account and isn’t on your shelf, funding nothing. Source: base.com
What it costs you, worked through
Take a ₹40L/month fashion D2C brand: 60% COD mix, ₹1,200 AOV, running the fashion-typical 35% COD RTO rate.
Monthly orders: ≈8,400. COD orders (60%): ≈5,040. COD RTOs (35%): ≈1,764. Fully-loaded cost per RTO (mid-range): ₹500. Monthly RTO cost from COD alone: ₹8.8L — roughly 22% of monthly revenue, before blocked working capital is even counted.
Now run it against margin, not revenue, because margin is what actually funds your next ad flight. Take the broader 8–15% fully-loaded benchmark — well below this brand’s own 22% above — against a 55% blended gross margin, and RTO alone is consuming 15–27% of that margin even in the average case. The “55% margin” line in your investor deck or your CAC-payback spreadsheet is really closer to 40–47% once RTO is priced in — and if nobody on your team has run this calculation, that gap is currently invisible to you.
The three levers, and why they have different owners
Founders default to one lever — usually “reduce the RTO rate” — because it’s the one their fulfilment team can act on. There are three, and they sit in three different departments.
NDR management, address verification, pre-delivery confirmation calls. This is the well-covered playbook — Unicommerce’s festive-season data shows it working, RTO falling from 39.2% in November 2025 to 21.0% by March 2026. It shrinks the rate. It does not remove the underlying exposure — COD-heavy categories still carry it structurally.
Partial-COD or deposit-at-checkout: collect a token amount (₹99, or 30% of order value) upfront, balance on delivery. Razorpay cites a ₹99-advance model delivering roughly 60% lower RTO, and a Borosil Magic Checkout case study cutting RTO 36.36% — both are vendor-published figures, plausible directionally but not independently audited. Treat them as an upper bound, not a guarantee.
Build a category-specific RTO reserve into landed cost, the same way you already build in payment gateway fees or courier charges. A ₹999 SKU in a 35%-COD-RTO category isn’t really priced at ₹999 margin — it’s priced at ₹999 minus whatever RTO reserve you haven’t yet subtracted.
None of these levers replaces the others. Ops fixes shrink the rate. Checkout design shrinks the volume that hits the rate. Pricing makes sure the exposure that remains doesn’t quietly erase your margin forecast.
Should you redesign your COD checkout? Score it.
Score each factor 0–2 (0 = not a concern, 1 = moderate, 2 = high). The running total resolves into one of three recommendations.
- Pull last month’s RTO rate split by payment mode — COD versus prepaid, separately, not blended
- Run the True RTO Cost Calculator above using your own AOV, COD share, and margin
- Compare the output to the 4–8% narrow / 8–15% fully-loaded benchmark range — know which one you’re actually looking at
- Identify your single highest-RTO SKU category and price a specific RTO reserve into its landed cost
- Pilot partial-COD or deposit checkout on that one category only, for one full cycle, before rolling wider
- Add “RTO as % of gross margin consumed” as a standing line in your monthly finance review, next to CAC payback
The decision, not a definition
If you take one number from this piece, take this: RTO as a share of revenue is a headline. RTO as a share of gross margin consumed is the number that should change what you do next. Run the calculator, find your own figure, and decide — this quarter — whether you’re funding a rate-reduction project, a checkout pilot, or a repricing exercise. Doing nothing is also a decision; it’s just the one that keeps costing you 15–27% of the margin you thought you had.
- Direct/narrow RTO revenue loss (4–8%) and fully-loaded cost (8–15%) → HillTeck
- Fashion COD RTO range (25–40%), COD vs prepaid gap, Unicommerce FY23 and festive-season data, per-parcel cost range (₹150–300 / ₹450–900) → First Resort research synthesis
- Blended India e-commerce RTO rate (~20–25%, up to 40%) → EasyInsights
- COD RTO rate, network-wide (26%) → Shipway “ShipNotes” via Mediabrief
- COD order failure rate (~25–30%), COD order share (39% vs 60–65%), prepaid failure rate (2–3%) → Dazeinfo, citing ET Prime Research
- Blocked working capital, 10–21 day inventory lockup → base.com
- Partial-COD mechanic, COD adoption context, vendor RTO-reduction claims (Borosil, ₹99-advance model) → Razorpay
- D2C fashion gross margin ranges → The D2C Pulse
Yes, for the category specifically — GoKwik-cited network data puts fashion COD RTO in the 25–40% range, and Unicommerce’s audited FY23 data shows COD RTO at 20.9% against prepaid’s 5.8%, a 3.6x gap. Blended India e-commerce RTO sits lower, around 20–25% on average.
No — the evidence doesn’t support it as a blanket move. COD share of Indian e-commerce orders runs anywhere from ~39% to 60–65% depending on the source, and it’s structurally higher in Tier-2/3 and social-commerce funnels — categories many fashion D2C brands depend on for volume. Redesign COD collection instead of removing it.
Direct logistics alone runs ₹150–300 per parcel; fully loaded, including wasted ad spend, packaging and handling, it’s ₹450–900. If your finance model only counts the return shipping fee, you’re missing most of the real number.
Vendor case studies suggest meaningfully — Razorpay cites a ₹99-advance model with roughly 60% lower RTO and a Borosil case study of 36.36% — but these are self-published, not independently audited figures. Pilot on your highest-RTO SKU segment and measure your own result before scaling.
No — it’s an operator-derived working range that surfaces consistently across trade sources like HillTeck, not a single named study. The same sources put the fully-loaded cost, once blocked capital and wasted CAC are included, at 8–15% of revenue. Use both figures together, not the narrow one alone.
Split your RTO reporting by payment mode before your next ops or ad-spend approval. A blended “28%” hides a COD number that’s likely double your prepaid number — you can’t fix, price, or pilot against a rate you haven’t decomposed.
Admit one to the Vibe Community
No cost, no catch — just more of the margin math ASVS runs on D2C operations like RTO, delivered as it lands.
Redeem Your Invite →The RTO math starts with the product page, not the courier.
Run a Visual Conversion Checklist audit on your product pages before your next COD pilot — fix what’s driving the refusal, not just what’s collecting the deposit.

