M Motionworks Population Intelligence

Public Transit Places

Public Transit

Motionworks Placecast™ provides station-level visit estimates for transit systems across the United States, validated against first-party ridership data from transit operators and the Federal Transit Administration's National Transit Database. The methodology below describes how Motionworks measures transit stations, incorporates authoritative ridership data, and produces the final visit estimates that appear in the Placecast product.

For details on how Motionworks identifies base visitation, demographics, and dwell time, see the People Methodology overview.

Data Collection

Public transit systems and governments collect and publish a significant amount of data on public transit ridership. Motionworks collects and processes this data to inform its calculations of transit station activity.

Federal

The Federal Transit Administration maintains the National Transit Database (FTA NTD). Transit operators are required to provide data to the NTD as part of federal funding agreements. The NTD releases total monthly boardings by transit system and mode of transit (e.g., Heavy Rail, Light Rail, Commuter Rail) on a continual basis. Motionworks checks the NTD for updates on a weekly basis and collects new data where available.

Individual Systems

Motionworks collects data published by individual transit systems when it is released on a regular schedule in an easily machine-readable format. Collection frequency varies by system and reflects how often each operator refreshes its data. The collection frequency is separate from the granularity of the data itself. For example, New York City Subway (MTA) ridership is reported daily even though Motionworks refreshes its copy weekly.

Motionworks automatically collects data on a weekly basis from:

  • Chicago Transit Authority (CTA)
  • New York City Metropolitan Transportation Authority (MTA)
  • Port Authority of New York & New Jersey Trans Hudson (PATH)
  • Bay Area Rapid Transit (BART)
  • Miami-Dade Transit

Motionworks automatically collects data on a monthly basis from:

  • Washington Metropolitan Area Transit Authority (WMATA)
  • Massachusetts Bay Transportation Authority (MBTA)
  • San Diego Metropolitan Transit System (MTS)
  • Maryland Transit Administration (MARC)
  • North County Transit District (NCTD)
  • New York City Department of Transportation Staten Island Ferry (twice monthly)

Station-level ridership shares for the Long Island Rail Road, Metro-North, and Metra are also derived monthly from operator non fare-gate data, and Amtrak station ridership is collected annually.

Motionworks collects data from additional transit systems on their published schedules. Where an operator does not publish on a regular, machine-readable schedule, Motionworks incorporates its data on an ad-hoc basis.

Measuring Transit Stations

Initial Place Measurement

Motionworks starts each transit station with a base measurement of the activity it observes there. For stations in systems with published ridership this base measurement is a starting point. The published visitation is then set by the operator and/or the FTA NTD ridership described below (see Ridership Data Standardization). The base measurement still provides the underlying day-of-week and hour-of-day pattern that the ridership scaling is applied to. Motionworks reports the base measurement directly only for the small number of stations, such as some privately operated lines and ferry services, that publish no ridership at all.

The base measurement depends on a station's focused or unfocused status. Focused stations are measured directly from the activity observed within the station's data collection area. Motionworks estimates visitation for unfocused stations (e.g., underground stations) based on either:

  • The parent place (if any) and the traffic passed from parent to child. This is the same method Motionworks uses for non-transit parent/child places. A small share of unfocused stations fall in this category.
  • The size of the station and the median visits per 1,000 square feet of space, calculated from focused transit stations in the same market. Most unfocused stations fall in this category.

Once this is complete, a base visitation is established for each transit station, ready to be scaled to ridership in the steps below.

Station Mapping

Motionworks has added transit stations as Places in the Motionworks database, and these places are mapped to the stations as they are represented in the first-party ridership data. One place can be associated with multiple stations that are interconnected (e.g., a station complex). For example, in New York City, the 14 St / 6 Av place combines two counts: the MTA's count for its 14 St / 6 Av station complex, which covers the F, M, 1, 2, 3, and L platforms, and the PATH count for its 14th Street station.

A single place can also serve more than one transit operator. Where operators share a station, Motionworks maps the place to each operator's station record and adds their ridership together, so the place's visitation reflects every operator that serves it. New York Penn Station, for example, carries Long Island Rail Road, New Jersey Transit, and Amtrak ridership, and several Metro-North stations in Connecticut also carry Amtrak. Because each operator is measured from its own source, a place shared by two operators can combine a direct count from one with an NTD-based estimate from the other.

As part of this ongoing process, Motionworks has added all known rail stations to our Place database for existing public transit operators. Motionworks continuously monitors transit systems for new stations and adds them on a rolling basis as they open.

Ridership Data Standardization

