Can This Dark Store Make Money?

An interactive profitability model for quick commerce in India. Adjust the inputs or pick a city to see what delivery speed the economics can sustain.

Demand
Households in delivery radius ?How many homes can your dark store reach? This is the single biggest driver. A 2km radius in Koramangala covers ~25K homes. The same radius near a highway covers 3K. 15,000
Dense metro core: 20-30K  ·  Tier-2 center: 10-15K  ·  Sparse area: 3-5K
QC adoption rate ?What % of households actually order from quick commerce? Metro cores are at 10-15% and rising. Newly launched Tier-2 markets start at 2-4%. 8%
Metro core: 10-15%  ·  Tier-2 city: 4-6%  ·  New market: 1-3%
Orders per customer / month ?How often each customer orders. Power users hit 10-12/month. The average is around 4-6. In newer markets it's 2-3. 5
Heavy user: 10-12  ·  Average: 4-6  ·  Occasional: 1-2
Average order value (AOV) ?Industry average is ₹500-625. Companies are pushing into electronics, beauty, and pharmacy to raise this above ₹700 — because every ₹100 increase adds ~₹20-25 in margin with zero extra delivery cost. ₹550
Groceries only: ₹400-500  ·  Mixed: ₹550-650  ·  With electronics: ₹700+
Delivery
Delivery radius ?How far from the dark store orders are delivered. Smaller radius = faster delivery but fewer customers. 10-min models use 2-3km. 30-min models stretch to 5-8km. 3.5 km
10-min model: 2-3 km  ·  30-min: 5-7 km  ·  1-hr: 8-12 km
Rider hourly wage ?This is the key variable most people get wrong. Riders are paid per HOUR, not per delivery. The effective cost per delivery depends on how many deliveries they complete per hour — which is driven by order volume, not the wage itself. ₹110/hr
Current avg: ₹90-130/hr  ·  If min wage floor enforced: ~₹150+/hr
Dark Store Costs
Monthly rent ₹80K
Tier-3: ₹25-40K  ·  Tier-2: ₹50-80K  ·  Metro core: ₹1.5-2.5L
Staff cost (pickers + manager) ?A typical dark store has 4-8 pickers and 1-2 managers. Cost ranges from ₹1L in Tier-3 towns to ₹3L+ in metro cores. ₹1.5L
Revenue Levers
Gross margin on products ?Margin after product cost. Staple groceries are thin (15-18%). Private labels and beauty/electronics push this to 25-32%. Blinkit's blended margin is ~22-24%. 21%
Groceries: 16-20%  ·  Blended: 21-24%  ·  With private labels: 26-32%
Ad + platform fee per order ?Revenue from brand ads, promoted listings, and platform commissions. Blinkit is scaling this fast — it's becoming a meaningful revenue stream. Ranges from ₹3 in new markets to ₹30+ in metro stores. ₹12
B
30-Min Delivery, Marginal
Tier-2 core territory. Can work with volume growth.
⏱ ~28 min ₹ +₹8/order
Per-Order Economics
Revenue per order₹128
Rider cost per order₹42
Store cost per order₹35
Other (packaging, tech, shrinkage)₹12
Contribution per order+₹39
Dark Store Monthly P&L
Daily orders200
Peak rider fleet8
Rider utilization2.8 del/hr
Monthly gross revenue₹7.7L
Monthly rider bill₹2.5L
Monthly fixed costs₹3.1L
Monthly net+₹1.2L
Delivery Time Breakdown
Pick + pack3 min
Rider dispatch delay8 min
Travel to customer9 min
Estimated delivery time20 min
Revenue vs Cost (per order)

Why This Calculator Exists

When It comes to Quick commerce and its profitability, analysts debate whether 10-minute delivery can ever be profitable, but most of these arguments suffer from a shared foundational error (in my opinion of course) : they treat delivery time as something a company chooses, rather than something the economics dictate.

This calculator flips the question. Instead of asking “Can a dark store deliver in 10 minutes?”, it asks: “Given these specific conditions — this many households, this adoption rate, these costs — what delivery speed can the economics actually sustain?” The answer, it turns out, depends almost entirely on one number: daily order volume.

The Demand Equation

Everything in this model flows from a single computation:

