Set Dynamics Responses

This dataset contains the observer reach and frequency of each request.

Set Dynamics returns detailed reach and frequency results for each scenario, providing comprehensive metrics for campaign planning and analysis. Results are delivered as JSON objects containing scenario metadata and performance metrics.

Response Structure

Each response contains customer information, cohort details, and reach metrics across multiple frequency thresholds and duration periods.

{
  "customer": {
    "customer_id": 30,
    "customer_name": "Motionworks",
    "customer_scenario_id": "686d59e67e25e60012b986cb",
    "customer_scenario_name": "Albany NY panels",
    "customer_scenario_info": "{\"customer_name\":\"test_name\",\"customer_email\":\"[email protected]\"}"
  },
  "cohort": {
    "customer_segment_id": 2035,
    "customer_base_segment_id": 9330,
    "geography_ids": ["US2020XDMA532"]
  },
  "effective_reach_per_duration": [
    {
      "duration": "28",
      "effective_freq_list": [
        {"effective_freq": "1", "lts_reach": 0.38148},
        {"effective_freq": "2", "lts_reach": 0.30715},
        {"effective_freq": "3", "lts_reach": 0.25684},
        {"effective_freq": "4", "lts_reach": 0.22148},
        {"effective_freq": "5", "lts_reach": 0.19922},
        {"effective_freq": "6", "lts_reach": 0.1845},
        {"effective_freq": "7", "lts_reach": 0.16959},
        {"effective_freq": "8", "lts_reach": 0.15534},
        {"effective_freq": "9", "lts_reach": 0.14473},
        {"effective_freq": "10", "lts_reach": 0.13538},
        {"effective_freq": "11", "lts_reach": 0.12776},
        {"effective_freq": "20", "lts_reach": 0.07511},
        {"effective_freq": "50", "lts_reach": 0.02026},
        {"effective_freq": "100", "lts_reach": 0.00074}
      ]
    }
  ],
  "debug": {
    "qa_flag": "ideal",
    "devices_panel": 224.17,
    "lts_ots_disorder": false,
    "per_duration": [
      {
        "duration": "28",
        "unique_people": 137773.59,
        "total_exposures": 795053.09,
        "target_devices_routed": 37.14,
        "device_events": 220.1,
        "days_with_obs": "39",
        "pct_days_with_obs": 144.44,
        "num_observed_devices": "34",
        "total_observed_passes": "136",
        "qa_flag": "ideal"
      }
    ]
  },
  "messages": "Success"
}

Schema

NameDescriptionTypeExample
customer.
customer_id
Motionworks customer identification number (echoed from request)integer30
customer.
customer_name
Customer organization name (echoed from request)stringMotionworks
customer.
customer_scenario_id
Unique identifier for the scenario (echoed from request)string686d59e67e25e60012b986cb
customer.
customer_scenario_name
Human-readable scenario name (echoed from request)stringAlbany NY panels
customer.
customer_scenario_info
Additional scenario information, often containing customer contact details as JSON string (echoed from request)string{"customer_name":"test_name","customer_email":"[email protected]"}
cohort.
customer_segment_id
Consumer demographic segment used for analysis (echoed from request)integer2035
cohort.
customer_base_segment_id
Base age segment used for analysis (echoed from request)integer9330
cohort.
geography_ids
Array of geographic markets included in the analysis (echoed from request)array of strings["US2020XDMA532"]
effective_reach_per_durationArray of reach and frequency results organized by analysis duration. Contains one object for each requested duration periodarray of objects[{"duration":"28","effective_freq_list":[...]}]
effective_reach_per_duration[].
duration
Analysis duration in days for this set of resultsstring28
effective_reach_per_duration[].
effective_freq_list
Array of reach percentages for each effective frequency thresholdarray of objects[{"effective_freq":"1","lts_reach":0.38148}]
effective_reach_per_duration[].
effective_freq_list[].
effective_freq
Frequency threshold (minimum number of exposures)string1, 2, 10, 50, 100
effective_reach_per_duration[].
effective_freq_list[].
lts_reach
Percentage of target population reached at or above this frequency threshold. Values are decimal representations (e.g., 0.38148 = 38.148%)float0.38148
debugDiagnostic detail behind the results. Provided for QA and support; not intended for planning use.objectSee below
debug.
qa_flag
Scenario-level quality tier summarized across durations: ideal, good, or bad.stringideal
debug.
devices_panel
Panel devices associated with the target population for this scenario.float224.17
debug.
lts_ots_disorder
True when likely-to-see reach exceeded opportunity-to-see reach, which indicates an unreliable scenario.booleanfalse
debug.
per_duration
Array of per-duration diagnostics, one object per analysis duration. Each object carries its own duration, so match on that rather than on position.array of objects[{"duration":"28", ...}]
debug.per_duration[].
duration
Analysis duration in days that this set of diagnostics describes. Diagnostics may cover intermediate durations that do not appear in effective_reach_per_duration.string28
debug.per_duration[].
unique_people
Estimated people reached at least once during the duration.float137773.59
debug.per_duration[].
total_exposures
Estimated exposures during the duration (people reached x frequency).float795053.09
debug.per_duration[].
target_devices_routed
Devices with routes used in this scenario, before population weighting.float37.14
debug.per_duration[].
device_events
Device-level exposures before population weighting (devices x frequency).float220.1
debug.per_duration[].
days_with_obs
Days on which at least one pass was observed.string39
debug.per_duration[].
pct_days_with_obs
Days with observations as a percentage of the scenario period span. Values can exceed 100 because observed days span a wider window.float144.44
debug.per_duration[].
num_observed_devices
Distinct devices observed passing the spots in the set.string34
debug.per_duration[].
total_observed_passes
Observed passes counted across the spots in the set.string136
debug.per_duration[].
qa_flag
Quality tier for this duration: ideal, good, or bad. Populated even when the measures are absent.stringideal
debug.
composition
Present on some responses. Internal detail about how the campaign was assembled, retained for support. Not intended for planning use, and its fields may change without notice.object{"flight_days":28, ...}
messagesProcessing status message. "Success" for successful processing, error description for failuresstringSuccess

