Quick commerce volume is only worth it if each unit leaves you money after every cost, and most of those costs arrive weeks after the sale, in places nobody adds up. Build a per-unit cost stack for every SKU, covering platform margin, funded offers, ads, freight and leakage, then push, hold or pull back by SKU and city based on the contribution that is left.
Why Volume Hides the Problem
Quick commerce is the most flattering channel a D2C brand can open. Purchase orders arrive every week, sales dashboards climb, and the team finally has a channel that grows faster than anyone can plan for. The founder sees units moving in a dozen cities and assumes the money is moving with them.
The trouble is timing. Revenue shows up immediately, in the platform dashboard, while most of the costs arrive later and in other places. Ad spend sits in a separate billing account. Discount support is settled against invoices weeks after the offer ran. Damage and expiry claims come through in reconciliation. Freight to each warehouse is paid by your logistics partner and booked as a general expense. None of it lands next to the sales number, so nobody puts them together until the finance team closes a quarter and finds that the fastest-growing channel produced almost no cash.
That is why the question is not whether quick commerce sells. It usually does. The question is whether each unit it sells leaves you with more money than it cost to put there, and you can only answer that by building the full cost stack for a single unit, per SKU, before the volume makes the answer expensive.
- Selling price What the shopper pays, often below MRP once platform offers apply
- Platform margin The share the platform keeps under your commercial terms
- Offers and ads you fund Discount support, search ads, banners and paid placement
- Freight and leakage Getting stock to warehouses, plus damage, expiry and short receipts
- What is left Take out product cost and the remainder is your contribution
The Full Cost Stack for One Unit
Start with what the shopper actually paid, not MRP. On Blinkit, Zepto and Instamart the selling price regularly sits below MRP because of platform offers, and some of that gap may be yours to fund. Then walk down the stack one layer at a time.
Platform margin. Most brands sell to quick commerce platforms on a margin or commission structure agreed in the commercial terms. Read those terms line by line. The headline margin is rarely the whole story, because there can be additional charges for listing, promotions, visibility packages or back-margin tied to volume targets. We walked through the one-time side of this in what onboarding onto Blinkit, Zepto and Instamart actually costs; unit economics is about the charges that recur on every order after that.
Offers and ads you fund. Discount support, combo pricing and coupon funding are real costs per unit even though they are settled later. So is advertising. Divide your monthly quick commerce ad spend by the units sold in that month and add the result to every unit. Brands that skip this step are the ones most surprised at quarter end.
Freight and leakage. Getting stock into each platform's warehouses costs money, and it costs more per unit when you ship small, frequent consignments to many cities. Then there is leakage: units damaged in transit or in the dark store, short-dated stock that expires, inward shipments rejected for packaging or labelling issues, and short receipts where fewer units were counted in than you sent. Each of these is small on its own and easy to ignore, and together they are often the difference between a channel that makes money and one that does not.
What is left. Subtract your landed product cost from whatever remains and you have contribution per unit. That single number, calculated per SKU, is the one that tells you whether more volume is good news.
Pack Size Is an Economics Decision
Many of the costs in that stack are roughly fixed per unit, not per rupee. Freight, handling and a share of every ad click cost about the same whether the unit is a small trial pack or a full-size pack. That means a low-priced unit carries the same fixed costs on a much smaller selling price, and it is common for the small pack that sells fastest to be the one that loses money on every order.
This is the economic side of an argument we made in choosing which pack sizes belong in a dark store. The pack that wins the impulse purchase is not automatically the pack that earns. Run the cost stack for each size you list. Sometimes the fix is a slightly larger pack at a price point that still feels like an easy add to cart. Sometimes it is a multipack or a bundle that raises the order value without raising the per-unit fixed costs. And sometimes the honest answer is that a particular size should not be on quick commerce at all, and belongs on your own site or a marketplace where the cost structure suits it.
"The pack that sells fastest in a dark store is often the one losing money on every order, because freight and ads cost the same whatever the price tag."
- Brand Integer Quick Commerce Team
Keep the price consistent with your other channels while you do this. Solving a quick commerce margin problem by quietly raising the price there only moves the problem into channel conflict, which is its own expensive mess.
Reading the Signals in Your Own Numbers
You do not need a finance team to tell whether quick commerce volume is healthy. A few patterns in data you already have will tell you, usually well before the quarterly accounts do.
| Volume that is working | Volume hiding a loss |
|---|---|
| Contribution per unit positive after ads and leakage | Growth tracks spend almost one to one |
| Repeat orders without a live discount | Sales fall away the day an offer ends |
| Sales hold when ad spend dips for a week | Write-offs and short receipts rising quietly |
| Stock-outs are rare in the cities you pushed | Margin only looks fine before ad costs |
The most useful test is a controlled pause. Reduce ad spend in one city for a week or two and watch what happens to organic sales there. If sales hold up reasonably well, the ads were adding to real demand. If sales collapse, you were renting volume, and the true cost of each unit includes every rupee of that rent. The approach to measuring Blinkit ads honestly covers how to run this without hurting your ranking for long.
Watch discount dependence the same way. If most of your volume comes from days when an offer is live, the unfunded price is not the price shoppers are willing to pay on that platform, and your unit economics should be calculated at the discounted price, not the list price.
When to Push, Hold or Pull Back
Once you have contribution per unit by SKU and city, the decisions become much less emotional.
Push where contribution is positive after every cost, including ads, and sales hold when spend dips. These are the SKUs and cities where more volume genuinely means more money, and where extra visibility spend is an investment rather than a subsidy.
Hold where contribution is thin but positive, or positive only before ads. Stop scaling spend here and work on the stack instead: renegotiate terms when volumes justify it, fix the inward packaging issues causing rejections, consolidate freight, and test a better-priced pack size.
Pull back where contribution is negative after all costs and no realistic change fixes it. That can mean delisting a pack size, exiting a city where your volume is too thin to justify the freight, or accepting that a product is simply better suited to other channels. Treating quick commerce as a brand-building expense is a legitimate choice, but it should be a deliberate one with a budget, not something you discover after the fact. If you are weighing where the volume should go instead, pricing the same product across Amazon, Nykaa and your own site is the other half of that decision.
Revisit this every quarter. Platform terms change, ad costs in your category rise as competitors arrive, and a SKU that earned well at launch can quietly slip into the right-hand column without anyone noticing.
Frequently Asked Questions
How do I calculate unit economics for Blinkit, Zepto or Instamart?
Start from the price the shopper actually paid, then subtract the platform margin or commission, any discounts or promotions you fund, your ad spend divided by units sold, freight to the platform's warehouses, and an allowance for damage, expiry and short receipts. Subtract your landed product cost from what remains. The result is contribution per unit, and it should be calculated per SKU rather than for the brand as a whole.
Why does quick commerce look profitable in the dashboard but not in our accounts?
Because sales appear immediately in the platform dashboard while most costs are settled later and booked elsewhere. Ad spend, discount support, freight and damage or expiry claims each arrive on a different bill, often weeks after the sale. Until someone puts them next to the revenue per unit, the channel looks healthier than it is.
Are small trial packs profitable on quick commerce?
Often not. Freight, handling and advertising cost roughly the same per unit whatever the price, so a low-priced pack carries those fixed costs on a much smaller selling price. Small packs can still earn their place as an entry point, but run the full cost stack for each size and consider a slightly larger pack, a multipack or a bundle if the smallest size loses money.
Should we stop selling on quick commerce if the margins are negative?
Not automatically. First work out which SKUs and cities are negative and why. Renegotiating terms, fixing inward rejections, consolidating freight or changing pack size can often fix it. Where nothing realistic helps, delist that pack or exit that city. If you keep a loss-making presence for brand visibility, treat it as a deliberate marketing expense with a set budget.