Dark store operations: layout, pick paths and staffing that hit the promise

A dark store is a warehouse that has borrowed the floor plan of a shop and then quietly deleted the customers. There is no checkout, no window display, no impulse end cap, and no reason for an aisle to be wider than a picker with a tote. What remains is a small, dense fulfillment node whose entire purpose is to turn an app order into a sealed bag at the door in under ten minutes. The delivery promise printed on the app home screen is made, or broken, in the layout, slotting, pick paths and staffing decisions inside that building, especially in the hour after work when the queue spikes.

This guide is the operational companion to our broader explainer on quick commerce, dark stores and the real economics. Where that piece asks whether the model can make money, this one asks a narrower question: given a dark store already exists, what does it take to run it so the promise holds at 6 p.m. on a Friday and not just at 11 a.m. on a Tuesday? The answer is mostly unglamorous: where the milk lives, how many orders a picker carries at once, and what happens in the 90 seconds between a bag being sealed and a rider leaving the kerb.

In short

  • A dark store is a micro-warehouse in shop clothing: typically 2,000–10,000 square feet, 1,500–4,000 SKUs, and built to serve a delivery radius of roughly one to two miles rather than a walk-in customer.
  • Slotting by velocity is the single highest-leverage layout decision: putting the fastest 20 percent of SKUs closest to the pack bench shortens almost every pick and removes travel time that no amount of hustle can recover.
  • Pick paths and batch sizes decide throughput. A well-designed serpentine path with two to four orders per tote typically beats single-order picking on pick rate without hurting accuracy, but batching too aggressively at peak creates its own backlog.
  • Staffing is a curve, not a number: the peak hour can carry three to five times the order volume of the mid-morning trough, so shift design and cross-training matter more than headcount.
  • The rider handoff and stock accuracy are where minutes and margin leak silently: unclear dispatch, unscanned bags and inaccurate on-hand counts drive late orders, substitutions and refunds that never show up in the pick-rate dashboard.

What is a dark store and how does it differ from a back room?

The term describes a retail-format space that is closed to the public and used exclusively to fulfill online orders (Wikipedia maintains a useful general overview of the dark store concept and its history). The format has two lineages. Grocers such as Tesco and Ocado in the UK and Walmart in the US used dark stores and dedicated fulfillment centers from the 2010s onward to fulfill scheduled home delivery from a central site. The second lineage, the rapid-delivery dark store built by companies like Gopuff, Getir, Gorillas and Flink, shrank the footprint, brought the site into the neighborhood and attached it to a 10-to-30-minute promise.

The distinction from a store back room matters operationally. A supermarket back room is a buffer: stock waits there until it is needed on the shelf, and a store picker fulfilling online orders competes with shoppers for aisle space and with replenishment staff for the back room. A dark store has no shelf to replenish. The racking is the shelf, the picker is the only person in the aisle, and every layout choice can serve a single objective: minimize seconds per order line at the busiest hour of the day.

That single objective is also why dark stores diverge so sharply from conventional store design. Everything our sister article on store design that drives conversion describes, wide sightlines, decompression zones, adjacency for impulse purchases, is inverted here. A dark store wants narrow aisles, tall racking, and adjacency based on how often two items are ordered together, not on how attractively they sit side by side.

The three formats that get lumped together

Operators tend to distinguish three variants. The neighborhood rapid-delivery dark store (roughly 2,000–5,000 square feet, 1,500–3,000 SKUs) exists to serve a 10-to-20-minute radius on foot, bike or scooter. The grocery dark store or “customer fulfillment center” (30,000 square feet and up, 10,000 to 50,000 SKUs) serves scheduled slots across a metro area and is often partially automated. In between sits the micro-fulfillment center, sometimes attached to an existing supermarket, that we cover in more depth in our piece on dark stores and micro-fulfillment for grocery delivery.

This article concentrates on the first, the small rapid-delivery site, because its economics are the most sensitive to floor-level operations.

Why the promise is an operations problem

A ten-minute promise decomposes into four blocks: order acceptance and routing to a picker (under a minute), picking and packing (two to four minutes), rider dispatch and handoff (one to two minutes), and the ride itself (four to eight minutes). Only the ride is outside the building, which is why two sites with the same app, radius and demand can post on-time rates twenty points apart.

Slotting by velocity: the layout that shortens every pick

