01 / the network
Every change moves everything else
A network is one system.
Moving one route moves the load onto every route around it. Corridors were planned one at a time, so a fix in one place often became a bottleneck in another, and the effect only showed up weeks later in the counts.
Passenger feedback told the other half of the story, but it arrived as thousands of free-text messages a week and was read in samples, months after the fact. Planners needed to see the whole network move, and hear the people on it, before a change went live.
Journey time by corridor, before
The western corridor carried the longest journeys and the most complaints, and every fix to it moved load onto its neighbours.
02 / the build
Assign → optimise → listen → adjust
Optimise the flows, then listen to the riders.
We modelled the network as a flow problem: travel demand between every pair of stops, assigned to routes under congestion and solved to equilibrium, so that no traveller could do better by switching. Logistics—vehicle allocation, layovers, depot runs—sat in the same model, so a timetable change carried its real operating cost.
Alongside it, a language model read every piece of feedback—complaints, compliments, social posts—placed each in a semantic map of topics, scored its sentiment, and tied it to the stops and services it described.
- Stage 0101
Assign
Travel demand between every pair of stops, assigned to routes under congestion and solved to equilibrium.
- Stage 0202
Optimise
Services, frequencies, vehicles and layovers re-planned network-wide, with their operating cost attached.
- Stage 0303
Listen
Every piece of feedback read, mapped by topic and sentiment, and tied to the stops and services it describes.
- Stage 0404
Adjust
Changes that cut journey times and lift satisfaction go first; changes that hurt riders are caught before rollout.
03 / the result
Faster journeys, happier passengers
Two signals, one decision.
Planners could see where a change would cut journey times, and whether passengers on those services were telling a different story. Changes that looked efficient on paper but hurt satisfaction were caught before rollout, and the ones that helped were made where riders had been asking for them.
average journey time on re-planned corridors
satisfaction on changed services
feedback messages read each month