TransitAI Core

Automatic Passenger Counting · APC

Who got on. Who got off.

Door sensors count everyone, however they paid. The sample has one row per trip per stop: boardings, alightings and the load as the bus pulled away.

The file has no time at the stop, only the trip's start, so this is boardings by departure hour of the trip.
Ten routes by boardings in the month.
Ten stops by boardings. Terminals dominate, as expected.
The weekly rhythm is visible without a calendar.
Ten-point buckets. Loads above 100% exist in the data; counters drift.
A trip should end empty. of trips balance within two passengers; within five.

Fare data misses transfers, passes and anyone who did not tap. Door sensors count everyone, which makes APC the fullest measure of how busy a bus is.

Counts are noisy, though. The people counted on rarely equal the people counted off, and the running load is derived from the difference. Tidying that up is a job for the Silver layer, and the reason DEPARTURE_LOAD is recomputed rather than trusted.

Rows
One per trip per stop, 18 columns, no header
Days
to
Stops
distinct stop numbers
Shared as
TIDES passenger events
Feeds
Ridership forecasting, origin–destination, crowding

↑ ↓ to move · ↵ to open · esc to close