Once base visitation is established and station mapping is complete, Motionworks adjusts each station's visitation to authoritative ridership data. For every measured system, the overall level of ridership reflects an authoritative source. What differs between systems is how much station-level detail the operator publishes, and how directly that data counts riders. Motionworks uses the most direct and reliable source available for each station, in the order of preference described below.

Per-station counts (preferred)

Where an operator publishes ridership for every station, each station is scaled directly to its own reported ridership, and the system total is the sum of its stations. Most of these systems count riders at fare gates or turnstiles, which record data directly; the San Diego MTS Trolley counts riders with automatic passenger counters on board. This is the most reliable source of ridership, and Motionworks anchors to it wherever it exists. A station's visits are the riders getting on plus the riders getting off (ons + offs). Where a system counts only riders entering a station, Motionworks counts the same number leaving it. Motionworks also accounts for places that map to multiple stations, such as a station complex.

Because a fare gate records a rider only where they enter or leave the system, a rider who transfers between lines inside a station is not counted again. The FTA NTD counts each of those transfers as a new boarding. As a result, a system's per-station total is usually lower than the ons + offs estimated from its NTD boardings, and the per-station total is the better measure of how many people actually pass through each station.

Per-station counts apply mode by mode. Where an operator counts only some stations of a mode -- for example the MBTA Green Line, where only the gated subway stations are counted -- the counted stations use their own figures, and the rest of that mode's NTD total is distributed to the remaining stations as described below.

Distributing a system total from the FTA NTD

For systems without a complete per-station count, the overall level comes from the FTA NTD, which provides total monthly boardings by system and mode. Motionworks converts these boardings to visits (ons + offs): each boarding is a visit at the station where the rider gets on, and the same rider makes a second visit at the station where they get off. The system total is then scaled by a CoverageRatio, the percentage of a system's stations that Motionworks covers; because Motionworks has added all available stations for the systems it measures, the coverage ratio is 100%.

That system total is then distributed across individual stations using the most detailed source available, in the following order:

  1. Measured station shares. Some operators measure station-level activity without a direct fare-gate count of every rider. For example, the Long Island Rail Road, which reports on-board passenger counts plus ticket sales, the Metro-North Rail Road, which reports ticket sales, MARC, which reports periodic station counts, and the NCTD SPRINTER, which reports automatic passenger counts. These sources reliably indicate how busy one station is relative to another, but they are not a complete gate count, so Motionworks uses them to apportion the authoritative system total across stations rather than as each station's absolute level. Each station receives its measured share of the system total, updated month by month.
  2. Published station figures. Some operators publish ridership for a subset of their stations in periodic reports -- for example SEPTA's regional rail station census and New Jersey Transit's published station boardings. Those stations receive their published share of the system total.
  3. Modeled shares. Stations with no published ridership of their own -- for example Muni, the MBTA Green Line surface stops and commuter rail, and the New Jersey Transit and SEPTA stations not covered above -- receive a share estimated by a model. The model is trained on the systems that publish complete station counts, and for each station it considers the amount of scheduled train service reported in the agency's GTFS data, how many other lines connect nearby, the surrounding jobs and activity, and whether the station serves an airport. Shares are computed within each mode, so a busy transfer station receives a larger share than a quiet stop on the same line.

Once a station's share of the system total is determined, this produces a monthly visitation estimate for that station.

Calculating Factors

The goal of understanding the first-party data is to calculate factors that Motionworks uses to adjust the base visitation generated earlier. Motionworks expresses the ridership-based visitation from the standardization steps above as an average daily value for each station, month, and day type (Monday-Thursday, Friday, Saturday, and Sunday). Daily first-party counts are averaged within each day type. Monthly totals, such as those distributed from the FTA NTD, are spread across the day types in proportion to the station's observed day-of-week pattern. The factor for each station, month, and day type is the ridership-based visitation divided by the observed visitation. These factors are also applied to hour-of-day metrics so that temporal patterns align to the first-party data.

As an example, consider a station where first-party turnstile data for a month averages 100 visits per Saturday, while the observed data for the same Saturdays averages 50:

  • Calculate the factor as the ratio of first-party to observed: 100 / 50 = 2.0
  • Apply a factor of 2.0 to the station's observed Saturday visits in that month, including its hour-of-day estimates

Factors are applied regardless of direction -- scaling visits up when reported ridership exceeds observed activity, or scaling down when observed activity exceeds reported ridership. Factors are capped at an upper bound to prevent outlier distortion.

Factor Imputation/Expansion

