Who was there

Screen demographics

The readings behind audience composition, one row per reading: the screen, the time, the attribute and its value. Roll them up to any screen and week, or join them to plays, billboard passes and radio counts on the screen and the time.

Request a sampleAll datasets

The question it answers

What does the audience at this one screen look like, week after week?

4,574

screens with a reading

122.6 million

readings

Measured over the 28 days to October 11, 2026.


The dataset

Grain
One row per reading.
Cadence
One row per reading, one file per day.
History
From July 16, 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

  • Screen-level audience profiles for curating inventory and packaging deals.
  • Week-over-week change in who visits a venue or rides in a cab.
  • Training data for audience models that need the individual reading.

The table

Read from the export registry each time this site is built.

observation_demographics

One row per event, from July 16, 2026

Every attribute reading the cameras make: screen, time, attribute and value.

Grain
One row per observation_id, dimension and value.
Delivery
One file per day, as Parquet or JSONL.
Basis
Measured.
Definition
Version 2.
ColumnTypeWhat it holds
observed_datedateUTC day of the reading.
observed_attimestampWhen the camera observation the reading comes from was made, UTC.
screen_mongo_idstringTrillboards screen id (24-character hex); joins dim_screen.screen_id.
observation_idstringThe camera observation (one analysed frame window) the reading belongs to.
dimensionstringThe audience attribute read (config/observationDemographicsDimensions.js): age, gender, mood, device_engagement, activity_state, intent, attire, lifestyle, carried_items and the others declared. head_turn and occupant_position are image-frame values: head_turn is turned_image_left, turned_image_right, not_turned or not_assessable (where the nose points relative to the edges of the picture), occupant_position is image_left_third, image_center_third, image_right_third or driving (the third of the picture the person occupies). Neither is a side of the vehicle or the street: a rearward cabin camera mirrors the vehicle's left and right.
valuestringThe value read for the dimension. lifestyle values are numeric IAB Audience Taxonomy 1.1 segment ids (segtax=4); the other dimensions use our own vocabulary.
countintegerReadings of the value in the observation: 1 on every row (one row is one reading). Unit: readings.

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: Play-level audience