Multiple Durations

When multiple duration periods are requested, the effective_reach_per_duration array contains separate objects for each period:

{
  "customer": {...},
  "cohort": {...},
  "effective_reach_per_duration": [
    {
      "duration": "7",
      "effective_freq_list": [...]
    },
    {
      "duration": "14", 
      "effective_freq_list": [...]
    },
    {
      "duration": "28",
      "effective_freq_list": [...]
    }
  ],
  "debug": {
    "qa_flag": "ideal",
    "devices_panel": 224.17,
    "lts_ots_disorder": false,
    "per_duration": [
      {"duration": "7", ...},
      {"duration": "14", ...},
      {"duration": "28", ...}
    ]
  },
  "messages": "Success"
}

Campaign Flight Results

A campaign measured over a single flight returns one entry in effective_reach_per_duration, at the flight length. The diagnostics still report the shorter durations behind that result, so the two arrays differ in length. Match on the duration field rather than on position:

{
  "customer": {...},
  "cohort": {...},
  "effective_reach_per_duration": [
    {
      "duration": "28",
      "effective_freq_list": [...]
    }
  ],
  "debug": {
    "qa_flag": "ideal",
    "devices_panel": 1502.44,
    "lts_ots_disorder": false,
    "per_duration": [
      {
        "duration": "7",
        "unique_people": 758950.69,
        "total_exposures": 2157137.32,
        "target_devices_routed": 758950.69,
        "device_events": 2999,
        "days_with_obs": "7",
        "pct_days_with_obs": 100,
        "num_observed_devices": "991",
        "total_observed_passes": "2999",
        "qa_flag": "ideal"
      },
      {"duration": "14", ...},
      {"duration": "21", ...},
      {"duration": "28", ...}
    ],
    "composition": {...}
  },
  "messages": "Success"
}

Data Interpretation

Frequency Thresholds: Higher frequency thresholds represent subsets of the population. The reach value decreases as frequency requirements increase (e.g., effective_freq_1 ≥ effective_freq_10 ≥ effective_freq_50).

Effective Frequency: Each threshold shows the percentage of people who were exposed at least that many times during the analysis period.

Diagnostics (debug): The debug object carries QA detail behind the results and is intended for support and troubleshooting rather than planning. debug.per_duration holds one object per analysis duration, and each object carries its own duration.

Match diagnostics on duration, not position: Read the duration field on each per_duration object rather than assuming its position lines up with effective_reach_per_duration. The two are not always the same length. A campaign measured over a single flight returns one entry in effective_reach_per_duration while debug.per_duration still reports the shorter durations behind it, so a campaign with a 28-day flight can return one result entry and four diagnostic entries covering 7, 14, 21 and 28 days.

Missing diagnostics for a duration: When a duration produced no observations, its per_duration object is still present and still carries duration and qa_flag, but the measure fields are omitted from the JSON. Treat an absent key as "no data for that duration" rather than as zero, and skip those durations when summing or averaging.

Whole numbers arrive as strings: duration, days_with_obs, num_observed_devices and total_observed_passes are delivered as quoted strings rather than JSON numbers, matching effective_freq elsewhere in the response. Convert before doing arithmetic on them.


Did this page help you?