Daily Orders = (Households in radius × QC adoption rate × (Orders / customer / month)) ÷ 30

This number “daily orders” determines the delivery model, rider fleet size, per-order cost structure, and ultimately, whether the dark store lives or dies. A store doing 500 orders/day and a store doing 15 orders/day are not two versions of the same business. They are fundamentally different enterprises with different operational realities, different cost structures, and different ceilings on what delivery speed they can physically achieve.

The three inputs that feed this equation each carry distinct dynamics:

  1. Households in delivery radius is a function of population density and your chosen service radius. A 2km radius in Koramangala, Bangalore covers roughly 25,000 households. The same 2km radius in a Tier-3 town might cover 4,000. This is the strongest predictor of viability, and it is a geographic fact — no amount of marketing or operational excellence can change how many people live within reach.
  2. QC adoption rate measures what percentage of those households actually use quick commerce. In metro cores where Blinkit, Zepto, and Swiggy Instamart have operated for 2+ years, this is 10-15% and climbing. In newly launched Tier-2 cities, it starts at 2-4%. This number is time-dependent — it rises as the category matures and word-of-mouth builds.
  3. Orders per customer per month captures ordering frequency among active users. Power users hit 10-12 times per month. The industry average sits around 4-6. In newer markets where customers are still experimenting with the format, 2-3 is typical.

The Core Insight: Delivery Time Is an Output, Not an Input

This is the single most important idea in the model, and is slightly counterintuitive.

When Blinkit promises “10-minute delivery,” it sounds like a business decision — as if they decided to be fast and built operations around that promise. The causation can actually run the other way:

  • They placed a dark store in a dense, high-adoption neighborhood.
  • This generated 500+ orders per day.
  • This order volume justified a large, dedicated rider fleet.
  • With riders constantly cycling in and out, dispatch delay dropped to 1-2 minutes.
  • Combined with 3 minutes of pick-and-pack and 3-5 minutes of travel, they achieved 8-10 minutes.

The 10-minute delivery need not necessarily be a choice. It can be an emergent property of high order density.

A store doing 30 orders/day in the exact same location, with the same riders and the same warehouse processes, simply cannot achieve 10-minute delivery — because there are not enough orders per hour to keep a rider available at all times.

This is why the calculator computes delivery time rather than asking you to set it. The delivery time your dark store achieves is determined by three physical components:

Estimated Delivery Time = Pick & Pack (3 min) + Dispatch Delay + Travel Time

Pick-and-pack time is relatively fixed at ~3 minutes (industry standard with optimized dark store layouts). Travel time depends on the delivery radius and local traffic conditions. But dispatch delay — the time between an order being ready and a rider actually picking it up — is where the model diverges dramatically between high-volume and low-volume stores.

The Dispatch Delay Model: The Heart of the Calculator

The dispatch delay function is the mathematical core of this entire model. It maps daily order volume to the realistic time it takes to get a rider to the dark store after an order is packed and ready.

The relationship is not linear. It follows a piecewise function with smooth transitions between distinct operational regimes. Each regime corresponds to a fundamentally different way of organizing rider logistics:

Daily OrdersOperational ModelDispatch DelayWhy
500+Full dedicated fleet~1 minRiders always cycling back. Near-instant dispatch.
400-500Dense fleet1-3 minStrong fleet, occasional brief gaps.
200-400Strong fleet3-9 minDedicated team but sized efficiently. Gaps during off-peak.
80-200Lean fleet9-22 minMinimal riders, noticeable waits. Many new Tier-2 stores live here.
30-80On-demand / shared22-57 minNo dedicated fleet. Riders called from pool as needed.
8-30Batched / slotted57-187 minOrders collected in batches, delivered in time slots.
3-8Scheduled only3-5 hoursFixed daily delivery windows. Not quick commerce.
1-3Barely operational5-8 hoursNext-day or long scheduled windows.
<1Not viableLess than 1 order/day. No delivery model works.
Note: The transitions are smooth, not sudden jumps — moving from 201 to 199 daily orders does not cause a cliff. The dispatch delay increases by fractions of a minute. The function uses linear interpolation within each tier to ensure continuity across all boundaries.

