Module 4 - Reveal as OTS
Supplying an advanced modeler with deterministic OTS data
The structure of an OTS export is relatively flexible. The most important things to keep in mind are the aggregation and privacy limits that are imposed by the system. Below are a few proposed structures
OTS Outputs
Role Required: MODULE_4_MODELER
The below outputs are what is made available to Module 4 modelers only; these are not publicly accesible datasets and thus are not subject to client-grade aggregation thresholds.
Outputs relating to the OTS metrics layer are split into two classes of proposal: sketch-based vs. device based.
Sketch Based Outputs
Modelers will need to be able to perform set cardinality operates against the OTS layer. Modelers will need to know how many unique devices were observed in any particular "bin" (e.g. a single frame on a single day in a single hour), but also be able to combine these bins with others and scaffold up aggregated unique counts.
We prefer to leverage probabilistic datasketches as a way to provide building blocks needed to compute aggregated reach on arbitrary dimensions. Using a datasketch helps preserve privacy (MAIDs are hashed and inserted into a binary datastructure, cannot be pulled out) and reduce computational complexity (dataset size is bounded at the expense of approximations, but the error can be tuned).
We use either HLL or Theta sketches used for count distinct operations. HLL is popular and supported natively in many environments (e.g. Snowflake). Theta is useful if intersections are required (i.e. number of unique people exposed to both asset A and asset B).
Daily Asset Level OTS output - Sketch Based
asset_id- AMS ID for a particular asset/structureframe_id- AMS ID for a frame / facedate- report dateots_impressions- number of device-level OTS impressionsdevice_sketch- HLL or Theta sketch used for count distinct operations
28-Day Hour of Week OTS Output - Sketch Based
Using a 4-week observation window (standard buying cycle in OOH), aggregate by hour of week and sum impressions and union reach over all 4 occurances.
asset_idframe_idstart_date- start date of analysis period, e.g.2025-02-01end_date- end date of analysis period, e.g.2025-02-28hour_of_week-int(0-167)ots_impressions- number of device-level OTS impressions, summed over all occurancesdevice_sketch- unioned over all occurances
Device-Based OTS Outputs
If the modelers are planning to create frequency curves (distinct from average frequency), datasketches can present some challenges. While it is possible to leverage a Tuple Sketch to model frequency curves, modelers may find it too cumbersome. In this case, we can export device-level exports, to allow modelers to directly compute reach and frequency for whatever aggregation scope they'd like. The devices are hashed using a one-way hash function with a seed / private key that would be kept unknown to them, to avoid re-matching.
Day Asset Level OTS Output - Device Based
asset_id- AMS ID for a particular asset/structureframe_id- AMS ID for a frame / facedate- report datedevice_id- hashed device IDots_impressions- number of device-level OTS impressions
28-Day Hour of Week OTS Output - Device Based
Using a 4-week observation window (standard buying cycle in OOH), aggregate by hour of week and sum impressions and union reach over all 4 occurances.
asset_idframe_idstart_date- start date of analysis period, e.g.2025-02-01end_date- end date of analysis period, e.g.2025-02-28hour_of_week-int(0-167)device_id- hashed device IDots_impressions- number of device-level OTS impressions, summed over all occurances
LTS Context
Reveal also provides aggregated datasets with mobility-derived features for the purposes of modeling LTS. These datasets do not purport to establish LTS metrics, but rather may be used by Module 4 Modelers to help inform their LTS and Audience models.
28-Day Hour of Week LTS Context
Bins can be customized, but should be fixed
asset_idframe_idstart_date- start date of analysis periodend_date- end date of analysis periodhour_of_week-inthour of week (0-167)dwell_hist-array[int]- histogram of dwell with fixed bins- 6 bins -
[0, 1),[1, 2),[2, 5),[5, 10),[10, 20),[20, ∞)
- 6 bins -
- angle_hist -
array[int]- histogram of angles with fixed bins- 6 bins -
[0, 10),[10, 20),[20, 30),[30, 45),[45, 60),[60, ∞)
- 6 bins -
- distance_hist -
array[int]- histogram of distance in meters with fixed bins- 7 bins -
[0, 10),[10, 25),[25, 50),[50, 100),[100, 200),[200, 400),[400, ∞)
- 7 bins -
Updated about 3 hours ago
