Stockout starts where a dolly cannot turn
2026-11-11BXT Data Editorial

Stockout starts where a dolly cannot turn

Stockout starts where a dolly cannot turn article image

“The platform wants a store on every corner. The operator wants enough orders to pay the rent.” That line, drawn from Startup Chai's reading of India's dark-store race, describes a gap that shows up on a shelf long before it shows up in a profit warning. As of 5 November 2026 the network counts are public: Swiggy's Instamart closed the September quarter with 1,240 dark stores across 133 cities after 69 net additions, Blinkit ran 2,751 stores against a target of more than 3,500 by March 2027, and the operative question has moved from how many doors exist to how many picks each door finishes in an hour. For a brand team planning assortment, that shift changes which number to watch.

The network grew faster than the picking bench

Known factsUnverifiedNeeds verification
Instamart reached 1,240 dark stores in 133 cities at the end of the September quarter, adding 69 net storesStore-level pick capacity and aisle layoutOrders per store per day and pick rate per picker
Instamart gross order value rose 31 percent year on year to 9,230 crore rupees; net order value rose 34.8 percentWhether the margin gain came from mix or from delivery densityContribution margin by city tier
Blinkit operated 2,751 stores and posted 20,940 crore rupees of quarterly order valueOperator-level returns behind the advertised partner economicsVolume per store after a nearby store opens
Zepto opened 169 stores in FY26 against 699 in FY25, and closures rose from seven to 59Whether closures reflect site quality or contract termsStore-level break-even order count

The financials sit alongside the store counts and point in a subtler direction. Instamart lifted gross order value 31 percent to 9,230 crore rupees and net order value 34.8 percent to 6,594 crore rupees, while monthly transacting users reached 14.8 million, up 23 percent (Urban Acres). Its adjusted EBITDA loss widened to 895 crore rupees, yet the adjusted margin improved to negative 9.7 percent of gross order value from negative 12.1 percent a year earlier, and the contribution margin moved to negative one percent from negative 2.6 percent. More orders per store is doing the work that more stores used to do.

The same quarter shows the network arithmetic from the other side. Blinkit reached 2,751 stores, booked 20,940 crore rupees of quarterly order value and turned a 184 crore rupee adjusted operating profit, while Zepto cut openings from 699 to 169 and let closures climb from seven to 59 (Startup Chai). Zepto also reported 36.61 percent of stores run by growth partners as of March 2026, on non-exclusive two-year agreements where the partner holds the lease and the platform holds the orders. When a store's volume falls because another store opened 700 metres away, the lease does not shrink with it.

What a store count leaves out

A store count says how much floor space a platform controls. It does not say how much of that space is pickable. Two stores of identical size can differ by a factor of three in orders served, because the difference sits in aisle width, in where fast movers are slotted, and in whether a picker can turn a dolly without reversing. Operators describe the same failure in the same words: the app shows stock, the shelf does not have it, and the order leaves with a substitution or a cancellation.

OperatorStoresQuarterly demand signalMargin signalAvailability read
Instamart1,240 in 133 cities, plus 69 netGross order value 9,230 crore rupees, up 31 percentAdjusted EBITDA loss 895 crore rupees, margin negative 9.7 percentDensity is buying margin; pick capacity is the next constraint
Blinkit2,751, targeting above 3,500Order value 20,940 crore rupeesAdjusted operating profit 184 crore rupeesProfitable at scale, so the risk shifts to cannibalisation
Zepto169 openings, 59 closures in FY26Revenue doubled to 22,624 crore rupeesLoss of 5,905 crore rupeesSite selection is being corrected faster than it is expanded

An aisle sets the ceiling on picks

Walk a dark store and the constraint is physical before it is digital. A picker pushing a dolly needs a turning radius; a nine-foot aisle does not give one, so the picker reverses, and reversing costs seconds that multiply across a shift. Stock the top-selling lines at chest height along the pick path and a pick takes twenty seconds; stack the same lines on the floor of a back room and the same pick takes ninety. The order value is identical in both cases, and the labour cost is not.

Four numbers that set the ceiling
1,240 stores · 14.8 million monthly transacting users · 34.8 percent net order value growth · negative one percent contribution margin
Read together: the network is adding demand faster than it is adding picking hours, which is why the contribution margin decides whether the next store is an asset or a cost.

Where the shelf plan breaks

Planograms are drawn for shoppers who browse. A dark store has no browsing, so the planogram should be drawn for the pick sequence instead: the order in which a typical basket walks the store. When a planogram keeps a promotional island in the middle of the pick path, every order pays for the display. When the same island moves to the end of the route, the display still sells and the pick stops paying for it.

Stockout is a replenishment schedule, not a demand signal

Out-of-stock reads like a demand event and is usually a timing event. If a store replenishes a fast mover twice a week and sells it out in three days, the shelf is empty for four days regardless of how strong demand is. Category expansion makes this worse, because the pick profile changes: personal care, toys, gifting and small appliances do not move at the same rate as groceries, and a single replenishment cycle cannot serve both. Industry analysis expects India to add 2,000 to 2,500 dark stores in 2026, concentrated in high-income micro-markets and top-tier cities (Accio), which means more stores competing for the same picking labour pool.

On-shelf availability therefore has to be measured per node and per SKU class, not per chain. A brand that reports 94 percent availability nationally can be at 71 percent in the four stores that serve its most valuable postcodes, and the national figure will never show it. The fix is not a bigger dashboard; it is a schedule: which SKUs, in which node, replenished on which day, against which pick rate.

Coverage by node, not by chain

Distribution coverage in this model means the share of fulfilment nodes that hold a sellable quantity of a given SKU at a given hour. That is a stricter measure than listing coverage, and it is the one that predicts whether a fast-delivery promise converts. A SKU listed in 1,240 stores but stocked in 600 of them has coverage of roughly half, whatever the listing report says.

What a brand can audit before the next store opens

Three checks are worth running before a platform announces its next hundred stores. First, map the SKUs that drive the basket to the nodes that actually hold them, and compare that map with the delivery promise attached to each postcode. Second, time a pick: if the same basket takes materially longer in one node than another, the difference is layout, not labour. Third, pull the substitution log, because substitutions are the earliest visible trace of a shelf that cannot serve the pick path it was given.

  1. Category manager: list the twenty SKUs that carry the basket, evidence is the last eight weeks of order lines, output is a node-by-SKU coverage grid.
  2. Operations lead: time three standard baskets in five nodes, evidence is the pick timestamp log, output is seconds per pick by node.
  3. Data analyst: pull substitution and cancellation reasons for four weeks, evidence is the order exception file, output is the top five physical causes.
  4. Trade marketing: re-sequence the planogram against the pick path, evidence is the basket walk sequence, output is a revised slot list.
FieldExample value
NodeBengaluru, Indiranagar store 014
SKUChilled milk 500 ml
Sellable units at 09:0048
Pick rate62 lines per hour
Substitution reasonShelf empty, back room pallet unopened
Next replenishmentThursday 04:00

FAQ

  • Does a bigger dark-store network automatically improve availability?

    No. More stores shorten the delivery radius, which protects the promise, but availability depends on the replenishment cycle inside each store. A new store with the same twice-weekly cycle inherits the same four-day gaps.

  • Why does aisle width matter to a brand that never visits a store?

    Because it caps picks per hour, and picks per hour caps orders per store. When the cap is reached, the platform either adds labour, which compresses margin, or limits assortment, which removes SKUs from the app.

  • How should coverage be reported to a commercial team?

    Per node and per SKU class, with the hour of measurement attached. A single national percentage hides exactly the nodes where the fast promise is being sold.

Sources