Slotting is the practice of deciding which SKU lives in which location. In a large warehouse, slotting is a periodic optimization project. In a dark store it is the layout, because the building is small enough that where a SKU sits determines the travel component of every single pick. Velocity slotting, which puts the fastest-moving items in the locations closest to the pack bench and at the most ergonomic pick height, is the default starting point for nearly every operator.

The logic is Pareto in shape. In most rapid-delivery assortments, the top 20 percent of SKUs by order-line frequency account for somewhere between 60 and 75 percent of all picks, according to figures commonly cited by operators and fulfillment consultants. Beverages, snacks, dairy, bread, eggs, tobacco where sold, and a rotating set of household staples dominate. If those items sit within a short walk of the pack bench and between knee and shoulder height, the average pick travels less, bends less and reaches less.

Golden zone, cold chain and the ugly SKUs

Three practical constraints complicate the pure velocity rule. First, temperature: chilled and frozen SKUs must live in refrigeration, and refrigeration is expensive to move, so the cold zone anchors the layout and fast ambient SKUs are slotted around it rather than the other way round. Second, physical form: multipacks of water, cases of soda and bags of rice are heavy and bulky, so they belong at floor or waist level near the exit regardless of velocity. Third, affinity: items frequently ordered together, such as chips and dips or diapers and wipes, benefit from being slotted near each other so a multi-line order becomes a short cluster of picks rather than a tour.

Re-slotting cadence

Demand in a neighborhood site shifts with weather, season, local events and promotions. A site that slots once at opening and never revisits drifts into a layout that reflects last spring’s demand. Well-run operators re-slot the fast zone weekly or biweekly on the last 14 to 28 days of order data, and the full site quarterly, at a cost of an hour or two of labor in a quiet window that pays back in seconds per line across thousands of daily picks.

Slotting rules compared

Slotting approach How it works Strength Weakness Best fit
Velocity (ABC) Fastest SKUs closest to pack bench, at golden-zone height Shortest average travel; simple to explain and audit Ignores item pairing and physical form Default for any new site
Affinity clustering SKUs frequently ordered together slotted adjacent Multi-line orders become tight clusters Needs enough order history; can conflict with velocity Mature sites with stable baskets
Category (shop-like) Aisles mirror a supermarket: dairy, snacks, household Easy onboarding for new pickers Long paths; fast SKUs scattered across the site Sites with very high staff turnover
Hybrid zone Velocity fast zone near bench, category for the long tail Captures most travel savings while keeping the tail navigable Requires discipline to keep the fast zone current Most operators in practice

How do you design pick paths and batch picking in a small footprint?

Once SKUs have locations, the next question is how a picker moves between them. The two dominant answers in dark stores are the serpentine (or S-shaped) path, where the picker walks every aisle in sequence and the picking app sorts order lines to match that sequence, and the zone path, where the site is split into zones and each picker handles only lines in their zone before totes converge at the bench. Serpentine wins on simplicity and is the norm below roughly 4,000 square feet. Zone picking begins to pay off once the site is large enough that walking the whole loop for a single small order becomes wasteful.

Batch picking layers on top of either path. Instead of walking the loop for one order, the picker carries a cart or a multi-compartment tote and picks two to four orders at once, with the app assigning each line to a compartment. The travel component of each pick is now shared across several orders, and pick rates measured in lines per hour rise accordingly. The trade-off is latency: the first order in a batch waits for the last line of the fourth order before it can be packed, which is why aggressive batching at peak can improve pick rate on the dashboard while worsening time-to-door for the customer.

Batch size by hour, not by policy

The practical resolution is dynamic batching. In the trough, when orders trickle in one every few minutes, batch size is effectively one and the picker completes each order on arrival. As order arrival rate rises, the app waits a short window (often 30 to 90 seconds) to assemble batches of two to four orders with overlapping locations.

At true peak, when a queue already exists, the site may drop the wait window and pick whatever is in the queue in batches sized to the cart. The metric that governs this is not pick rate but promise attainment, and the two disagree often enough that they must be watched together.

The pack bench is the real bottleneck

New operators tend to over-focus on picking and under-invest in packing. The bench, where the order is verified, bagged, labelled and staged, has a fixed throughput per station, and three pickers feeding one bench at peak turns the bench into the queue. Practical fixes are cheap: a second bench, a scan-to-verify step that doubles as pack confirmation, pre-opened bags, and a staging shelf sequenced by dispatch order.

