The short answer

Most Indian beauty brands cannot tell you which of their SKUs actually make money, because they read profitability at the gross-margin line, where beauty and personal care looks gloriously healthy, commonly 64 to 74 percent and reaching close to 80 percent for a hero D2C product (Inc42). The leak lives below that line, in the gaps between channels. The same lipstick that shows an 80 percent gross margin on your P&L can lose money once quick-commerce fees, RTO on a COD order, freight, and allocated CAC are subtracted at the SKU-times-channel level. Blinkit, Zepto and Instamart retain roughly 30 to 35 percent of the selling price once commissions, storage and fulfilment stack up (Business Standard), and a single return can wipe out the margin on several successful orders. The only way to know which SKUs make money is to build true contribution margin per SKU, per channel. Here is how.

Why gross margin is the wrong health metric

Gross margin answers "what does this product cost to make?" It does not answer "what does this product cost to sell, on this channel, to this customer?", and in Indian D2C the second question is where the money goes. Two SKUs with an identical 72 percent gross margin can have wildly different real economics: one sells prepaid off your own site, the other sells COD through quick commerce with a high return rate. On paper they look the same. In your bank account they are not.

The industry has already moved past gross margin as the health metric. Median D2C contribution margin shrank from around 35 percent in 2021 to roughly 22 percent by 2025 as paid acquisition got more expensive (Fairview), and anything below 20 percent is now a red flag. Beauty should run higher, with healthy contribution margins for the category sitting in the 35 to 55 percent range, but that is contribution margin, measured after every variable cost the channel imposes. The trap is that revenue and cost are recorded in different systems and against different keys. Revenue lands per SKU in your storefront or marketplace settlement report. Cost lands per shipment in your logistics bill, per order in your payment-gateway statement, and per campaign in your ad accounts. Nobody joins them, so the P&L stays blended and the loss-making SKUs stay invisible.

The four costs that eat your margin below the gross line

Channel fees. Your own site is cheap to sell on. A marketplace takes a commission plus fulfilment. Quick commerce is the most expensive door of all: platforms retain 30 to 35 percent of selling price, and total effective take can push to 35 to 50 percent once listing fees, dark-store storage and the ad spend needed to stay visible are counted (ecomdigest). A hero SKU that prints money on your D2C site can be break-even or worse on Blinkit. The pull toward quick commerce is real, since the channel is growing at roughly a 40 percent compound rate per year and pushing into beauty (Mordor Intelligence), but growth on the highest-cost door is exactly where blended reporting hurts you most.

RTO. Return to origin is the silent killer of Indian D2C. National RTO rates run 20 to 30 percent, and in COD-heavy categories they can reach 40 percent (GoKwik). Every RTO is forward freight, reverse freight and often unsellable product, a full loss that must be recovered from the orders that delivered. This matters more than most beauty founders assume, because COD still accounts for a majority of Indian D2C orders and skews higher in Tier-2 and Tier-3 pincodes (Mordor Intelligence). A SKU that indexes toward COD and ships to smaller towns carries a very different real cost than its gross margin implies, and the difference does not show up until you attach the return event back to the specific SKU and channel that produced it.

Freight and fulfilment. Weight, dimensions and destination determine shipping cost, and they vary enormously across your catalogue. A heavy glass-bottle serum and a light sachet do not cost the same to move, even at the same price. Volumetric weight, zone, and whether a courier charges a COD handling fee all feed in. When you average freight as a flat percentage of revenue, you overcharge your light SKUs and quietly subsidise your heavy ones, which distorts every product-level decision you make afterward.

Allocated CAC. Acquisition is a variable cost of the sale, not an overhead. Spread ad spend across the SKUs it actually sold, and some products turn out to be sold at a loss purely to win the customer. That can be a deliberate strategy, a loss-leader that pulls in a first order you monetise on repeat, but it is only a strategy if you know you are doing it. Most brands allocate CAC as a blanket percentage, which hides both the deliberate loss leaders and the accidental ones.

What a SKU-times-channel P&L actually looks like

Here is the shape of the leak. The gross margin column looks uniform and healthy. The true contribution margin column, computed per channel after fees, RTO, freight and CAC, tells a completely different story. Figures below are illustrative, using the industry ranges cited above, and your real numbers come only from your own data.

SKU x Channel Selling price Gross margin Channel + fulfilment RTO loss Allocated CAC True contribution margin
Matte Lipstick, D2C site (prepaid) High ~74% Low Near zero Moderate Healthy, positive
Matte Lipstick, quick commerce High ~74% 30 to 35% of SRP Low Platform ads Thin to break-even
Serum, marketplace (COD) High ~70% Commission + freight 20 to 40% of COD orders High Negative on COD skew
Sachet combo, quick commerce Low ~60% Fixed fees dominate Low High Negative, fixed costs exceed margin

