Menu
Where they went
Radio presence and device exposure
Counts of the devices near each screen, read from the signals nearby phones and other devices broadcast (Bluetooth, mDNS, SSDP and HTTP probes): distinct devices, returning devices, devices also seen at another screen, dwell and exposure seconds, per screen, hour and signal. A co-presence table lines each five-minute radio count up with the camera reading beside it, and device-level files list every play or window by device, on a device key salted for your company.
The question it answers
How many devices were near this screen, how long did they stay, and did they come back?
5,633
radio screens, 28 days
1,163
radio screens with no camera
2.4 million
screen-hours by signal
Measured over the 28 days to October 11, 2026.
The dataset
- Grain
- Hourly.
- Cadence
- Hourly rows, one file per day.
- History
- From May 24, 2026.
- Format
- Parquet or JSONL.
- Delivered to
- Your S3 bucket, your GCS bucket, or a time-limited download link, with a manifest and a schema.
- Method
- How each measure is produced and how to add rows up: the measurement methodology.
What buyers do with it
- Reach and frequency at device level, per screen and hour.
- Visit, dwell and return rates for venues.
- Audience counts at screens that carry radio and no camera.
The tables
Read from the export registry each time this site is built.
device_exposure_hourly
Hourly, from May 24, 2026Radio exposure per screen, hour and signal: distinct, returning and cross-screen devices, dwell and attention seconds.
- Grain
- One row per hour, screen_mongo_id and source.
- Delivery
- One file per day, as Parquet or JSONL.
- Basis
- Measured.
- Definition
- Version 3.
| Column | Type | What it holds |
|---|---|---|
hour | timestamp | UTC hour the 6-minute exposure slots of the row started. |
screen_mongo_id | string | Trillboards screen id (24-character hex); joins dim_screen.screen_id. |
source | string | Radio signal source: ble, wifi, mdns, ssdp or http_probe. |
visitor_source | integer | 1 when the source is one the canonical visitor count uses (ble, mdns, ssdp, http_probe), 0 for wifi. Visitor headline counts sum the rows with 1. |
n_windows | integer | Exposure windows: one per device key, screen, source and 6-minute slot. Unit: exposure_windows. |
unique_devices | integer | Distinct device keys (the canonical visitor id) seen at the screen in the hour on the source. Unit: identifiers. |
returning_devices | integer | Of those, the keys seen at this screen on an earlier day (30-day look-back). Unit: identifiers. |
cross_screen_devices | integer | Of those, the keys that also appear at another screen (cross_screen_transitions). Unit: identifiers. |
total_dwell_seconds | integer | Sum over the windows of each window's dwell (first to last sighting in the slot). Unit: seconds. |
attention_windows | integer | Windows whose slot carried a camera attention value. Through 2026-09-23 a slot no camera window covered carried none; from 2026-09-24 the windower writes 0 for such a slot, so every window counts. Unit: exposure_windows. |
total_attention_seconds | integer | Sum over those windows of the slot's camera attention seconds (the slot's high or medium attention camera windows times their length); every window of a slot carries the slot's value. From 2026-09-24 a slot no camera covered counts 0. Unit: seconds. Null: No window of the row carried a camera attention value (through 2026-09-23: no camera window covered its slots). |
p50_dwell_seconds | integer | Exact median dwell of the windows. Unit: seconds. |
p90_dwell_seconds | integer | Exact 90th-percentile dwell of the windows. Unit: seconds. |
screen_hourly_presence
Hourly, from June 24, 2026- Grain
- One row per hour_start, screen_mongo_id and evidence_grade.
- Delivery
- One file per day, as Parquet or JSONL.
- Basis
- Measured.
- Definition
- Version 2.
| Column | Type | What it holds |
|---|---|---|
hour_start | timestamp | Start of the UTC hour. The hour of the 5-minute radio bucket. |
screen_mongo_id | string | Trillboards screen id (24-character hex); joins dim_screen.screen_id. |
evidence_grade | string | Grade (face_backed or person_backed) of the latest camera window that closed within 15 s of a bucket of the row. |
unique_devices | integer | Distinct canonical visitor keys (BLE, mDNS, SSDP, HTTP probe) in the screen-hour's buckets that had a camera window within 15 s. Unit: identifiers. |
observation_windows | integer | Distinct (visitor key, 5-minute bucket) pairs. Unit: device_buckets. |
face_present_windows | integer | Of those, the pairs whose camera window read at least half a face. Unit: device_buckets. |
attention_high_windows | integer | Of those, the pairs whose camera window qualifies under the published attention rule. Unit: device_buckets. |
total_radio_pings | integer | Radio pings of the visitor keys in those buckets (each key and bucket's largest cluster size, capped at 255). Unit: pings. |
Request a sample
Tell us the markets and the weeks you want. The sample is cut from production by the same export that makes the full delivery.
Request a sampleAll datasets · Next: Ad delivery, hourly