How PIN-Code and Dark-Store-Level Collection Works
Executive Summary
Learn how location and fulfillment context shape quick-commerce observations, and design a PIN-code and service-point panel without overstating dark-store identity.
The buyer problem: one city is not one digital shelf
CPG and ecommerce teams often ask for a city-level view of quick commerce. That level is usually too coarse. A shopper's location helps determine the service area, fulfillment node, assortment, availability, offer, search result, and ETA they can see. The practical decision is how many location-time observations are needed to represent a market without pretending that a PIN code equals a dark store.
Platform documentation establishes the location dependency. Blinkit says its app processes precise location to customize location-based information and features in its privacy policy. Zepto says location may be used for search results and personalized content in its privacy notice. Swiggy says device location customizes location-based services in its privacy policy, while its corporate description says Instamart orders are processed through dark stores. Those documents support location-aware testing; they do not prove that a particular PIN maps one-to-one to a store.
Evaluation criteria for a location panel
| Criterion | Good design | Common mistake |
|---|---|---|
| Spatial resolution | Stable, approved address or coordinate cells | One centroid for an entire PIN code |
| Temporal resolution | Comparable local-time windows | Mixing morning and peak-hour snapshots |
| Session control | Locale, account, membership, cart, and mode recorded | Treating personalized output as universal |
| Node inference | Evidence-based clusters with confidence | Inventing a dark-store ID from an address |
| Failure semantics | Out of service, OOS, empty, and error separated | Counting all blanks as unavailable |
| Privacy | Synthetic or business-approved locations, minimized precision | Retaining household coordinates unnecessarily |
PIN code, service point, and fulfillment node are different objects
A PIN code is a postal geography. A service point is the location context submitted to the platform. A fulfillment node is the physical or logical inventory source selected for that request. Boundaries can cross PIN codes, overlap, or change with capacity. Large-format nodes further complicate inference: Swiggy's official 2025 announcement describes “megapods” of 10,000–12,000 square feet that can hold up to 50,000 SKUs, about three times a normal dark store's range. See Swiggy's Instamart expansion release. Treat the numbers as a dated company disclosure, not a universal store specification.
Recommended collection design
- Define the market. Choose cities, priority PIN codes, brands, SKUs, and queries based on the business decision.
- Create a service-point grid. Use approved commercial landmarks or synthetic points; retain only the precision necessary for reproducibility.
- Resolve serviceability. Record the platform response before collecting products. Do not substitute a nearby location silently.
- Hold session variables constant. Fix locale, fulfillment mode, account class, membership, and experiment cohort where possible.
- Repeat by time window. Use matched morning, afternoon, peak, and weekend panels if intraday availability matters.
- Cluster outcomes cautiously. Similar assortment fingerprints may suggest a shared node, but label that result as inferred.
Canonical location-observation schema
| Field | Example | Interpretation |
|---|---|---|
| observed_at | 2026-08-19T18:15:00+05:30 | When the platform state was seen |
| service_point_id | blr_grid_017 | Approved internal location key |
| serviceability | served | Separate from product availability |
| source_node_id | null | Populate only if the source exposes it |
| inferred_cluster_id | cluster_08 | Analytical grouping, not a claimed store |
| product state | ₹89, in_stock | Price and availability at this context |
| search state | “oats”, position 7 | Query-specific ordered placement |
| eta_minutes_displayed | 14 | Displayed estimate, not actual delivery time |
Blinkit's current terms state that shown delivery time is an estimate that can change with demand, traffic, weather, location, and other conditions; see the Blinkit terms.
POC test matrix
| Test | Design | What it establishes |
|---|---|---|
| Within-PIN variation | 3 separated points in one PIN, same 15-minute window | Whether the PIN centroid is representative |
| Boundary test | Pairs on either side of a suspected service edge | Serviceability and assortment discontinuity |
| Time repeat | Same points at 08:00, 14:00, and 20:00 | Intraday stock and ETA movement |
| Session repeat | Fresh and returning approved sessions | Potential personalization effect |
| Sentinel basket | 20 stable SKUs plus category and search pages | Comparable assortment fingerprints |
| Negative control | Known unserved point and nonsense query | Correct empty/error classification |
Metrics that survive location complexity
- Location-weighted in-stock rate: in-stock product-location-time observations divided by eligible observations.
- Numeric distribution: locations where the SKU was observed in stock divided by served locations tested.
- Price dispersion: spread of selling price across matched location-time cells.
- Share of shelf: qualifying brand results divided by all qualifying results for a query, with sponsored and organic views separated.
- Assortment similarity: Jaccard overlap between sentinel catalogs, useful for clustering but not proof of a shared store.
Pair geographic variation data with inventory observations, then connect the results to the CPG brand workflow. Platform-specific scope can start with Blinkit, Zepto, and Swiggy Instamart.
Limitations and POC exit criteria
App experiments, logged-in personalization, membership pricing, cached sessions, node reassignment, surge conditions, and catalog errors can all confound comparisons. A POC must demonstrate repeatable service-point selection, acceptable field completeness, stable match accuracy, a defensible time panel, and clear failure semantics. It must also pass platform-terms, privacy, security, and data-retention review. Do not collect a person's precise location merely to improve analytics; use the minimum approved granularity and never claim direct dark-store coverage unless the source provides the identifier or the operator confirms it.
Request a location-aware sample
Request a PIN-code and service-point sample dataset for a defined SKU list and city. Ask for raw location-time observations, inferred-node confidence, and coverage notes so your team can judge whether the panel supports distribution, pricing, and digital-shelf decisions before scaling it.
Related Articles
Quick Commerce & Grocery Delivery Data: The Complete Guide (2026)
June 4, 2026
The complete guide to quick commerce and grocery delivery data: what makes the category unique, the platforms from Instacart and GoPuff to Blinkit and Zepto, the data points that matter most, and how brands and retailers use them.
Web Scraping Grocery Delivery Data: Market Intelligence Guide 2025
March 22, 2025
Comprehensive guide to web scraping grocery delivery data across Instacart, Amazon Fresh, Walmart+, and 15+ platforms. Learn data collection methods, CPG use cases, and technical challenges for grocery marketplace intelligence.
Show us the data you wish existed
Name the websites or apps, fields, locations, and frequency. We'll scope a representative sample and the production feed behind it.
Request a sample
Tell us the sources you need and what decisions the data should support