Millions of simulated commuters with real home and workplace locations plan journeys over your network's timetable, then each decide whether your subway is worth taking.
The US and UK census records home and workplace locations. The game generates millions of commuters with homes from that and then uses a distance-based gravity model to assign them all workplaces. This gravity model is adjusted for each city so that the distribution of commute distances match the real-life distributions of that city's commuting data. They're also assigned times to leave to/from work in a distribution similar to real life.
Every commuter plans journeys over your network's actual timetable using range-RAPTOR (rRAPTOR), the same algorithm used by real-world trip planners. It works in rounds: round one finds every station reachable with one train, round two with one transfer, and so on. Instead of searching a graph, it scans each route directly against the timetable, which keeps it fast enough to route thousands of commuters every time the network changes.
The "range" part means it evaluates every train departure inside a 30-minute window, not just the next catchable one. If a slow local leaves in 2 minutes but an express leaves in 10, commuters wait for the express, just like real riders who know the schedule. The search includes walking to and from stations and walking transfers between nearby stations.
Feasible journeys are scored by perceived time (sometimes called generalized time). The weights come from a worldwide meta-analysis of how travelers value time:
| Time spent… | Feels like |
|---|---|
| Riding the train | 1x |
| Walking | 1.39x |
| Waiting on a platform | 1.37x |
| Departing later than planned | 0.4x |
| Driving in congestion | 1.33x |
| Parking | 1.6x |
Every mode gets the same treatment: walking and waiting count against transit, congestion delay and parking count against driving. "Departing later than planned" is the study's displacement-time multiplier for transit commuters. Waiting at home for a better train is cheap but not free, so commuters will shift a few minutes to catch an express but won't "wait" hours for a marginally faster train.
The best journey then competes against driving and walking. Each commuter weighs how long each option feels, what it costs, and the value of their own time, which depends on their income. Driving pays for fuel and parking and sits in rush-hour traffic; transit pays the fare. Because incomes vary within every neighborhood, ridership responds gradually to network changes instead of flipping all at once.
If they decide to take the subway you can follow their commute (and thousands of others simultaneously) as they get to work.
College and airport commuters are also simulated and they behave differently since they have different income distributions and commuting times. Federal data is used for college student counts and FAA data for airports.