Scan discipline and pick accuracy

Every location and SKU should be barcoded and every pick scanned. Letting experienced pickers skip scans trades a second per line for a wrong-item rate that surfaces later as a refund, a substitution complaint or a phantom stock discrepancy. In the tight margin structure of rapid delivery, a single refunded order can erase the contribution margin of five to ten successful ones, which makes the scan the cheapest insurance in the building.

Staffing ratios across the day and the peak hour problem

Dark store demand is one of the most lopsided intraday curves in retail. A typical urban site sees a modest morning ramp, a lunchtime bump, a trough through mid-afternoon, and then a steep climb from roughly 5 p.m. to 9 p.m. that can carry three to five times the mid-afternoon order rate, followed by a late-evening tail that varies by neighborhood and by whether the site sells alcohol.

Weekends flatten and shift the curve later. Weather is a multiplier: rain and extreme heat push orders up at exactly the moments riders are slowest.

A single staffing number therefore says almost nothing. What matters is the ratio of pickers, packers and riders to expected orders per hour, hour by hour, and how quickly the site can flex between the trough and the peak. Operators commonly plan around a target of pickers able to sustain a certain number of orders per labor hour, with the peak plan built first and the trough plan derived by removing shifts, not the other way round.

Cross-training as the flex mechanism

The cheapest way to staff a peaky curve is to make roles fluid. A picker who can also pack, receive inbound stock and handle the dispatch desk lets a site run a lean trough crew that absorbs replenishment and counting duties in the quiet hours and then converts entirely to picking and packing when the queue builds. Sites that hire narrowly, with dedicated receivers who cannot pick and pickers who cannot pack, pay for idle labor in the trough and still run short at peak.

Rider staffing is a separate curve

Riders, whether employed, contracted or supplied by a third-party platform, follow their own availability curve that does not always match the order curve. A site can be perfectly staffed inside and still fail because riders drift toward higher-tip zones at dinner time or a rain shower halves the active fleet. The mitigations are a rider forecast reviewed alongside the picker forecast, a stacking policy that lets one rider carry two nearby orders at peak, and a fallback where the promise is extended rather than broken when the fleet is thin.

Illustrative staffing model for a neighborhood site

Day part (local) Orders per hour (illustrative) Pickers/packers on floor Riders on shift Batch policy Other floor tasks
7–10 a.m. 5–15 1–2 2–3 Single order, immediate Inbound receiving, putaway, cycle counts
10 a.m.–12 p.m. 15–25 2 3–4 Batch of 2 if locations overlap Re-slotting the fast zone, expiry checks
12–2 p.m. 25–40 2–3 4–6 Batch of 2–3, 60-second window Packing support only
2–5 p.m. 10–20 1–2 2–3 Single order or batch of 2 Second inbound wave, waste log, prep for peak
5–9 p.m. 40–90 4–6 8–14 Batch of 3–4, no wait window when queue exists None; all hands pick, pack and dispatch
9 p.m. to close 15–35 2–3 3–5 Batch of 2–3 Close-down counts, waste, next-day prep

The figures are illustrative ranges rather than benchmarks; a dense urban site on a Friday sits at the top of every band and a suburban site midweek at the bottom. The shape, with the 5-to-9 p.m. block dominating and requiring two to three times the floor crew of the trough, is consistent across most operators that have published or discussed their staffing patterns.

Handoff to riders: the step that quietly loses minutes

If picking is where operators focus their attention, the handoff is where they lose it. A bag that is packed and sitting on a shelf is invisible to the customer’s timer only if the app has been told it is ready and a rider has been assigned. In practice, the gap between “packed” and “picked up by rider” is where a well-run site loses 60 to 120 seconds per order without anyone noticing, and where a badly run one loses five minutes and a customer.

The failure modes are mundane. A packer completes the bag but forgets to scan it as ready, so dispatch does not trigger. A rider arrives and cannot find the bag on an unsequenced staging shelf. Two riders arrive for one order because the assignment logic fired twice.

The dispatch desk is at the back of the store so the rider walks through the pick zone, slowing pickers and occasionally carrying the wrong bag. Each is trivial to fix and each recurs constantly unless the physical layout enforces the process.

Design the dispatch zone like a drive-through window

