By Ashish Rai, CEO, Purple Circle · October 2026 · 8 min read
Festive GMV is not festive profit. For a fashion D2C brand in India, ₹40 lakh of festive orders can turn into only about ₹27 lakh of money actually kept, and roughly ₹3 lakh of contribution after ad spend. The only way to check your festive sale profit is to wait for returns to close, then work from GMV down to contribution margin.
🪔 The 30-second version
- Your dashboard counts orders placed. Your bank counts orders delivered, kept and paid for.
- In festive fashion, COD RTO, size returns, GST and costlier ads sit between those two numbers.
- A 4x ROAS in Ads Manager can be a 2.6x real ROAS once returns are counted.
- Cutting COD RTO usually adds more profit than finding a better creative.
It’s the most common question founders ask in November. “We did our biggest month ever. So why is there no cash in the bank?”
The answer is almost always sitting between the Shopify dashboard and the bank statement. If you read whether your Diwali sale would make money before the season, this is the other half: checking whether it actually did.

Why does festive GMV hide losses in fashion?
Your Shopify dashboard counts an order the moment it is placed. In fashion, the gap between that and real money is wider than in almost any other category, and the festive season makes it wider still. Here are the five leaks.
📦 COD RTO eats the top line
Fashion RTO in India runs 25 to 40% on average, while top performers manage 12 to 18% (Base, 2026). Every RTO costs shipping both ways and earns nothing.
👗 Size returns come after the party
Festive wear is fitted and bought for a date. If it doesn’t fit before the function, it comes back two to three weeks after Diwali.
🧾 GST is not your money
Apparel up to ₹2,500 per piece attracts 5% GST, and above ₹2,500 it attracts 18%. A ₹3,200 lehenga set hands over about 15% as tax.
📈 Discounts and ad costs peak together
CPMs climb as every brand pushes spend into the same three weeks. You pay more per order and give away more per order.
🎭 Ads Manager ROAS flatters it all
Meta reports ROAS on orders placed, at full value, including GST. It doesn’t know which orders came back.
How much of ₹40 lakh festive GMV is actually profit?
Take an illustrative ethnic wear brand. These are example numbers, not client data. It did ₹40 lakh of festive GMV: 2,000 orders at a ₹2,000 average order value, after discounts. COD was 60% of orders. Ads Manager showed ₹10 lakh of spend at a 4x ROAS. Everyone was happy.
Where ₹40 lakh of festive GMV went
Here is the full breakdown, line by line.
| Step | What happened | Amount |
|---|---|---|
| Festive GMV | 2,000 orders × ₹2,000 | ₹40,00,000 |
| Less RTO | 30% of 1,200 COD + 5% of 800 prepaid = 400 orders | − ₹8,00,000 |
| Less returns | 15% of 1,600 delivered orders refunded = 240 orders | − ₹4,80,000 |
| Money kept, incl. GST | 1,360 orders | ₹27,20,000 |
| Less GST at 5% | Every piece under ₹2,500 | − ₹1,29,524 |
| Net revenue | ₹25,90,476 | |
| Less product cost | ₹650 per kept order | − ₹8,84,000 |
| Less damaged returns | 10% of returned units unsellable | − ₹15,600 |
| Less shipping | ₹90 forward on 2,000, ₹90 back on 400 RTO, ₹120 pickup on 240 returns | − ₹2,44,800 |
| Less packaging | ₹30 × 2,000 orders | − ₹60,000 |
| Less payment costs | 2% gateway on prepaid, ₹40 fee per delivered COD order | − ₹65,600 |
| Contribution before ads | ₹13,20,476 | |
| Less ad spend | − ₹10,00,000 | |
| Contribution after ads | 8% of GMV | ₹3,20,476 |
Ads Manager ROAS
4.0x
Real ROAS (net revenue ÷ ads)
2.6x
Break-even reported ROAS
3.0x
Three things stand out. First, the real ROAS is not 4x. Net revenue of ₹25.9 lakh on ₹10 lakh of ads is about 2.6x, and that is the number your business lives on.
Second, ₹3.2 lakh is before salaries, rent, the agency, apps and creator fees. If those run at ₹4 lakh a month, this record festive month lost money.
Third, contribution before ads is 33% of GMV, so break-even reported ROAS is about 3x (₹40 lakh ÷ ₹13.2 lakh). The brand ran only one point above break-even and called it a great season. If you want the full method, here’s how to work out festive break-even ROAS with RTO and COD.
The lever that matters most: COD RTO
Run the same month with COD RTO at 20% instead of 30%. Same ads, same discounts, same products.
Contribution after ads, same ₹10 lakh ad spend
About 40% more profit without spending one rupee more on ads.
In festive fashion, fixing who gets COD is usually worth more than finding a better creative.
What should I check after my festive sale?
You don’t need a finance team. Once the return window has closed, pull your order export and fill in these five numbers. The example column uses the brand above.
| Number | How to calculate it | Example | What it tells you |
|---|---|---|---|
| Realisation rate | Money kept (incl. GST) ÷ GMV | 68% | How much of the headline number was real |
| COD RTO rate | COD orders returned to origin ÷ COD orders shipped | 30% | Whether COD costs more than it brings in |
| Refund rate | Orders refunded ÷ orders delivered | 15% | How much of the return problem leaves as cash |
| Net ROAS | Net revenue (excl. GST) ÷ ad spend | 2.6x | Your real return on ads, not Meta’s |
| Contribution after ads | Net revenue − product, shipping, packaging, payment and ad costs | ₹3.2 lakh | Whether the season paid for itself |
If your realisation rate is under 70%, or your net ROAS is less than two-thirds of your reported ROAS, the problem is not your ads. It’s what happens after the order is placed.
Which mistakes kill festive margin?
| Mistake | What actually happens |
|---|---|
| Closing the books too early | You judge the season on orders, not money. Wait until the last order has passed its return window and RTO cycle. |
| Scaling on reported ROAS | Budgets go up mid-sale because Ads Manager shows 4x. If break-even is 3x, one bad RTO week wipes out the gain. |
| COD for everyone | High-RTO pin codes and high-value fitted pieces leak the most. They need partial prepaid or prepaid-only rules. |
| Flat discounts on low-ticket SKUs | 30% off a ₹999 top leaves almost nothing after shipping and ads. Here’s why small orders lose money. |
| Pricing festive pieces just above ₹2,500 | A set at ₹2,599 pays 18% GST. The same set at ₹2,499 pays 5%. |
| Treating festive buyers like loyal customers | Many came for the discount. Discount-acquired customers tend to repeat less, so don’t count their lifetime value before you’ve seen it. |
What should I do in the next 30 days?
Fix your measurement window
Mark the date the last festive order’s return window closes. Don’t report festive profit before that.
Pull orders by final status
Export every festive order as delivered, RTO, returned or exchanged. Split by COD and prepaid.
Fill in the five-number scorecard
Do it for the season as a whole, then for your top 10 SKUs.
Find your RTO pin codes
Rank pin codes and states by COD RTO. The worst 10 to 15% usually carry a large share of the losses.
Find your return SKUs
List styles with the highest refund rate. It’s usually a size chart, fabric description or photo that doesn’t match.
Reset your ROAS target
Calculate break-even ROAS from real contribution margin, and set your target above it for wedding season and EOSS.
Change COD rules before the next sale
Add a prepaid incentive, restrict COD on high-RTO pin codes, and consider partial prepaid on higher-value orders.
Follow up without another discount
A WhatsApp flow on styling, new arrivals and exchanges brings some festive buyers back at full price. If you’re also sitting on stock, see what to do with leftover stock after Diwali.
FAQ
How do I calculate the profit from my festive sale?
Start with GMV, then subtract RTO orders, refunded returns and GST to get net revenue. Then subtract product cost, shipping both ways, packaging, payment fees and ad spend. What is left is your contribution after ads.
What is a good ROAS for a fashion brand during the Diwali sale?
There is no single good number. It depends on your margin, COD share and RTO. Calculate your break-even ROAS as GMV divided by contribution before ads, then aim comfortably above it. In the example in this post, break-even was about 3x.
When should I calculate my festive sale results?
After the last festive order has passed its return window and RTO cycle. That is usually two to three weeks after the last dispatch, so early December for a Diwali on 8 November.
Is 30% RTO normal for a fashion brand on COD?
It is common. Fashion RTO in India averages 25 to 40%, but better-run brands get it down to 12 to 18%. Normal and acceptable are not the same thing.
Should I stop COD during the festive season?
Usually not. Removing COD fully can cut conversions sharply in tier 2 and tier 3 cities. Restrict it on high-RTO pin codes and high-value orders, and give buyers a clear reason to pay online.
Does GST really affect my festive margins?
Yes. Apparel up to ₹2,500 per piece attracts 5% GST, and above ₹2,500 it attracts 18%. A festive piece priced just above the line hands over far more of its price as tax.
Not sure where your festive margin went? Purple Circle can review your unit economics with you. You can also see how we work in our case studies.
— Ashish Rai, CEO, Purple Circle
Was Your Festive Sale Profitable? A Post-Diwali P&L Check
Trusted by 235+ brands