The dispatch delay model is calibrated against observed operations of Blinkit, Zepto, and Swiggy Instamart stores across metro and Tier-2 cities, cross-referenced with rider fleet data from HSBC and JMFL research notes. The exact thresholds (400, 200, 80, 30, 8, 3 daily orders) correspond to operational inflection points where the delivery model fundamentally changes.

Rider Fleet Economics: The Per-Hour Reality

This is where many “back of the napkin” profitability calculations fall apart. They assign a per-delivery payout — say, ₹30-50 per delivery — and multiply by order count. In reality, riders are paid per hour, not per delivery. The per-delivery cost is a derived number that depends on how many deliveries each rider completes per hour, which in turn depends on order volume, delivery radius, and traffic.

Effective Cost per Delivery = Rider Hourly Wage ÷ Deliveries per Rider per Hour

A rider earning ₹120/hour who completes 3.5 deliveries per hour effectively costs ₹34 per delivery. The same rider completing 1.2 deliveries per hour costs ₹100 per delivery. Same person, same hourly rate, completely different per-order economics. This is why order density matters more than the hourly wage itself — and why a store doing 500 orders/day can afford hourly wages that would bankrupt a store doing 30 orders/day.

The model sizes the rider fleet based on demand patterns across the day:

Peak hours: 4 hours per day (roughly 11am-1pm and 6pm-8pm) carrying approximately 45% of daily volume. The fleet is sized to handle this peak load with a 15% rider buffer to absorb order clustering — because orders don't arrive evenly, they come in bursts.

Off-peak hours: The remaining 10 operational hours carry the other 55% of volume. The fleet scales down proportionally, with a 10% buffer.

Deliveries per hour is constrained by the round-trip cycle: travel to customer, handoff (~2 minutes), and return to the store. A store with a 2km radius might see 8-minute round trips, allowing up to 7 deliveries per hour per rider. A 10km radius store might see 40-minute round trips, capping each rider at roughly 1.5 deliveries per hour.

Daily Rider Bill = (Peak Riders × 4 hrs × Wage) + (Off-Peak Riders × 10 hrs × Wage) Rider Cost per Order = Daily Rider Bill ÷ Daily Orders

The Dark Store Cost Structure

Revenue per order comes from two sources:

Product margin: AOV multiplied by the gross margin percentage. For staple groceries this is a thin 16-20%. For blended assortments including private labels, it rises to 21-24%. Stores with strong private label portfolios or electronics/beauty categories can reach 28-32%.

Ad and platform fees: Revenue from promoted product listings, brand advertising, and platform commissions. This is a fast-growing revenue line — ₹3-8 per order in newer markets, scaling to ₹25-30+ in mature metro stores where brand advertising demand is high.

Costs have three layers:

  • Rider cost per order — derived from the fleet model above. This is the most variable and most misunderstood cost line.
  • Dark store fixed costs allocated per order — rent, staff, utilities, and shrinkage, divided across total monthly orders. This is where volume leverage is brutal: at 500 orders/day, ₹3L of monthly rent translates to ₹20/order. At 20 orders/day, the same rent becomes ₹500/order. The store's walls cost the same whether they serve 15,000 customers or 600.
  • Variable costs — ₹12 per order covering packaging materials, payment gateway fees, technology infrastructure allocation, and customer support.

The utilities and shrinkage line deserves special mention. It is not a fixed constant — it scales with store throughput:

Utilities & Shrinkage = ₹25,000 + min(₹55,000, Monthly Orders × ₹8)

A small-town store processing 300 orders/month runs on approximately ₹27,400 in utilities (basic electricity, minimal cold chain, low shrinkage on slow-moving inventory). A metro store processing 15,000+ orders/month hits the ceiling of ₹80,000 — heavy electricity for walk-in coolers, higher inventory shrinkage from rapid turnover, cold chain maintenance, and more intensive waste management.

The Two-Dimensional Grading System

A single grade cannot capture the full picture. Consider: a store might deliver in 15 minutes but lose ₹80 per order — impressive speed, dying business. Conversely, a store might achieve positive contribution margins but deliver in 3 hours — economically sound, but not quick commerce.

The model grades both dimensions independently and takes the lower grade as the final assessment. Because a chain is only as strong as its weakest link.

