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.

Request a sampleAll datasets

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, 2026

Radio 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.
ColumnTypeWhat it holds
hourtimestampUTC hour the 6-minute exposure slots of the row started.
screen_mongo_idstringTrillboards screen id (24-character hex); joins dim_screen.screen_id.
sourcestringRadio signal source: ble, wifi, mdns, ssdp or http_probe.
visitor_sourceinteger1 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_windowsintegerExposure windows: one per device key, screen, source and 6-minute slot. Unit: exposure_windows.
unique_devicesintegerDistinct device keys (the canonical visitor id) seen at the screen in the hour on the source. Unit: identifiers.
returning_devicesintegerOf those, the keys seen at this screen on an earlier day (30-day look-back). Unit: identifiers.
cross_screen_devicesintegerOf those, the keys that also appear at another screen (cross_screen_transitions). Unit: identifiers.
total_dwell_secondsintegerSum over the windows of each window's dwell (first to last sighting in the slot). Unit: seconds.
attention_windowsintegerWindows 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_secondsintegerSum 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_secondsintegerExact median dwell of the windows. Unit: seconds.
p90_dwell_secondsintegerExact 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.
ColumnTypeWhat it holds
hour_starttimestampStart of the UTC hour. The hour of the 5-minute radio bucket.
screen_mongo_idstringTrillboards screen id (24-character hex); joins dim_screen.screen_id.
evidence_gradestringGrade (face_backed or person_backed) of the latest camera window that closed within 15 s of a bucket of the row.
unique_devicesintegerDistinct 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_windowsintegerDistinct (visitor key, 5-minute bucket) pairs. Unit: device_buckets.
face_present_windowsintegerOf those, the pairs whose camera window read at least half a face. Unit: device_buckets.
attention_high_windowsintegerOf those, the pairs whose camera window qualifies under the published attention rule. Unit: device_buckets.
total_radio_pingsintegerRadio 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 sample

All datasets · Next: Ad delivery, hourly