Notice the pattern: the leak is never in one number. It appears only when you cross a SKU with a channel and subtract the costs that channel imposes. That is a data-joining problem before it is a pricing problem. Your marketplace settlement reports, your shipping bills, your RTO logs and your ad-platform spend all live in separate places, denominated differently, and no single report reconciles them.

You can put a rupee figure on this leak.

Our AI Stack Audit x-rays your existing data and quantifies the gap in a fixed two-week engagement. No new tools to buy first.

See how the audit works

Is quick commerce even profitable per SKU?

Sometimes yes, often no, and you cannot tell until you build the SKU-times-channel view. Quick commerce is the highest-cost channel and the fastest-growing, so brands pour SKUs onto it for visibility and treat the whole channel as one blended line. That blend hides the truth: a few high-price, low-return hero SKUs may carry the channel while a long tail of low-price SKUs loses money on every unit, because the platform's fixed per-SKU and per-order fees swamp a thin gross margin. The fix is not to abandon quick commerce. It is to know which SKUs earn their place on it and which should be D2C-only or dropped.

How to build the true-net-margin pipeline

The figures here are industry ranges, not promises, and your real contribution margin could be stronger or considerably weaker. The only way to know is to reconcile your own data. Concretely, that is a five-step pipeline we stand up early in an engagement.

First, land every source into one place: storefront orders, marketplace and quick-commerce settlement files, logistics and courier invoices, payment-gateway statements, and ad-platform spend exports. These arrive as CSVs and API pulls on different cadences, so the first real work is ingestion and scheduling, not analysis.

Second, resolve identity. The same lipstick shade is one SKU code in your storefront, a different listing ID on each marketplace, and a third string in the quick-commerce catalogue. Build a mapping table so every row across every source resolves to a single canonical SKU. This step alone surfaces duplicate listings and orphaned SKUs that were never selling anything.

Third, attribute each variable cost to the order that caused it. Freight from the courier invoice attaches by AWB to the shipment. RTO loss attaches to the returned order as forward plus reverse freight plus a write-off flag for unsellable stock. Channel commission comes straight off the settlement line. CAC allocates from campaign spend down to the SKUs each campaign actually sold, using the ad platform's own conversion data rather than a flat percentage.

Fourth, compute contribution margin per row: selling price, minus product cost, minus channel and fulfilment fees, minus attributed RTO loss, minus allocated CAC. Roll that up two ways, by SKU and by SKU-times-channel, so you can see both the product verdict and the channel verdict.

Fifth, put it in front of the people who make listing and pricing calls. A weekly refreshed view that ranks SKUs by true contribution margin per channel turns "our margins look fine" into a specific list: which SKUs make money on which channel, which are quietly cross-subsidised by your winners, and which should come off a channel entirely.

Our AI Stack Audit does exactly this. We x-ray your D2C, marketplace and quick-commerce data, quantify the leak, and show you the SKUs and channels costing you most. For how we work with beauty and D2C brands specifically, see our D2C and e-commerce practice page.

Key takeaways

  • Gross margin is the wrong health metric for a beauty brand. BPC gross margins of 64 to 74 percent hide the costs that only appear below the line.
  • The four costs that eat margin per SKU are channel fees, RTO, freight and fulfilment, and allocated CAC. Quick commerce alone can retain 30 to 35 percent of selling price.
  • The same SKU can be profitable on your D2C site and loss-making on quick commerce or COD marketplace. Profitability is a SKU-times-channel figure, not a product figure.
  • Median D2C contribution margin has fallen from about 35 percent to roughly 22 percent since 2021. The only reliable number is the one you get from reconciling your own settlement, shipping, RTO and ad data.

Frequently asked questions

Which of my beauty SKUs actually make money after shipping, CAC and returns?

You can only tell by computing true contribution margin per SKU, per channel: gross margin minus channel fees, freight, RTO loss and allocated CAC. A SKU that looks like an 80 percent-margin winner on paper can be break-even or negative on quick commerce or a COD-heavy marketplace once those costs are subtracted.

Why doesn't my revenue growth match my profit growth?

Because revenue is reported per product while cost is imposed per channel, and the two never get joined. Growth that comes from the highest-cost channels, quick commerce and COD, can add top-line while subtracting contribution margin. Reconciling SKU sales against channel-level costs is what exposes the gap.

What contribution margin should each order hit for a beauty brand?

Healthy D2C contribution margins for beauty typically sit in the 35 to 55 percent range, and category-wide anything below 20 percent is a red flag. Those are benchmarks, not targets for your brand. Your real figure depends on your channel mix, RTO rate and CAC, which is why it has to be measured from your own data.

Is quick commerce profitable per SKU?

It varies sharply by SKU. Platforms retain roughly 30 to 35 percent of selling price, so high-price, low-return hero SKUs can work while a long tail of low-price SKUs loses money on every unit because fixed per-SKU and per-order fees exceed the gross margin. You need the SKU-times-channel view to know which is which before you decide what to list.