GradeDelivery SpeedContribution per Order
S≤ 12 minutes> ₹10
A≤ 20 minutes> ₹0
B≤ 40 minutes> -₹15
C≤ 80 minutes> -₹40
D≤ 240 minutes (4 hours)> -₹80
FNot achievable≤ -₹80
The final grade = min(speed grade, profitability grade)

This creates four meaningful scenarios:

  1. Both axes strong (S or A): Dense metro cores where volume supports fast delivery AND positive unit economics. This is where quick commerce genuinely works today — Koramangala, Hauz Khas, Andheri West. These stores are not loss leaders. They are profitable, fast, and structurally advantaged by population density.
  2. Speed ahead of economics: The delivery model can sustain fast times, but per-order fixed costs are too high relative to margins. The bottleneck is demand volume — more orders would dilute fixed costs without significantly changing delivery speed. When the calculator detects this, it flags: “Delivery speed is fine — economics are the bottleneck.”
  3. Economics ahead of speed: Margins per order are viable (high AOV, good margin %, low costs), but daily order density is too low for fast dispatch. When detected, the flag reads: “Margins could work — but not enough order density for fast delivery.”
  4. Both axes weak (D or F): Neither the delivery time nor the economics work. This is the honest answer for standalone dark stores in low-density areas. The calculator does not try to sugarcoat this. If the math says F, it shows F.

Key Assumptions

ParameterValueBasis
Pick & pack time3 minutesIndustry standard, optimized dark store layout
Operating hours14 hrs/day (7am-9pm)Standard QC operating window
Peak period4 hours, 45% of daily volumeLunch + dinner rush patterns
Rider buffer15% peak, 10% off-peakAbsorbs order clustering
Packaging + tech + gateway₹12 per orderIndustry cost benchmarks
Avg delivery distance65% of radiusNon-uniform customer distribution
Rider speed12-25 km/h by area typeDense urban (slow) to open roads (fast)
Rider handoff time2 minutesCustomer handoff + navigation

What This Model Does Not Capture

No model this compact can represent the full complexity of a quick commerce operation. Important limitations:

  • Network effects: A company operating 50 dark stores across a city achieves better rider utilization than any single-store model can show, because riders are dynamically allocated across nearby stores during demand fluctuations.
  • Customer acquisition costs: The model starts after customers are acquired. The CAC of ₹200-400 per new customer is not included in per-order economics.
  • Corporate overhead: HQ salaries, technology platform teams, regulatory compliance, and upstream warehousing costs sit above the dark store P&L and are not modeled.
  • Category mix dynamics: The model uses a single blended AOV and margin %. Real stores have dramatically different margins across SKUs — milk at 5%, private label snacks at 40%, electronics at 8-12%.
  • Seasonality: Order volumes fluctuate significantly by season (Holi, Diwali spikes), weather (rain increases orders 20-40%), and day of week (weekends are 20-30% higher). The model uses monthly averages.
  • Competition: Multiple QC players in the same radius split the addressable demand pool. This model assumes a single operator.
  • Maturity curve: New stores typically take 12-18 months to reach steady-state order volumes as awareness builds. Day-1 economics look very different from Month-18 economics.

Despite these limitations (aren't these too many!), the model captures the structural relationship between demand density, delivery speed, and unit economics that determines viability — which is what matters most for understanding where quick commerce can and cannot work.

And that's ….pretty much what I wanted to convey.
If you are reading till this point, I am humbled and tahe dil se thank you!!!!

Have an absolutely fantastic day - every day,

Seeyah!

— Prasad

Tom and Jerry waving goodbye

Data Sources

Financial benchmarks: Eternal (Zomato/Blinkit) FY25 investor relations filings, Zepto FY25 financials via Angel One, Swiggy Instamart Q3 FY25 quarterly filings.

Sector research: HSBC India Quick Commerce research note, JMFL “Deep-Dive Quick Commerce” report (February 2024), CareEdge Advisory sector report.

Market context: India Briefing, “Is 10-Minute Delivery Just an Indian Story?” — The Daily Brief (Zerodha).

City-specific household counts and adoption estimates are approximations based on published demographic data, census ward-level population figures, and QC platform availability maps. They should be treated as directional indicators rather than precise measurements.

The calculator's value lies not in the accuracy of any single preset, but in the structural relationships it reveals: how changing one variable cascades through the entire system.