By Varun Mahajan, FounderPublished Last updated Part of the price against mrp and discounts guideMore on quick commerce
What price consistency across dark stores means
A quick-commerce app such as Blinkit or Zepto does not sell from one national shelf. An order is served by a dark store, a small local warehouse close to the delivery address, and each dark store can carry its own price for the same product, set by the retailer or by whichever seller fulfils orders from that store. Price consistency across dark stores is simply whether one SKU, in one pack size, sells for the same price wherever a shopper happens to open the app.
It usually does not, exactly. Two pin codes served by two different dark stores can show two different numbers for the identical product on the identical day, and that alone is not remarkable: quick-commerce pricing is often set locally rather than nationally, and a small, short-lived difference is common and rarely worth a second look. The question worth asking is not whether every pin code matches to the last unit of currency, but whether the gap is large relative to the price, whether it lasts across more than one reading, and whether it looks like a considered decision or an overlooked one.
For a brand team, the practical reason to care is simple: a shopper who sees a higher price in their own area than a friend sees in another city has no way of knowing that is normal quick-commerce behaviour rather than something the brand or the retailer is doing to them specifically. Screenshots of a price gap circulate quickly, and the brand is the name printed on the pack, whether or not it set the price shown.
Why the same SKU can carry different prices
A handful of ordinary causes can produce a price gap between dark stores selling the same SKU. None of these is confirmed for any single case without checking directly; they are the usual suspects, in roughly the order worth ruling out before assuming anything more deliberate.
- A local promotion. Some quick-commerce pricing is set store by store or city by city rather than nationally, so a discount can run in one area and not another, for reasons that have nothing to do with the product itself.
- A price update that has not reached every store. A change made centrally, by the brand or the retailer, can take time to propagate to every dark store’s own system, leaving some stores on the old price for a while after the rest have moved.
- A different seller or fulfilment path behind the same listing. Where more than one seller or store type can fulfil an order for the same product, the price shown can follow the seller’s own decision rather than the product’s list price.
- A clearance or ageing-stock price. A store working through older stock close to its expiry window may price it down independently of the rest of the network, to move it before it has to be written off.
- A simple data error. A price can be entered wrong at one store and never corrected, particularly for a SKU that does not sell often at that location.
The reading itself cannot say which of these applies in any one case. It can only say that the price differed, in which pin codes, and on which day, which is the starting point for a conversation with a retailer or a distributor, not the end of one.
A real example: one SKU across 29 pin codes on Blinkit
Rather than describe the pattern only in the abstract, here is one real, dated reading. It is one whey-protein SKU, one pack size, read on Blinkit across 29 pin codes spanning six metro areas, over a three-day window at the end of September 2026.
Read as raw numbers, a small handful of pin codes reading a different figure from the rest could look like noise, or even a typing error somewhere in a spreadsheet. Read as a pattern, 26 of 29 pin codes agreeing on one price and three not, it reads differently: most of the network was selling this SKU at one price on these three days, and a small, specific set of stores were not. That is exactly the kind of gap worth a screenshot and a direct question to the retailer, rather than an average that hides it inside a single blended figure.
Notice, too, what the reading does not show. It does not say why the three pin codes differed, and it does not say whether the lower price is the anomaly or whether the higher price paid by the other 26 is. Both readings are what the app showed, at the time it was checked, in that pin code.
How wide a spread is worth investigating
There is no single, universal threshold for how large a gap has to be before it is worth raising with anyone; what counts as meaningful depends heavily on the product and the category. A few checks travel better than a fixed number:
- Confirm the pack size is identical. A smaller and a larger pack of the same product will show very different prices for an entirely unremarkable reason, and comparing them as if they were the same SKU manufactures a false gap.
- Look at the spread as a proportion of the price, not only as an absolute gap. The same small amount matters far more on an inexpensive product than on an expensive one, so a percentage view travels better across a whole catalogue than a fixed cut-off does.
- Check whether the lower reading sits in one or two pin codes or spreads across a whole city. A single pin code suggests a store-level cause, such as a data entry error or a clearance; a whole city suggests something closer to a deliberate, local decision.
- Check whether the gap repeats on a second reading a day or two later. A gap seen once can be a moment that has already passed by the time anyone looks again; a gap seen twice, in the same places, is a pattern worth a conversation.
- Compare across the apps you sell on, not only within one. A gap that appears on one app and not another points at something specific to that app’s pricing mechanism rather than at the product or the brand.
How to check consistency for your own SKUs
The method behind the example above scales down to a manual check that needs no tools beyond the shopping app itself and a spreadsheet.
| Field | Why it is there |
|---|---|
| The SKU and the exact pack | So a pack-size difference is never mistaken for a price gap. |
| The app | Each app runs its own pricing; do not blend readings from two different apps into one figure. |
| The pin code | The price belongs to the store serving that pin code, not to the product nationally. |
| The price level and the time | Prices move within a day, so a reading is only true of the moment it was taken. |
| A screenshot | So a disputed figure can be checked against what the app actually showed at that moment. |
Pick five or six pin codes spread across the cities that matter most to your business, check the same SKU in each on the same day, and repeat the same check a few days later. A spread that shows up twice, in the same places, is worth raising with your retail team or with the retailer directly. A spread seen only once may simply be the moment you happened to look, and is worth a second reading before anyone acts on it.
Teams running this for more than a handful of SKUs quickly find the manual version does not scale: a weekly check across a real catalogue and a real set of cities means dozens or hundreds of individual searches, each needing its own screenshot and its own row in a sheet. That is the point at which a repeatable, scheduled reading becomes worth the effort a spreadsheet cannot sustain on its own.
Where Rewalto fits
Rewalto’s digital shelf readings record price and stock by pin code on a schedule, with the source of every reading recorded, so a spread like the one above is found from a table rather than by opening the app 29 separate times. The idea sits next to what the glossary calls price parity, the more general question of whether a price is held the same across every place a product is sold, on-app and off.1
It is a companion question to pin-code shelf truth (why any single reading belongs to one pin code and one moment, and should never be read as a national figure), to discount depth (how far a selling price sits below the MRP printed on the pack, a different comparison from the one this guide covers), and to digital share of shelf (how much of the results a brand’s products occupy at all): three different questions about the same shelf, each needing its own reading and none of them a substitute for the others.
Common questions
Is a price difference between dark stores always a mistake?
No. A local promotion, a price update reaching stores at different times, or a clearance on ageing stock can all produce a legitimate gap. Treat a reading as a starting question, not a verdict against anyone.
How many pin codes do I need to check to see this?
A handful spread across the cities that matter to your brand is enough to start. This guide's own example used 29 pin codes, which is more than a manual weekly check needs to spot a pattern worth raising.
Why does the chart show an index instead of a price?
Rewalto's guides never quote a rupee figure; prices have one owner, the retailer's own listing. The index is the same real reading, shown as a proportion of the most common price in the window rather than typed as an amount.
Does Rewalto sell a price-consistency monitoring product?
This guide documents a one-off reading made for the article, using Rewalto's own house account and no client's data. Check the data catalogue for current fields and coverage; the example does not establish that repeated price-parity monitoring is available.
Is this the same question as discount depth?
No. Discount depth compares a selling price against the MRP printed on the same pack. Price consistency compares the selling price of one SKU against itself, across different dark stores, on the same day.
Notes
- Rewalto does not offer price-parity monitoring as a packaged product today; the reading in this guide was run once, for this article, against Rewalto’s own house account and no client’s data. Check the data catalogue for current fields and coverage before planning a repeated check. The example above does not establish that price-parity monitoring is available. Back to text
