A vehicle count for each lot on your list, daily where imagery allows.
Per-site occupancy series from very-high-resolution imagery, indexed to a base period you choose, for charting against reported comps.
Spec
- GSD
- ≤0.5 m (VHR)
- Cadence
- Daily, as a target
- Platform
- VHR satellite and aerial passes
- Spectral
- RGB
- Counted
- vehicles in the lot
- Unit
- one site, one date
- Output
- CSV series per site
Files in the delivery
| File | Format | What's in it |
|---|---|---|
| Daily vehicle count | CSV | One row per site per date: the vehicle count, the date of the pass it came from, and a blank where no usable pass exists. Loads into Excel, Python or R as it is. |
| Indexed occupancy series | CSV | The same counts divided by each site's count in a base period you choose, so a flagship centre and a small strip compare on one axis. Chart it beside a tenant's reported comps. |
| Source frame per date | Image | The picture of the lot behind each count. Open the odd day that looks wrong and check the count against the cars you can see. |
How it works
- 01
Send the site list
One lot per row, as addresses or coordinates, plus the base period you want the index set to.
- 02
Coverage check
Before anything is tasked we tell you which lots can be covered and how often. Coverage depends on what is tasked for the project, so a site is not assumed to be on it.
- 03
Pass and count
Repeat imagery of each lot at 0.5 m or better. Vehicles in the lot are detected and counted on every usable pass.
- 04
Series delivered
Counts, index and source frames land as files. Days without a usable pass are left empty.
Limits
| Condition | What it does to the series |
|---|---|
| Cloud and tasking leave gaps | Daily is the target, not a promise for every lot. A cloudy day or a missed pass shows as an empty row. It never shows as a low count. |
| 0.5 m is the floor | A car is a handful of pixels long at this resolution. That is enough to count vehicles in a lot, not to tell a van from a pickup or read a plate. Cars parked close together in a full lot are the hardest case, and the source frame is there so you can check one. |
| Vehicles, not visitors | The count includes delivery trucks, staff cars and anything else parked in the lot. It moves with traffic. It is not a headcount of shoppers. |
| Off-lot parking and garages | Cars on the street, in an overflow field outside the outline, or under a deck or roof do not show. The outline is drawn per site and stated in the delivery. |
| A lot that changes | Resurfacing, construction fencing, snow piles and re-striping change what a full lot looks like. The index will move for those reasons too. |
Why the quarter is already old by the time you see it
Card-panel and store-visit estimates arrive after the period they describe, and the tenant's print lands after that. The lot has been visible the whole time, but nobody on the desk is counting cars at every centre on the list each day. The read-through gets built from lagging inputs and the model moves after the call.
Counting the same lots on the same schedule gives you a series you can lay beside comps before they are reported. Where a pass is missing you see the gap, not a guess, so you know which weeks to lean on and which to discount.

Who it's for
For
- REIT and equity analysts covering retail or industrial landlords and their tenants.
- Alt-data teams that want a site-level series to test against reported comps.
Who it's not for
- Teams that need a count of people. This counts vehicles.
- Teams that want a buy or sell call. This is a data feed.
- Lots where most parking is indoors or on the street.
- Intraday or real-time occupancy.
Questions from the desk
Does cloud cover break the series?
A day with no usable pass is an empty row. It is never filled and never shows as a low count.
Does it count trucks and deliveries too?
Yes. The count is vehicles. Treat it as a footfall proxy, not a visitor count.
What resolution do you need?
0.5 m or finer, which is enough to see and count the vehicles in a lot. It is not enough to classify them by type.
Can you cover every site in my portfolio?
Coverage depends on what is tasked for the project. Send the list and we check it before anything starts.
Can I validate it against my own numbers?
Yes. Every count comes with its source frame, so you can compare a date against a count you did by eye, against tenant commentary or against your own reported comps.
What format does it arrive in, and can it go into our pipeline?
CSV, one series per site. If you need it loaded another way, say so when you scope the project.
Who owns the data we receive?
Terms for use and redistribution of the delivered series are written into the contract before work starts. The imagery sources keep their own licences.
How is it priced?
Pricing is set per project once the scope is written down. Send the site list and we will come back with that scope.
Add a site, see the index.
Send the site list and we will tell you which lots we can cover.
Start a project