Placecast™ Publication Date 2023.03.06
On March 6, 2023, Motionworks published an update to its Placecast by Date product. While the end-user schemas have not changed, the data pipeline process used to generate the changes was updated based on internal audits and quality assurance processes.
The following areas were updated during this process:
(Italicized items in parentheses indicate the "Check Type" in @tbl-validation where outcomes can be reviewed, if applicable.)
-
Fixed segmented visits by visitor type not adding up the total visits (error_arrivals_summation)
-
Fixed segmented occupancy by visitor type not adding up to the total occupancy (error_occupancy_summation)
-
Fixed negative visits/occupancy bug by fixing a timezone/daylight savings time bug and reprocessing the full history on affected places. (error_arrivals_negative, error_occupancy_negative)
-
Cleaned up dwell reporting – now only reporting dwells by visitor type if there are arrivals of that visitor type (error_dwell_visitor,
error_dwell_resident,
error_dwell_worker,
error_dwell_arrival,
error_dwell_departure,
error_dwell_transfer) -
Fixed nonsensical visits by age groups – babies don’t travel alone (error_arrivals_age_nonsensical, error_occupancy_age_nonsensical)
-
Removed zero visits and zero occupancy rows. Note: Only report rows that have non zero total occupancy or or non zero total visits. All missing rows should assumed to have zero visits and occupancy (error_missing_records)
-
Assigned best estimates to the cases where we don’t have direct measurement by visitor type, such as noisy methodology and unfocused places
-
Improved occupancy calculations for the new monthly data product replacing the simplified monthly aggregation of occupancy data
-
Rounded all delivered numbers to two decimal points
-
Calculated age factors for regions based on the residents' age distribution
-
For Commercial Airports, the new Monthly data product replaces the simplified monthly aggregation and matches the BTS data more closely on a monthly basis.
As part of this work, the "legacy" reporting of Visitors including the Passenger (Arrivals, Departures, Transfers) has been corrected such that Visitors + Arrivals + Departures + Transfers + Workers + Residents now are equal to the total arrivals for ages 0+.
This change has reweighted the totals for Arrivals/Departures/Transfers so they are more accurate but may be distributed differently than the previous aggregation or even legacy deliveries.
-
Found a bug in taking in FTA totals by system. The proportion of the most recently validated station level ridership will be maintained as the total system ridership is scaled to the monthly FTA ridership totals. Note: New York City Transit and PANYNJ PATH service scaled to turnstile counts.
Future Roadmap
As Motionworks continues to expand its data sources, visits and occupancy at stations in transit systems listed in table below will see changes in future releases of Placecast by Date$trade;.
Transit System | Reason for Change |
---|---|
BART | Additional first-party data observations |
City and County of San Francisco (Muni) | Rescaling based on additional station places |
City of Charlotte North Carolina (Lynx) | Rescaling based on additional station places |
County of Miami-Dade | Additional first-party data observations |
Denton County Transportation Authority | Additional first-party data observations |
King County (WA) Department of Metro Transit | Rescaling based on additional station places |
Maryland Transit Administration | Additional first-party data observations |
Northern Indiana Commuter Transportation District | Additional first-party data observations |
Portland TriMet | Additional first-party data observations |
San Diego Metropolitan Transit System | Rescaling based on additional station places |
Twin Cities (MN) Metro Transit | Rescaling based on additional station places |
Quality Assurance Summary
Check Type | Vintage 2023-02-12 | Vintage 2023-03-06 |
---|---|---|
error_arrivals_age_impossible | 2,671 (0.65%) | 71 (0.02%) |
error_arrivals_age_nonsensical | 104,133 (25.46%) | 0 (0%) |
error_arrivals_negative | 2,793 (0.68%) | 0 (0%) |
error_arrivals_summation | 289,643 (70.81%) | 0 (0%) |
error_duplicate | 2 (0%) | 0 (0%) |
error_dwell_arrival | 0 (0%) | 1 (0%) |
error_dwell_departure | 0 (0%) | 0 (0%) |
error_dwell_min_null | 7,757 (1.9%) | 0 (0%) |
error_dwell_negative | 0 (0%) | 0 (0%) |
error_dwell_resident | 0 (0%) | 33 (0.01%) |
error_dwell_transfer | 0 (0%) | 0 (0%) |
error_dwell_visitor | 0 (0%) | 66 (0.02%) |
error_dwell_worker | 0 (0%) | 0 (0%) |
error_missing | 5,538 (1.34%) | 7,678 (1.85%) |
error_occupancy_age_impossible | 2,672 (0.65%) | 71 (0.02%) |
error_occupancy_age_nonsensical | 104,225 (25.48%) | 0 (0%) |
error_occupancy_negative | 2,843 (0.7%) | 0 (0%) |
error_occupancy_summation | 403,643 (98.68%) | 0 (0%) |
error_processes | 0 (0%) | 0 (0%) |
error_zero_total_arrivals | 13,349 (3.26%) | 0 (0%) |
error_zero_total_occupancy | 16,489 (4.03%) | 0 (0%) |
Check Type Definitions
Check Type | Definition |
---|---|
error_arrivals_age_impossible | Child arrivals are greater than total arrivals |
error_arrivals_age_nonsensical | Arrivals where children travel alone. |
error_arrivals_negative | Any arrival value less than zero. |
error_arrivals_summation | Segmented arrival summation does not equal to total arrivals |
error_duplicate | Duplicate records |
error_dwell_arrival | Arrival arrival with no arrival dwell |
error_dwell_departure | Departure arrival with no departure dwell |
error_dwell_min_null | Record missing dwell minimum |
error_dwell_negative | Dwell is less than zero |
error_dwell_resident | Resident arrival with no resident dwell |
error_dwell_transfer | Transfer arrival with no transfer dwell |
error_dwell_visitor | Visitor arrival with no visitor dwell |
error_dwell_worker | Worker arrival with no worker dwell |
error_missing | Place is missing entirely from reporting |
error_occupancy_age_impossible | Child occupancy is greater total occupancy |
error_occupancy_age_nonsensical | Occupancy where children are left alone |
error_occupancy_negative | Any occupancy is less than zero |
error_occupancy_summation | Segmented occupancy summation does not equal to total occupancy |
error_processes | Two or more place processes for the same place |
error_zero_total_arrivals | Segmented arrivals are greater than zero, but total arrivals is zero |
error_zero_total_occupancy | Segmented occupancy is greater than zero, but total occupancy is zero |