Traffic
Every commute in Microlandia is decided one trip at a time, by one citizen, using a generalized cost model. Every option (walk, bus, car) is reduced to one number that stands in for the total felt cost of that trip. That number is in-vehicle travel time, plus a fare penalty for the bus, plus a daily or monthly fee spread out across the expected trips for the car. The citizen picks whichever option has the lowest generalized cost on that trip.
That is why most of the parameters on this page are conversion factors, like “one dollar of bus fare feels like three minutes of travel time,” or “the yearly car license fee gets spread across forty-four commutes per month.” Tune these and the city’s mode share shifts smoothly, not in sudden jumps.
Bus fare
Bus fare is the most visible lever you have. Because fare turns into perceived minutes, dropping the fare bends every commuter’s bus utility upward in proportion to how much they care about money. Raising it pushes the same commuters back toward cars, or onto foot if their walk is short enough.
When fare hits zero, a second mechanism turns on. A “free transit” bonus multiplier captures the friction that does not show up in the price alone: no tapping a card, no checking a balance, no thinking about it. So free transit is not just “fare equals zero.” It is fare equals zero plus a measurable extra bonus, calibrated against the German 9-Euro experiment, where free transit produced more mode shift than the price drop alone would predict.
A few subtleties
Three nuances are worth flagging:
- License fees and parking fees only shift mode share for citizens who actually have a bus alternative. Captive drivers can’t switch, so a higher parking fee on them is just a tax, not a behavioral lever.
- A separate induced demand elasticity lets existing bus riders take more trips when fares drop, on top of any new riders the lower fare attracts. The total ridership response to a fare cut is the sum of the two effects.
- Buses on a road slow down cars on that same road. So a dense bus network gradually nudges car owners onto transit even before you touch the fare.
The numbers on this page are calibrated against the academic transit-elasticity literature, especially the long-running collection by Litman at the Victoria Transport Policy Institute.
Parameters
Car speed limit km h
40
The speed limit for cars on roads, expressed in kilometers per hour. This affects the road capacity and probability of traffic congestion.
⚠️ Source pending
Bus network traffic car penalty
0.2
The amount of traffic bandwidth taken from roads where the bus network is operating. This usually means that car drivers will avoid roads with frequent bus traffic
⚠️ Source pending
Free transit car substitution rate
0.045
When bus fare is $0, the fraction of car owners with bus access who choose the bus instead of driving on any given day. Based on observed 4.5% car traffic substitution from the German 9-Euro ticket experiment.
Source: Andor et al. — Public transport pricing: An evaluation of the 9-Euro ticket
Bus fare reference
$2
Baseline bus fare used as the pivot for fare-elasticity calculations. Roughly the median per-ride urban transit fare across benchmark North American and European cities — the elasticity formula treats this fare as the ‘no-change’ point.
Source: APTA Public Transportation Fact Book — typical urban fares
Bus fare perceived minutes per dollar
3
Mode-choice fare aversion: how many minutes of in-vehicle travel time a $1 bus fare ‘feels like’ to a rider when comparing bus against an alternative mode. Adds a fare-proportional disutility to the bus generalised cost so that mode choice responds continuously to any fare change, not only the $0 case. NOTE this is intentionally lower than the full value-of-time (~6 min/$ at a $10/h VoT) because mode-choice studies consistently find fare aversion is dampened relative to symmetric VoT — money disutility has diminishing marginal utility, fare salience is partial, and at high fares people don’t actually walk hours to save a few dollars. Only applied to riders who have a real alternative (a car); captive riders (no car) face no fare penalty in mode choice.
Source: Litman, T. — Transit Price Elasticities and Cross-Elasticities (Victoria Transport Policy Institute)
Car license fee perceived minutes per dollar
3
Per-trip share of the monthly car license fee converted into perceived-time disutility added to gcCar. Same value as the bus-fare counterpart for symmetric cash-vs-time tradeoffs; only applied when a bus alternative exists (captive drivers can’t switch). Without this term, fees are sunk-cost from a per-trip perspective and don’t shift mode share.
Source: Litman, T. — Transit Price Elasticities and Cross-Elasticities (Victoria Transport Policy Institute)
Car license fee amortization trips per month
44
Trip count used to spread the monthly fee across per-trip GC: 2 trips/day × 22 weekdays = 44. Excludes weekend discretionary trips — owners psychologically attribute fixed ownership costs to commuting.
⚠️ Source pending
Commute trips per workday
2
One trip to work + one trip home. Used to spread per-day fees (e.g. parking) across per-trip generalised cost. Separate from the per-month amortization constant for the license fee, which is paid annually.
⚠️ Source pending
Parking fee perceived minutes per dollar
3
Per-trip share of the daily parking fee converted into perceived-time disutility added to gcCar. Same elasticity as bus fare and car license fee — symmetric cash-vs-time tradeoff. The daily fee is split across 2 commute trips/day. Only applied when a bus alternative exists (captive drivers can’t switch). Without this term, parking is a sunk monthly tax that doesn’t shift mode share.
Source: Litman, T. — Parking Pricing Implementation Guidelines (Victoria Transport Policy Institute)
Free transit gc bonus multiplier
0.9
Extra utility multiplier applied to the bus generalised cost when fare is exactly $0. Captures the ‘frictionless’ psychological effect of free transit beyond the price drop itself (no fumbling for change, no balance to top up, perceived simplicity). Layered on top of the fare-as-time elasticity so a free system is preferred even after the price-driven mode shift is accounted for. Calibrated to reproduce the ~4.5% mode shift observed in the German 9-Euro ticket experiment.
Source: Andor et al. — Public transport pricing: An evaluation of the 9-Euro ticket
Bus induced demand elasticity
-0.15
Trip-frequency elasticity of existing bus riders to fare. A 1% drop in fare induces ~0.15% more discretionary bus trips by riders who would have ridden anyway. Multiplies per-trip ridership weights so that cheaper fares cause existing riders to make more trips — separate from the mode-shift effect captured by the GC fare-as-time term. Set near the lower end of Litman’s surveyed range because the mode-shift portion of total fare elasticity is already modelled via generalised cost.
Source: Litman, T. — Transit Price Elasticities and Cross-Elasticities (Victoria Transport Policy Institute)
Bus induced demand max multiplier
1.5
Hard cap on the induced-demand multiplier so very low or zero fares cannot blow up bus ridership without bound. Also defines the multiplier applied when fare is exactly $0 (where the elasticity power-law is undefined). 1.5 means at most 50% more trips per existing rider relative to ridership at the reference fare — broadly consistent with the upper envelope of free-fare ridership uplift observed in Tallinn, Kansas City, and Luxembourg.
Source: Cats, O. et al. — The Tallinn experiment: free public transport ridership effects
Bus utilization smoothing window days
7
Rolling-window length used to smooth the bus fleet utilization figure shown in the Transport panel. Daily utilization swings naturally between weekday peaks and weekend troughs, which makes the raw current-cycle number flicker wildly in the UI. Averaging over a calendar week absorbs the weekday/weekend rhythm so the displayed % reflects how loaded the fleet really is, not which day of the week the player happened to look at it.
⚠️ Source pending