The best-run sites treat rider handoff as a distinct zone with its own rules: a staging shelf or rack right at the exit, sequenced by dispatch time and labelled by order number in large type; a scan-out step at the door that both confirms pickup and starts the “out for delivery” status; a rider waiting area outside the pick zone with clear sightlines to the staging rack; and a single dispatcher role during peak whose only job is to match bags to riders and keep the rack in order. None of this requires technology beyond the existing app and a barcode scanner.

Stock accuracy, substitutions and refund leakage

A dark store’s stock record is its promise to the customer. When the app shows an item as available, the customer orders it, and the picker cannot find it, the site has four bad options: substitute, short the order, cancel the line and refund, or cancel the order. All four cost money and trust. In quick commerce, where the basket is small and the customer has often ordered because they need the specific item now, the substitution that a scheduled grocery customer might tolerate reads as a failure.

Inventory inaccuracy in a small site has specific causes: inbound receiving errors, where a delivery is booked in at the ordered quantity rather than the counted quantity; unscanned picks, where an item leaves the shelf without the system knowing; damage and expiry that is thrown away but not logged; and theft, internal or external.

And the silent one, mis-slotting, where a SKU is put away in the wrong location so the system count is right but the picker cannot find it in the time available and marks it out of stock.

Cycle counting that fits between orders

A dark store cannot shut for a stocktake, but it does not need to. Because the fast zone carries most of the volume and most of the risk, a daily count of the top 100 to 200 SKUs in the trough hours catches the majority of discrepancies before they reach an order. The long tail is counted on a rolling schedule, a few locations per shift, so every location is touched every two to four weeks. Discrepancy rates by SKU and by location are the early warning that a receiving process, a picker or a shelf is drifting.

Expiry management as margin protection

Fresh and chilled categories are the highest-margin and highest-waste lines in the assortment. Waste in a small site is rarely dramatic; it is a few units of salad, milk and ready meals per day that quietly exceed a couple of percent of category sales. The controls are first-expired-first-out putaway, which means receiving staff put the newest stock behind the oldest, a daily expiry sweep of the chilled zone, and dynamic markdown or removal from the app of items within a day of expiry rather than gambling that they sell.

The substitution policy question

Operators disagree on substitutions. One camp allows the picker to substitute a like-for-like item and notify the customer, on the grounds that a near-complete order delivered fast beats a refund. The other camp offers no substitutions and instead invests in stock accuracy so that the out-of-stock event is rare. The second approach is operationally harder but reads better in reviews, and it forces the discipline that lifts accuracy across the board.

Whichever policy is chosen, the customer must be told before the rider leaves, with a one-tap option to decline, so the substitution does not arrive as a surprise.

What metrics are worth watching daily in a dark store?

A site manager who tracks too many numbers ends up managing none of them. The operational metrics that move the promise and the margin, and that a site can actually influence day to day, fit on a single screen. They divide into speed, accuracy and labor, and each should be read by hour, not as a daily average, because the daily average is dominated by the trough and hides the peak.

  • Promise attainment: the share of orders delivered inside the promised window, by hour. This is the headline metric, and the 5-to-9 p.m. number is the one that matters.
  • Click-to-door time, decomposed into acceptance, pick and pack, handoff wait, and ride. The decomposition shows where minutes are being lost; the total alone does not.
  • Lines per labor hour and orders per labor hour, by shift. The first measures picking efficiency, the second adds packing and dispatch and is the number that drives the cost line.
  • Perfect order rate: orders with no missing item, no substitution, no damage and no refund. This is the accuracy composite; a site can be fast and still be losing money here.
  • Out-of-stock at pick: the share of order lines the picker could not fulfill. Read alongside the stock accuracy discrepancy rate from cycle counts.
  • Handoff wait: minutes between pack complete and rider scan-out. Anything consistently above 90 seconds at peak indicates a dispatch or rider-supply problem.
  • Waste as a share of category sales for fresh and chilled, daily.
  • Refund and credit rate as a share of order value, with reason codes, because a refund for a missing item and a refund for a late delivery point to different fixes.

How does the dark store model fit into the wider retail picture?

The rapid-delivery dark store boom of 2020 to 2022, followed by the consolidation of 2023 and 2024 in which Gorillas was absorbed by Getir, Getir retreated from most of its international markets, and several smaller operators closed, left a more sober landscape. The sites that survived were those whose operations could hold a promise at peak without subsidizing every order. That survival filter is why floor-level execution, rather than app design or marketing, is now the main differentiator between operators.

