Retail footfall estimation from car-park occupancy in satellite imagery
Very-high-resolution optical satellites count vehicles in retail car parks to produce footfall proxies for equity analysts and insurers, without relying on mobile-location data. Occupancy time series reveal trading patterns, seasonal peaks and competitor shocks with honest limits around cloud, revisit and multi-storey structures.
Sensors
- Maxar WorldView-3: 30 cm panchromatic resolution, 1.24 m multispectral. The benchmark for vehicle detection in the published CNN literature; a saloon car occupies roughly 15 by 5 pixels in pan imagery. Revisit at a given point is nominally 1 day at off-nadir, though cloud and tasking demand reduce practical frequency.
- Airbus Pleiades Neo: 30 cm native resolution across four multispectral bands plus panchromatic. Stereo and tri-stereo collection possible in a single pass, which matters for shadow-based height disambiguation. Constellation of four satellites gives revisit of roughly 1 day at mid-latitudes.
- Planet SkySat: 50 cm resolution, 21-satellite constellation. Lower resolution than WorldView-3 or Pleiades Neo, but tasking flexibility is high and the archive from 2016 onward supports multi-year time-series construction. Smaller vehicles (motorcycles, compact cars) are harder to resolve reliably at this GSD.
- Maxar WorldView-2: 46 cm panchromatic, 1.84 m multispectral. Older system but carries an eight-band multispectral payload useful for surface-type classification to separate car-park tarmac from other hard surfaces. Deep archive from 2009 onward is valuable for long baseline studies.
Why a car park is a better signal than it looks
Foot-traffic data derived from mobile-phone location signals has become a standard input for retail credit and equity analysis. It is also increasingly contested: consent frameworks, device-penetration heterogeneity across demographics, and vendor methodology opacity all introduce noise that analysts cannot fully audit. A car park counted from orbit has none of those problems. The geometry is fixed, the sensor physics are public, and the count is repeatable by any analyst with access to the same image.
The proxy is imperfect by design. Car-park occupancy reflects visitors who arrive by car, which skews toward suburban and out-of-town formats. It says nothing directly about basket size, dwell time inside the store, or the share of visitors who drove past without stopping. Analysts who treat it as a transaction count will be wrong. Analysts who treat it as a directional, comparable, auditable signal of relative footfall across sites and time periods will find it genuinely useful.
What a 30 cm pixel actually resolves
A standard European saloon car is approximately 4.5 m long and 1.8 m wide. At 30 cm ground sample distance, that car occupies a patch of roughly 15 by 6 pixels in the panchromatic band. Published studies using convolutional neural-network detectors trained on WorldView and Pleiades imagery report precision and recall figures above 90 percent for well-separated vehicles in surface car parks under good illumination. Performance drops in shadow zones, near building edges, and when vehicles are closely packed in non-standard orientations.
At 50 cm (SkySat), the same car occupies roughly 9 by 4 pixels. Detection remains feasible for most passenger vehicles but compact cars, vans parked at oblique angles, and motorcycles become ambiguous. The practical consequence is that occupancy counts from 50 cm imagery carry a slightly wider uncertainty band, particularly at high-density sites. Analysts should apply a consistent sensor throughout a time series: mixing 30 cm and 50 cm collections introduces a systematic bias that can masquerade as a real trading-pattern change.
Building a time series: what it shows and what breaks it
A single image is a snapshot. The value of satellite-derived car-park counts comes from repeated observations across weeks, months and years. A time series of occupancy at a given retail site reveals intraweek trading rhythms (weekend peaks versus weekday troughs), seasonal patterns (pre-Christmas uplift, summer quietening), and event-driven shocks such as a competitor opening nearby or a major road closure. These are exactly the signals that equity analysts want when assessing like-for-like sales trends without waiting for quarterly reporting.
Cloud cover is the primary interruption. At a temperate mid-latitude site, optical imagery is cloud-free perhaps 40 to 60 percent of collection attempts, depending on season and geography. Tropical and maritime climates are worse. The practical effect is that a time series built from tasked collections will have gaps, and those gaps are not random: they cluster in winter or monsoon periods precisely when trading patterns may be most interesting. There is no optical solution to this. SAR can see through cloud but does not resolve individual vehicles at currently available commercial resolutions, so it cannot substitute directly.
Multi-storey car parks present a structural blind spot. A nadir-looking sensor sees only the roof level. The floors below are invisible. For retail sites where a significant fraction of parking is structured, the surface count is a systematically low estimate of total occupancy. Analysts need site-specific knowledge of the parking mix before drawing conclusions.
From pixel count to analyst deliverable
The processing chain has four stages. First, a vehicle detector (typically a fine-tuned convolutional neural network such as a Faster R-CNN or YOLO variant trained on labelled VHR imagery) produces a bounding-box count for each car-park polygon. Second, the count is normalised by the total marked-bay capacity of the site, derived either from the same imagery or from a reference cadastral layer, to produce an occupancy rate. Third, occupancy rates across collection dates are assembled into a time series indexed to local time of acquisition. Fourth, the time series is benchmarked against peer sites in the same retail category or geography.
The output an analyst actually receives is not a raw pixel count. It is a structured data table: site identifier, collection date and local time, vehicle count, estimated occupancy rate, confidence interval, and a flag for any image-quality issues (shadow fraction, cloud edge contamination, off-nadir angle above threshold). A GIS layer showing bounding boxes over the car-park polygon is a useful audit trail. Satellize produces this kind of structured output for clients who need it integrated into existing financial data workflows, drawing on the same processing approach used in its Tonga crop-estimation programme.
Honest limits for the financial buyer
Revisit is the binding constraint for most analytical use cases. Even with aggressive tasking across WorldView-3, Pleiades Neo and SkySat simultaneously, achieving more than one clear-sky observation per week at a given site is not guaranteed. Daily revisit is a constellation specification, not a delivered data rate once cloud and tasking conflicts are accounted for. Analysts building earnings models around weekly or monthly occupancy averages are working within the realistic envelope; analysts wanting intraday curves are not.
Latency from collection to delivered count is typically 24 to 72 hours for commercial VHR tasking, depending on downlink scheduling and processing queue. That is adequate for investment research but too slow for same-day operational decisions. Archive imagery can be processed in batch with lower latency constraints, making historical analysis faster to stand up than a live monitoring programme.
Finally, the signal is a proxy for one input channel to retail revenue. It does not capture online-to-offline fulfilment traffic, click-and-collect volumes, or delivery van activity that may substitute for or supplement in-person shopping. A retailer whose car-park count is flat but whose online sales are growing will look weaker than it is. The satellite signal needs to be read alongside other indicators, not instead of them.
Typical figures
| Typical spatial resolution (panchromatic) | 30 cm (WorldView-3, Pleiades Neo) to 50 cm (SkySat) |
| Minimum detectable vehicle | Standard passenger car (approx. 4.5 m × 1.8 m) reliably detected at 30 cm GSD; marginal at 50 cm for compact vehicles |
| Revisit at a given site | Nominally 1 day (WorldView-3, Pleiades Neo); practical clear-sky rate 40–60% in temperate climates |
| Processing latency | 24–72 hours from collection to delivered count (tasked); batch archive processing faster |
| Spectral bands used | Panchromatic primary for detection; multispectral (RGB, NIR) for surface-type classification and shadow masking |
| Archive depth | WorldView-2 from 2009; SkySat from 2016; Pleiades Neo from 2021 |
| Cloud cover limit | Optical sensors only; scenes with >20% cloud cover over the car-park polygon are typically rejected |
| Multi-storey coverage | Roof level only; below-grade and intermediate floors invisible to nadir sensors |
| Typical detection accuracy (published literature) | Precision and recall >90% for surface car parks under good illumination using CNN object detectors on WorldView/Pleiades imagery |
| Delivery formats | CSV time-series table, GeoJSON bounding-box layer, GeoTIFF chips, API feed |
Analytics Satellize can run
| Site occupancy time series | CNN vehicle detection (Faster R-CNN or YOLO variant) on VHR optical imagery, count normalised by mapped bay capacity | Structured CSV or API feed: site ID, date, local time, vehicle count, occupancy rate, confidence interval, image-quality flag |
| Peer-site benchmarking report | Parallel occupancy extraction across a defined peer group of retail sites; statistical normalisation for site size and parking-mix differences | PDF or spreadsheet report ranking sites by occupancy index relative to category median, with trend lines |
| Seasonal and event-driven anomaly detection | Z-score or seasonal decomposition (STL) applied to the occupancy time series to flag statistically significant departures from expected pattern | Alert feed with anomaly date, magnitude, direction (uplift or decline) and annotated image chip |
| Competitor-impact assessment | Before-and-after occupancy comparison at target site and nearby competitor sites around a defined event date (store opening, closure, refurbishment) | Briefing note with occupancy curves, confidence intervals and plain-language interpretation for non-specialist readers |
| Multi-year baseline for pre-IPO or M&A due diligence | Batch processing of archive imagery across available history; gap-filling flagged explicitly rather than interpolated | Historical occupancy dataset with data-quality metadata, suitable for inclusion in investment committee materials |
| Car-park capacity mapping | Semi-automated bay delineation from VHR imagery using line-detection and parking-stripe segmentation; validated against ground-truth where available | GeoJSON polygon layer of individual bays and aggregate capacity per site, used as denominator for occupancy rate calculation |
Who does the work
We can get this done for you. Satellize runs its own analyst desk and a strong science team. You do not buy a data feed and work out what it means; our people source the imagery, run the analysis described on this page, and hand you the answer with its confidence limits stated. Discuss this requirement.