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 overcrowded threshold
0.85
Share of a bus line’s daily seat-trips consumed before the game calls it overcrowded. One number for the two surfaces a player reads together — the Transport panel’s line rows and the newspaper’s full-buses stories — so the paper can’t run a crowding story about a line the panel still shows as fine. Two related thresholds are deliberately NOT this one: the hiring gate uses a stricter smoothed figure (a company shouldn’t hire onto a seat that is usually gone), and the A-F network grade’s cliff sits higher still, because bottoming the grade out should mean a line is genuinely turning people away.
⚠️ Source pending
Bus congestion multiplier cap
4
Ceiling on how much road congestion can slow a bus, as a multiple of its free-flow travel time. Buses share the road with cars, so a jammed corridor drags them down with it — but the BPR congestion curve saturates around 13x, which would take a 25 km/h bus to walking pace and delete the line in a single bad day. 4x floors bus speed at ~6 km/h, the low end of what real mixed-traffic buses manage in gridlocked city corridors.
Source: TCRP Report 165 — Transit Capacity and Quality of Service Manual (mixed-traffic bus speeds)
Congestion ema alpha
0.4
Smoothing weight for the per-tile congestion signal that transit times read. Bus schedules degrade under sustained congestion, not from one busy afternoon, so today’s transit times price in a rolling average of recent weekdays rather than yesterday’s raw peak. 0.4 means a new jam is felt over ~2-3 weekdays and recovery takes about as long — responsive enough to reward a fix, damped enough that the congestion/ridership feedback loop settles instead of oscillating.
⚠️ Source pending
Slowed line threshold
1.3
How much slower than free flow a bus line’s round trip must run before the game calls it out as ‘slowed by traffic’ in the Transport panel and lets the newspaper report it. 1.3 is roughly the point where riders notice their commute got worse rather than merely varied.
⚠️ Source pending
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
Car fee income share max
0.05
Maximum share of a citizen’s gross annual income that the car license fee ALONE can consume before they judge the car not worth keeping and sell it — but only if they have a viable commute alternative (a reachable, non-full bus, or a walkable job). 5% is deliberately well past real-world norms: US vehicle registration fees are typically under 1% of income, and TOTAL household transportation spend (vehicle purchase + fuel + insurance + fees combined) runs ~15-17% of income (BLS Consumer Expenditure Survey). Set this high so only a genuinely punitive, non-realistic fee drains the fleet; an ordinary registration fee never triggers a value sell. Captive owners (no alternative) keep their cars at any fee — the bankruptcy backstops still apply to them.
Car market monthly sell fraction
0.25
Cap on the fraction of value-eligible car owners (those whose fee exceeds CAR_FEE_INCOME_SHARE_MAX of their income AND who have a commute alternative) that sell their car in any single month. Selling is gradual, not a cliff: a sustained punitive fee drains the affected fleet over roughly 4-6 months instead of dumping every car at once, so the player watches the sell-off build in the car-market ledger and has time to react (lower the fee, add buses). At least one eligible owner always sells so the drain can’t stall.
⚠️ Source pending
Travel failure window days
7
How long a building remembers that people failed to reach it. Failed arrivals (workers and customers turned away by full parking, gridlock, a severed road or a transit gap) are counted over this window to tint the traffic map and to flag a hard-to-reach company. A calendar week always contains at least five weekdays, so the count never collapses over a weekend, and a fix the player makes on Monday reads clean within the same game week.
⚠️ Source pending
Disrupted decay days
3
How long a building keeps its ‘Disrupted Service’ mark on the public transport map after the last rider failed to reach it, when no successful bus arrival clears it sooner. Citizens are sampled, so a building is not tested every single day; three days spans the sampling gaps and a weekend without the mark flickering, while still fading fast enough that adding a bus or connecting a line visibly heals the map.
⚠️ Source pending