First-party data is sometimes incomplete. A feed may be missing for certain periods, for example because an operator publishes on a delay. Motionworks fills genuine gaps in two places:

  • Ridership. When a station's reported ridership is missing for a month, Motionworks estimates it from the station's own history: the average of its previous 12 months, multiplied by the station's typical seasonal pattern for that calendar month and day type. Unusual years are filtered out of the seasonal pattern so a single outlier does not distort the estimate. The same method fills missing months of FTA NTD system totals. Measured station shares that have not yet been published for the most recent months reuse the same calendar month from the prior year where it is available, so seasonal stations keep their seasonal share.
  • Factors. If a station still has no factor for a month after the steps above, Motionworks uses the geometric mean of the station's factors over the previous 8 months, or over the following 8 months where earlier months are not available. If most of those months are zero, the station stays at zero.

Filling applies only when data is genuinely missing. It is not used in place of a real service change. In systems with per-station counts:

  • A station that has not yet opened is counted as zero in the months its system reports without it.
  • A station that is closed while the rest of its system keeps reporting is counted as zero for the closed days, so a genuine closure appears as reduced visitation instead of an estimate. The 2025 closure of the MTA Rockaway branch was handled this way.

Final Visitation

Once the above steps to generate base visitation, map station records, standardize ridership, and generate factors are complete, Motionworks applies the factors to scale the base visitation accordingly and produce the final visit estimates reported in the product.

Transit Stats

The table below compares Motionworks estimated station visits against benchmark ridership data for the largest transit systems in the Placecast database. A Difference Ratio near zero indicates close agreement between Motionworks estimates and benchmark data. This table includes the top 25 agencies by system rank, representing the largest transit systems in the United States.

Agencies (in order of Benchmark Visits) System Rank Benchmark Station Visits* Motionworks Estimated Station Visits Difference Ratio (%)
1 MTA New York City Transit 1/44 230,675,468 230,675,468 0
2 Washington Metropolitan Area Transit Authority 2/44 28,703,266 28,703,266 0
3 Massachusetts Bay Transportation Authority 3/44 28,672,819 28,672,819 0
4 Chicago Transit Authority 4/44 21,693,648 21,693,648 0
5 Southeastern Pennsylvania Transportation Authority 5/44 18,387,894 18,387,891 0
6 MTA Long Island Rail Road 6/44 17,220,064 17,220,065 0
7 New Jersey Transit Corporation 7/44 16,353,170 16,353,171 0
8 Metro-North Commuter Railroad Company, dba: MTA Metro-North Railroad 8/44 13,554,812 13,554,812 0
9 Los Angeles County Metropolitan Transportation Authority 9/44 13,122,968 13,122,968 0
10 Port Authority Trans-Hudson Corporation 10/44 11,872,056 11,872,056 0
11 San Francisco Bay Area Rapid Transit District 11/44 11,205,940 11,205,940 0
12 Central Puget Sound Regional Transit Authority 12/44 11,114,460 11,114,461 0
13 Metropolitan Atlanta Rapid Transit Authority 13/44 8,528,718 8,528,719 0
14 Muni SFMTA 14/44 8,117,970 8,117,971 0
15 Northeast Illinois Regional Commuter Railroad Corporation 15/44 7,179,842 7,179,843 0
16 San Diego Metropolitan Transit System (May 2026)** 16/44 6,661,581 6,661,581 0
17 Dallas Area Rapid Transit 17/44 4,381,440 4,381,440 0
18 Miami-Dade Transit 18/44 4,241,784 4,241,784 0
19 Tri-County Metropolitan Transportation District of Oregon 19/44 3,755,260 3,755,260 0
20 Denver Regional Transportation District 20/44 3,412,810 3,157,632 -7.48
21 New York City Department of Transportation 21/44 2,998,962 2,998,962 0
22 Maryland Transit Administration 22/44 2,775,116 2,775,116 0
23 Peninsula Corridor Joint Powers Board 23/44 2,561,482 2,561,482 0
24 Minneapolis-Saint Paul Metro Transit 24/44 2,069,958 2,069,958 0
25 Bi-State Development Agency of the Missouri-Illinois Metropolitan District 25/44 1,420,584 1,420,584 0

* Benchmark Station Visits use an operator's own station counts for each mode where the operator counts every station of that mode, and the FTA National Transit Database otherwise. Where an operator counts only some stations of a mode, the benchmark is the larger of the two. Values represent boardings and alightings at a station. Difference Ratio (%) = (Motionworks Estimated Station Visits - Benchmark Station Visits) / Benchmark Station Visits x 100.

** The operator's own station counts do not yet cover the table month, so this system is compared for the latest month they cover, shown in parentheses.

Transit Charts

The charts below show the monthly trend of Motionworks estimated visits compared to benchmark ridership data for each transit system. Each chart covers the most recent 18 months of data.