Viewcast Profiles
Motionworks Viewcast provides media metrics including Circulation, Opportunity to See (OTS) and Likelyhood to See (LTS) impressions for exposed audiences that are visiting assigned places or traveling along paths assigned to the media. All assigned paths and places are measured and aggregated to report deduplicated audience exposure and impression profiles.
For details on viewshed creation, traffic measurement, and how circulation is converted to Opportunity to See metrics, see Viewcast Methodology.
Versions
Each Viewcast Profiles release combines a place-based traffic feed (sourced from Placecast by Date) with a roadside traffic feed, measured over a fixed forecast window — the range of months whose measured traffic is aggregated into the published Circulation, OTS, and LTS metrics. Two versions are currently published. The placebased_version and roadside_version fields on every record identify the exact feeds used to build it.
| Version | Place-based feed (placebased_version) |
Roadside feed (roadside_version) |
Forecast window |
|---|---|---|---|
| V1 | Placecast v2_2 |
tt3 |
September 2023 – August 2024 |
| V2 | Placecast v2_4 |
tt3 |
January 2025 – December 2025 |
The two versions share identical viewshed geometry and face assignments; they differ only in the underlying place-based feed and the forecast window. The forecast window of a record is also reported directly in its period_start and period_end fields. History reported in the history and by_year fields extends further back than the forecast window (see Historical Summary).
Data Dimensions
- Frequency: Published monthly. Data products are incremented one month after the end of each month, within 6 weeks of the close of a month.
- Geographic coverage: Summarizes traffic in any viewshed area within the United States.
- Date availability: Historical data available back to 2019 with monthly and annual aggregations.
- Latency: Data are released within 6 weeks of month close. For example, January 2025 will be incremented no later than March 15, 2025.
Schema
| Name | Description | Type | Example |
|---|---|---|---|
| viewshed_id | Motionworks identifier for the viewshed (face). Joinable to Viewcast Viewshed Library. | String | 2156056278 |
| spot_id | Customer provided spot identifier for the measurement in this record. | Integer | 50577208 |
| location | Point location of the face as a geography type. | Geography | POINT(-77.6883 43.1646) |
| market | Geographic market information with standardized geography fields including county, state, CBSA, and DMA. | JSON | See Market Structure |
| construction_type | Construction type of the display. Includes: Freestanding, Interior Wall, Furniture, Exterior Wall, Bus Exterior, Exterior Vehicle, Ceiling, Floor, Column, Elevator, Stairs, Furniture - Top, Interior Vehicle, Tablet, and Rooftop. | String | Freestanding |
| classification_type | Classification type of media: Roadside or Place-Based. | String | Roadside |
| media_type | Media type based on the width and height of the face. Includes: Display, Panel, Junior Poster, Poster, Bulletin, and Murals. | String | Poster |
| digital | Whether or not the face is a digital display. | Boolean | true |
| face_orientation | Direction of the face in degrees (0=north, 180=south). | Float | 45.7 |
| face_height | Height of face in inches. | Float | 120.0 |
| face_width | Width of face in inches. | Float | 240.0 |
| viewable_distance | Maximum viewable distance in feet. | Float | 500.0 |
| face_audit_status | Audit status ID indicating the validation state of the face data. | Integer | 9 |
| period_start | Start date of the measurement period. | Date | 2023-09-01 |
| period_end | End date of the measurement period. | Date | 2024-08-31 |
| period_days | Number of days in the period. | Integer | 365 |
| traffic | Average number of vehicles and pedestrians per week during the reporting period observed within the viewshed. See Glossary:Traffic. | Integer | 1012 |
| face_circ | Average weekly circulation to the face during the reporting period (includes vehicle and pedestrian circulation). | Integer | 1113 |
| face_ots | Average weekly number of Opportunities to See impressions for the associated face during the reporting period. This is an aggregation of all spots sharing the face. | Integer | 1050 |
| face_lts | Average weekly number of Likelyhood to See impressions for the associated face during the reporting period. This is an aggregation of all spots sharing the face. | Integer | 975 |
| spot_length | Duration of spot in seconds for digital displays. | Integer | 8 |
| share_of_voice | Spot-level share of voice (0.0-1.0). Represents the percent of time this spot is visible on the face. | Float | 0.2 |
| face_share_of_voice | Face-level share of voice (0.0-1.0). | Float | 0.8 |
| spot_circ | Average weekly circulation for the spot during the reporting period. | Integer | 890 |
| spot_ots | Average weekly number of opportunities to see impressions for the associated spot. If digital, considers spot share of voice, spot length, and dwell time. | Integer | 840 |
| spot_lts | Average weekly number of Likelyhood to See impressions for the associated spot. If digital, considers spot share of voice, spot length, and dwell time. | Integer | 840 |
| dwell | Circulation weighted travel time within the viewshed for vehicles and pedestrians. | Float | 3.5 |
| percent_circ | Day-of-week and hourly traffic distribution, plus demographic segment breakdowns. | JSON | See Percent Circulation |
| history | Historical data with standardized metrics organized by year and month periods. | JSON | See Historical Summary |
| assignment_status | Assignment status classification. See Assignment Status Values. | String | Industry Assigned |
| assignments | Traffic summary information of industry paths assigned to this viewshed. | JSON | [{"type": "path", "id": "abc123", "audit_status_id": 4}] |
| geopath | Geopath inventory metrics matched to this viewshed, when available. See Geopath Structure. | JSON | {"face_id": 31003420, "spot_id": 41003420, "face_traffic": 45231, "face_circ": 31661, "spot_circ": 31661, "spot_ots": 31661, "spot_lts": 28495, "encoded_media_type": "20", "spot_count": 3} |
| total_population | Total US population for reach calculations. | Integer | 331000000 |
| market_population | Market population for reach calculations. | Integer | 5000000 |
| total_reach_eff1 | Total reach with effective frequency of 1. | Integer | 125000 |
| market_reach_eff1 | Market reach with effective frequency of 1. | Integer | 85000 |
| total_reach_eff3 | Total reach with effective frequency of 3. | Integer | 45000 |
| market_reach_eff3 | Market reach with effective frequency of 3. | Integer | 32000 |
| by_day_hour | Daily and hourly traffic distribution with day_type classification. |
JSON | See Detailed Traffic Summaries |
| placebased_version | Placecast by-date version used to build the place-based portion of this release. See Versions. | String | v2_4 |
| roadside_version | Roadside traffic data version used to build the roadside portion of this release. | String | tt3 |
| last_published | Ingest timestamp of the source viewshed used for this record. | Timestamp | 2026-06-29 00:00:00 |
| is_current | TRUE for the single most recent row per spot_id (the one whose viewshed has the latest last_published). Filtering on is_current = TRUE yields a unique set of spot_id values. |
Boolean | true |
| release_version | Motionworks release version associated with this record. | String | 20260629 |
Market Structure
Geographic market information for the viewshed.
{
"co_geoid": "06037",
"co_name": "Los Angeles County",
"st_name": "California",
"cbsa_geoid": "31080",
"cbsa_name": "Los Angeles-Long Beach-Anaheim, CA",
"cbsa_type": "Metropolitan",
"dma_geoid": "803",
"dma_name": "Los Angeles, CA",
"postal_code": "90210"
}
co_geoid: County GEOID
co_name: County name
st_name: State name
cbsa_geoid: Core Based Statistical Area GEOID
cbsa_name: Core Based Statistical Area name
cbsa_type: CBSA type (Metropolitan/Micropolitan)
dma_geoid: Designated Market Area GEOID
dma_name: Designated Market Area name
postal_code: Postal code/ZIP code
Geopath Structure
Geopath inventory metrics matched to this viewshed. When a face has a corresponding Geopath record, these fields provide the industry-reported metrics for direct comparison.
{
"face_id": 31003420,
"spot_id": 41003420,
"face_traffic": 45231,
"face_circ": 31661,
"spot_circ": 31661,
"spot_ots": 31661,
"spot_lts": 28495,
"encoded_media_type": "20",
"spot_count": 3
}
- face_id: Geopath face identifier
- spot_id: Geopath spot identifier
- face_traffic: Geopath-reported weekly face traffic
- face_circ: Geopath-reported weekly face circulation
- spot_circ: Geopath-reported weekly spot circulation
- spot_ots: Geopath-reported spot Opportunity to See
- spot_lts: Geopath-reported spot Likelihood to See
- encoded_media_type: Encoded classification type, media type, and digital capability (see Encoded Media Type Reference)
- spot_count: Number of distinct Geopath spots on this face
Encoded Media Type Reference
The encoded_media_type field encodes the Geopath classification type, media type, and digital capability into a single string identifier.
Special Classification Codes
Non-roadside classifications use fixed codes:
| Code | Classification | Digital |
|---|---|---|
| 990 | Place Based | Yes |
| 999 | Place Based | No |
| 980 | Fleet Exterior - Dynamic | Yes |
| 989 | Fleet Exterior - Dynamic | No |
| 970 | Fleet Exterior - Scheduled | Yes |
| 979 | Fleet Exterior - Scheduled | No |
Roadside Codes
Roadside classifications combine the media type ID with a digital suffix:
| Code | Media Type | Digital |
|---|---|---|
| 11 | Murals | Yes |
| 10 | Murals | No |
| 21 | Bulletin | Yes |
| 20 | Bulletin | No |
| 31 | Poster | Yes |
| 30 | Poster | No |
| 41 | Junior Poster | Yes |
| 40 | Junior Poster | No |
| 51 | Panel | Yes |
| 50 | Panel | No |
| 61 | Display | Yes |
| 60 | Display | No |
Last digit: 1 = digital, 0 = static.
Sentinel Values
NULL-- No Geopath match (face not in Geopath inventory)''(empty string) -- Cluster-level aggregate in tiles (no individual encoding)
Viewshed Corrections
Some roadside faces are submitted with an orientation or size whose viewshed does not reach any drivable road. Left uncorrected, such a face has no road on which to measure a path and would report zero traffic. To prevent this, Motionworks automatically applies the smallest adjustment that lets the viewshed reach a road — a new orientation, an enlarged face, or both — so that a path can be built and measured.
When a face is corrected, the face_orientation, face_height, and face_width reported in this feed reflect the corrected values. The values as originally submitted are preserved on the source viewshed record and are not lost. Faces where no adjustment can reach a drivable road are left exactly as submitted and are reported with a No Valid Paths assignment status.
Assignment Status Values
| Status | Description |
|---|---|
| Industry Assigned | Path assignments agree with Geopath assignments. |
| System Assigned | Motionworks system-generated assignments that differ from Geopath. |
| Motionworks Assigned | Paths manually assigned by Motionworks team. |
| Unverified Assignments | Assignments not yet validated; queued for manual audit. |
| No Traffic Data | The face's valid paths carry no measured traffic within the release's forecast window. Applies to both roadside and place-based faces. Metrics are reported as zero rather than omitted. |
| No Valid Paths | A roadside face for which no valid, measurable path could be built — the viewshed reaches no drivable road (see Viewshed Corrections). Takes precedence over No Traffic Data. |
Percent Circulation
Day-of-week and hourly traffic distribution, plus demographic segment breakdowns following a standardized format.
Day/Hour Distribution
Contains a 'day' array with 7 records (Monday-Sunday), each with a daily percentage and 24-hour breakdown.
{
"day": [
{
"id": "mo",
"description": "Monday",
"value": 0.1273,
"hourly": [
0.0215, 0.0148, 0.0083, 0.0053, 0.0037, 0.0044,
0.0069, 0.0127, 0.0261, 0.0401, 0.0448, 0.0582,
0.0679, 0.0735, 0.0764, 0.0809, 0.0902, 0.1017,
0.0763, 0.0608, 0.0448, 0.0336, 0.0274, 0.0196
]
},
{
"id": "tu",
"description": "Tuesday",
"value": 0.1429,
"hourly": [...]
}
]
}
- id: Two-letter day identifier (mo, tu, we, th, fr, sa, su)
- description: Full day name
- value: Daily circulation percentage (all 7 days sum to 1.0)
- hourly: Array of exactly 24 hourly percentages (sum to 1.0 within each day)
Demographic Segments
Contains demographic segment breakdowns within segment.basic_demographics.
{
"segment": {
"basic_demographics": [
{
"category": "age_plus",
"segments": [
{
"id": "age_00plus",
"description": "All Persons",
"value": 1.0,
"index": 1.0
},
{
"id": "age_18plus",
"description": "Population, Age 18+",
"value": 0.7862,
"index": 0.9796
}
]
},
{
"category": "prizm",
"segments": [...]
}
]
}
}
- category: Demographic category (e.g., age_plus, prizm)
- segments: Array of segment values
- id: Segment identifier
- description: Human-readable segment description
- value: Segment percentage value
- index: Index against population benchmark
Historical Summary
Historical data with standardized metrics organized by year and month periods. Provides longitudinal view of traffic and circulation patterns.
{
"year": [
{
"id": "2024",
"period_start": "2024-01-01",
"traffic": 91552.0,
"face_circ": 64086.0,
"spot_circ": 64086.0,
"spot_ots": 64086.0,
"dwell": 45.0,
"period_days": 365
},
{
"id": "2023",
"period_start": "2023-01-01",
"traffic": 89234.0,
"face_circ": 62463.0,
"spot_circ": 62463.0,
"spot_ots": 62463.0,
"dwell": 47.0,
"period_days": 365
}
],
"month": [
{
"id": "2024-04",
"period_start": "2024-04-01",
"traffic": 24432,
"face_circ": 49075,
"spot_circ": 49075,
"spot_ots": 49075,
"dwell": 8,
"period_days": 30
}
]
}
Detailed Traffic Summaries
The following fields provide granular traffic breakdowns including separate vehicle and pedestrian counts, weighted speed measurements, and daytype classifications not available in the history and percent_circ fields.
by_year
Annual summary of vehicle and pedestrian volumes and speeds within the viewshed.
[
{
"year": 2024,
"avg_daily_veh_traffic": 1250.5,
"avg_daily_ped_traffic": 320.2,
"wtd_duration": 45.0,
"wtd_speed": 35.5,
"period_days": 366,
"ots_total": 485000.0
}
]
by_week
Weekly summary of vehicle and pedestrian volumes and speeds within the viewshed.
[
{
"week": "2024-W15",
"avg_daily_veh_traffic": 1180.3,
"avg_daily_ped_traffic": 298.7,
"wtd_duration": 42.0,
"wtd_speed": 36.2,
"period_days": 7,
"ots_total": 9250.0
}
]
by_day_hour
Daily and hourly traffic distribution.
[
{
"day_of_week": 1,
"daytype": 1,
"daily_pct": 0.1429,
"hourly_pct": [0.021, 0.015, 0.008, ...]
}
]
- day_of_week: 1 = Monday, 2 = Tuesday, ... 7 = Sunday
- daytype: 1 = Mon-Thu, 2 = Fri, 3 = Sat, 4 = Sun
- daily_pct: Percentage of weekly traffic on this day
- hourly_pct: Array of 24 hourly percentages