It also reframes the relationship between dark stores and conventional shops. As our overview of brick and mortar retail in 2026 argues, physical retail did not die; it specialized. Dark stores are one expression of that specialization, a format that takes the fulfillment job away from the sales floor so the sales floor can do what it does best. Grocers increasingly run hybrid models where a store’s back room is converted to a micro-fulfillment area, and pure-play operators partner with established retailers for buying scale and brand trust.

The wider industry context, including the pressures on department stores and grocers that make fulfillment efficiency a survival issue rather than a growth option, is covered in our report on the state of retail.

For the dark store operator, the practical reading of that context is that the promise is now a commodity, and the economics of quick commerce reward only the sites that keep it cheaply. Every competitor can print “in 15 minutes” on a screen. The site that actually delivers it at 7 p.m. in the rain is the one that keeps the customer.

What conventional retail can borrow

Some of the operational discipline flows back the other way. Store teams that fulfill online orders from the shop floor are borrowing velocity slotting for their back rooms, scan-to-verify at the pack point, and dispatch zones for kerbside pickup. The principles of visual merchandising still govern the shop floor, but the back-of-house is quietly becoming a small warehouse with the same problems and the same fixes.

Labor is the constraint that does not go away

Whatever the layout, a dark store is labor-intensive. The US Bureau of Labor Statistics tracks employment and wage data for warehouse and delivery occupations on its official site, and the long-run trend in both categories has been rising wages and persistent turnover. For a site manager, that translates into a hiring and training loop that never closes. The operators who hold their promise are usually the ones whose layout and process are simple enough that a new picker is productive on day two, not day ten, which is itself an argument for the plain hybrid slotting rule and the serpentine path.

FAQ on dark store operations

How big is a typical rapid-delivery dark store?

Most neighborhood rapid-delivery sites fall in the 2,000 to 10,000 square foot range and carry roughly 1,500 to 4,000 SKUs. Larger grocery customer fulfillment centers serving scheduled delivery across a metro area can exceed 30,000 square feet and carry tens of thousands of SKUs, but those follow a different operating model with longer pick windows and often some automation.

What is velocity slotting and why does it matter so much in a small site?

Velocity slotting places the fastest-selling SKUs closest to the pack bench and at the most ergonomic pick height. In a small site, the walk between pick locations is a large share of the time per order line, so shortening the walk for the 20 percent of SKUs that make up most picks has an outsized effect on throughput and on how many orders a picker can handle at peak.

Is batch picking always faster than picking one order at a time?

Batch picking raises lines picked per hour by sharing travel across several orders, but it delays the first order in the batch until the last line of the batch is picked. In the trough, single-order picking gives the fastest time to door. At peak, batches of two to four orders usually win on both throughput and promise attainment, provided the wait window used to assemble the batch is short.

How many pickers does a dark store need?

There is no single number because demand is so peaky. A neighborhood site might run one or two people on the floor in the mid-afternoon trough and four to six during the 5-to-9 p.m. peak, plus a much larger rider pool. The useful planning unit is orders per labor hour by day part, with the peak plan built first and the trough plan derived by removing shifts.

What is the most common reason a dark store misses its delivery promise?

In many sites the rider handoff, not picking, is the weak point: bags that are packed but not scanned as ready, unsequenced staging shelves that riders have to search, and rider supply that thins out exactly when orders spike. Decomposing click-to-door time into pick, handoff wait and ride, by hour, is the fastest way to find which block is inflating at peak.

How do dark stores keep inventory accurate without closing for a stocktake?

They cycle count. The top 100 to 200 SKUs by velocity are counted daily in quiet hours, and the long tail is counted on a rolling schedule so every location is touched every two to four weeks. Scan-to-pick, counted (not booked) receiving, and a logged waste process close the other main sources of drift.

Should a dark store allow substitutions?

Operators are split. Allowing like-for-like substitutions with customer notification keeps orders complete; refusing substitutions forces the stock accuracy discipline that prevents the out-of-stock in the first place. Whichever policy is chosen, the customer should be told before the rider leaves, with a simple option to decline.

What daily metrics matter most to a dark store manager?

Promise attainment by hour, click-to-door time decomposed into pick, handoff and ride, orders and lines per labor hour, perfect order rate, out-of-stock at pick, handoff wait, fresh waste as a share of category sales, and refund rate with reason codes. Reading all of them by hour rather than as a daily average is the difference between seeing and hiding the peak problem.