MRP vs Landing Cost: Why Grocery Margins Lie to You
The gap between perceived and true margins. How to calculate what you actually make after GST, transport, handling, and expiry allocation.
The ₹50 biscuit that costs you ₹45.34
You buy a packet of biscuits for ₹40. MRP is ₹50. That's 20% margin. You've been calculating it this way for years, and every stocking decision you make flows from this number. Stock more biscuits — 20% margin. Promote biscuits over household cleaners — 20% beats 12%. Makes sense.
Except the actual margin on that biscuit is 9.3%, and the household cleaner you've been ignoring is running at 11.5%, and you've been making exactly the wrong stocking decision for reasons that are entirely invisible in your standard P&L.
Here's where the 20% went. You paid ₹40 on the invoice. Add ₹2 for GST (yes, you claim input credit, but that credit arrives weeks later and locks up working capital in the meantime — for cash flow purposes, you paid ₹42). Add ₹0.40 for transport allocation (your monthly transport costs divided across units purchased). Add ₹0.30 for handling losses — damaged packaging, dented units, the occasional packet that falls and bursts during shelving. That brings you to ₹42.70 per packet, which still looks fine.
Now the number that nobody tracks: 3 out of every 100 packets of biscuits expire before you sell them. That 3% expiry cost doesn't vanish. It gets absorbed by the 97 packets you do sell. The cost of 100 packets at ₹42.70 is ₹4,270. The 3 expired packets cost you ₹128.10 in lost product. Divide the total cost (₹4,270 + ₹128.10) by the 97 packets that actually generate revenue, and your true cost per sold packet is ₹45.34.
Your margin on a ₹50 MRP product with a ₹45.34 true landed cost is 9.3%. Not 20%. The gap between these two numbers is where most grocery stores slowly bleed money — not because they're poorly managed in any obvious way, but because the margin they're managing against doesn't reflect reality.
Not sure how much you're losing to expiry?
Run a free inventory waste audit — find your bleeding SKUs in 60 seconds. No sign-up required.
Run free auditwhy your P&L hides this from you
Standard grocery accounting treats expiry as a separate expense line. The P&L says gross margin is 18%, and then somewhere further down, there's an expiry loss line showing 2.5% of cost of goods sold. Your brain reads "18% margin, minus some expiry," and you go on making decisions based on 18%.
The problem is that this separation hides the connection between individual product economics and overall profitability. You're making stocking decisions — what to order, how much, what to promote — based on perceived per-product margins that don't include the expiry cost specific to that product. Biscuits have 3% expiry, so their effective margin is dramatically lower than you think. Personal care products have 0.5% expiry, so their effective margin is almost exactly what you think. But because the P&L lumps all expiry together, the biscuit margin looks identical to what it would look like with zero expiry, and the personal care margin gets no credit for its lower waste rate.
A supermarket owner in Salem did this analysis on his top 20 products and discovered his "best margin" category — fresh snacks at 35% perceived margin — was actually his worst at 8% true margin, because the 15-20% shrinkage in fresh snacks obliterated the apparent advantage. His "low margin" household cleaners at 12% perceived were running at 11.5% true, because virtually nothing expires. He had been aggressively promoting fresh snacks and under-promoting household cleaners. Exactly backwards.
the scheme trap (or: how a "buy 10 get 1 free" can give you 0% margin)
Distributor schemes are a fixture of Indian grocery retail, and most of them sound compelling on their face. Buy 10 get 1 free on a ₹100 MRP product that you normally buy at ₹80. With the scheme, your effective cost per unit drops to ₹72.72. Margin jumps from 20% to 27.3%. Your distributor's salesman is happy. You're happy. Everyone's happy.
Until you do the secondary calculation. Your normal sales velocity for this product is 8 units a month. You now have 11 units. Those extra 3 units need to sell before expiry, and there's no particular reason to believe your demand will increase just because you have more stock. If the 3 extra units expire — which they will, at your normal selling rate — you bought 11 units for ₹800 and sold 8 for ₹800. That's 0% margin. The scheme didn't give you extra profit. It gave you dead stock with a compelling story attached.
Schemes work when your sales velocity can actually absorb the extra volume, when the expiry window exceeds your expected sell-through time by at least 50%, and when the math still works even if you assume 20% higher expiry than normal (because scheme-driven overstock almost always leads to higher-than-normal expiry). Schemes destroy margin when you're buying based on the deal rather than the demand, when the product has less than 60% of shelf life remaining, or when you're already adequately stocked in that category.
The discipline required is uncomfortable but simple: before accepting any scheme, calculate whether you can sell the additional quantity before expiry at your current velocity. If the answer is no, the scheme is not a discount — it's a liability with a bow on it.
the category-by-category reality check
When you calculate true margins (invoice price plus GST plus transport allocation plus expiry allocation), the category rankings often invert from what you'd expect.
Biscuits and snacks show 15-20% perceived margin but land at 10-14% true after 2-4% expiry and transport allocation. Still positive, but not the star performer you thought. Dairy shows 8-12% perceived but drops to 2-6% true — the 4-8% expiry rate in dairy is devastating to a category that already runs on thin margins. Bread is the horror show: 15-20% perceived, 3-10% true, because bread has 8-15% expiry rates that nobody wants to confront. Fresh produce shows 25-40% perceived and lands at 5-15% true — the widest range, because the stores that manage produce well (8% shrinkage) have a completely different business from the stores that don't (25% shrinkage).
Beverages (12-18% perceived, 9-15% true) and personal care (15-25% perceived, 14-23% true) are the categories where perceived and true margins are closest, because their expiry rates are low. These are your reliable margin generators, and they deserve more attention than most grocery stores give them.
The implication is that shelf space allocation, promotional emphasis, and ordering aggression should be driven by true margins, not perceived ones. The store that allocates premium shelf space to its highest true-margin categories and manages — rather than ignores — its high-expiry categories is making fundamentally better economic decisions than the store that allocates based on MRP math.
FEFO: the single largest lever you have
First Expiry, First Out doesn't just prevent individual items from expiring. It systematically reduces your store's overall expiry rate, which directly improves true margins across every category.
The default in most grocery stores is accidental LIFO — last in, first out. New stock gets shelved in front because it's right there. Old stock gets pushed back. The older stock eventually expires. You bought 100 units in January (expiring in June) and 100 in February (expiring in July). Your staff sells the February stock first because it's in front. The January stock expires in June. With FEFO — January stock in front, February stock behind — both batches sell before expiry.
Same purchases. Same sales volume. Dramatically different expiry rate. Stores that implement FEFO rigorously typically cut their expiry rate by 40-60% without changing anything about their purchasing or sales. That 40-60% reduction flows directly into true margin improvement. If your biscuit expiry drops from 3% to 1.5%, your true margin on biscuits goes from 9.3% to roughly 14%. That's the difference between a marginal category and a profitable one, achieved through shelving discipline rather than pricing negotiation.
the conversation to have with yourself (and then with your accountant)
Pick your top 10 products by volume. For each one, calculate: invoice price, plus GST, plus transport allocation, plus expiry allocation (last 6 months of expiry in that category, divided by purchased value, applied per unit). That gives you true landed cost. Subtract from MRP. That's what you're actually making.
I guarantee the results will surprise you. Some products you thought were winners will turn out to be marginal. Some you thought were marginal will turn out to be your best performers. And some — particularly in the bread and fresh categories — might turn out to be actively losing money, subsidised by the categories around them.
One supermarket in Madurai did this exercise, eliminated 12% of their SKUs based on true margin analysis, and saw total revenue drop 3% while profit increased 11%. They sold less and earned more, because they stopped subsidising products that were consuming shelf space, staff time, and working capital while generating negative true margin.
Sometimes the best stocking decision is not to stock.
ShelfLifePro calculates true margins automatically — including expiry allocation, recovery rates, and FEFO compliance impact. Because managing a grocery store is hard enough without lying to yourself about which products actually make money.
See what batch-level tracking actually looks like
ShelfLifePro tracks expiry by batch, automates FEFO rotation, and sends markdown alerts before stock expires. 14-day free trial, no credit card required.