arrow-img

All Articles

Was Your Festive Sale Profitable? A Post-Diwali P&L Check

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.

₹40 lakh festive GMV shrinking to ₹3.2 lakh left after RTO, returns, GST and ads

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

Festive GMV₹40.0 lakh
Money kept after RTO and returns₹27.2 lakh
Net revenue after GST₹25.9 lakh
Contribution before ads₹13.2 lakh
Contribution after ads₹3.2 lakh

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

COD RTO at 30%₹3.20 lakh
COD RTO at 20%₹4.51 lakh

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?

1

Fix your measurement window

Mark the date the last festive order’s return window closes. Don’t report festive profit before that.

2

Pull orders by final status

Export every festive order as delivered, RTO, returned or exchanged. Split by COD and prepaid.

3

Fill in the five-number scorecard

Do it for the season as a whole, then for your top 10 SKUs.

4

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.

5

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.

6

Reset your ROAS target

Calculate break-even ROAS from real contribution margin, and set your target above it for wedding season and EOSS.

7

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.

8

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

₹40 lakh festive GMV shrinking to ₹3.2 lakh left after RTO, returns, GST and ads

Was Your Festive Sale Profitable? A Post-Diwali P&L Check

Schedule a free call

Trusted by 235+ brands