Singapore Bus Network Monitor

Shared corridors, stop demand, walking coverage and data quality from LTA DataMall, URA and SingStat open data. Built 2026-10-14. Code and method: GitHub.

7,845directed stop-to-stop links
396links shared by 10+ services
4.28 Mbus boardings per weekday, Aug 2026
80% to 98%residents within 400 m of a stop (walking network to straight line)

1. Where services share the road

Each line is a stop-to-stop link, coloured by scheduled buses per hour in the weekday AM peak (sum over all services using the link, from the published headway bands).

2. When people board

Monthly totals divided by the number of weekdays or weekend/holiday days in each month (MOM 2026 public holidays). June is the school holiday month.

3. Stops that changed

Weekday boardings per day in August 2026 against the median of February, June and July. A stop is flagged when its change is at least 3.5 robust standard deviations from the network-wide shift and at least 25% relative to it, among stops with 300+ daily boardings. Each flag is then categorised from the monthly series, the services at the stop (DataMall routes, April vs September) and outside sources; only causes named by an official notice count as verified. Details: ANOMALIES.md.

StopNameFebJunJulAugvs baselineCategoryVerified eventLargest destination changes (trips per weekday, Jul → Aug)
02051The Float @ Marina Bay44833740217-96%services withdrawn or rerouted awayfloat_f1 (2026-08-04)Rochor 60->3; Downtown Core 59->3
27439Blk 8611,4381,3891,108502-64%services withdrawn or rerouted awayjw75_reopen (2026-07-19)Jurong West 957->365; Orchard 9->0
27349Blk 7451,3561,3511,048634-53%services withdrawn or rerouted awayjw75_reopen (2026-07-19)Jurong West 919->496; Jurong East 100->108
67339Opp Blk 200B288294357382+30%services added or rerouted heresvc_965 (2026-05-24)Hougang 24->34; Sengkang 166->174
43551Opp Blk 435A107250319382+52%services added or rerouted hereBukit Batok 312->374; Downtown Core 7->8
81181Dakota Stn Exit A/Blk 992,0942,1492,6002,783+30%service change (direction unclear)Marine Parade 1306->1397; Geylang 910->963
18331Kent Ridge Stn Exit A/NUH467469506641+36%service change (direction unclear)Queenstown 506->641
04121SMU2,0141,4111,5912,063+30%academic termOrchard 279->385; Kallang 114->158
16179Opp Yusof Ishak Hse685609677901+33%academic termClementi 461->611; Bukit Timah 59->94
27261Hall 4683321417564+35%academic termJurong West 417->563
16159Coll of Design & Engrg297237300413+39%academic termQueenstown 222->312; Clementi 27->50
96111Opp ITE Coll East Adm Blk3,2799141,9282,683+39%academic termTampines 1214->1674; Sengkang 337->473
96119ITE Coll East Adm Blk2,0845741,3291,858+40%academic termBedok 754->1078; Tampines 510->690
17191NUS High Sch1,2146551,0011,437+43%academic termClementi 542->749; Queenstown 389->590
16099Opp NUS Sports Ctr337271188392+44%academic termQueenstown 88->220; Bukit Merah 70->141
18309Blk S17310315321454+44%academic termQueenstown 321->454
27221Sch of CEE746450584869+49%academic termJurong West 573->851; Western Water Catchment 10->18
16009Kent Ridge Ter1,3798551,0291,632+59%academic termClementi 398->691; Queenstown 410->631
16091NUS Sports Ctr1,1639189591,525+59%academic termClementi 442->830; Jurong East 243->325
19059UTown - RC4345121278446+60%academic termClementi 248->371; Queenstown 30->74
27231Wee Kim Wee Sch of C&I1,1656607571,268+67%academic termJurong West 749->1250; Western Water Catchment 8->19
17099UTown - Cendana484316399670+68%academic termQueenstown 291->504; Clementi 108->165
16189Information Technology1,4579029341,715+84%academic termClementi 519->980; Queenstown 313->514
27199Hall 11612306383709+85%academic termJurong West 371->688; Western Water Catchment 12->22
27061Sch of ADM567243289561+94%academic termJurong West 272->509; Western Water Catchment 17->51
16131Opp Kent Ridge Ter501301300614+103%academic termClementi 174->336; Queenstown 46->123
27311Hall 2238111149309+107%academic termJurong West 113->226; Western Water Catchment 36->83
27071Nanyang Cres Halls247106151317+109%academic termJurong West 125->208; Western Water Catchment 26->109
27241SPMS361191235506+114%academic termJurong West 233->498; Western Water Catchment 2->8
27219NIE Blk 21,0174976001,392+132%academic termJurong West 488->1187; Western Water Catchment 112->206
27211Lee Wee Nam Lib3,5231,2851,6743,885+132%academic termJurong West 1619->3741; Western Water Catchment 55->144
16199Aft Architecture Dr328160189445+135%academic termClementi 102->232; Queenstown 48->118
27251Academic Bldg Sth2,0516019002,268+152%academic termJurong West 898->2257; Western Water Catchment 2->12
16149SDE3278113127338+165%academic termQueenstown 65->171; Clementi 48->130
17149Blk 4268427037771,002+29%academic term (within 600 m of a campus)Queenstown 498->693; Clementi 86->123
16151The Japanese Pr Sch1,1869051,0841,403+29%academic term (within 600 m of a campus)Clementi 694->869; Queenstown 139->234
17091Aft Clementi Ave 11,1445649421,250+33%academic term (within 600 m of a campus)Clementi 619->814; Bukit Timah 238->307
17121Blk 6101,8191,2891,6262,185+34%academic term (within 600 m of a campus)Clementi 735->1018; Jurong East 395->522
27539Bef Xingnan Pr Sch440268353504+43%academic term (within 600 m of a campus)Jurong West 316->443; Jurong East 30->52
17139Aft Clementi Ave 26906017651,003+45%academic term (within 600 m of a campus)Queenstown 511->714; Clementi 51->74
19051New Town Sec Sch1,2295049461,458+54%academic term (within 600 m of a campus)Queenstown 747->1157; Bukit Merah 131->190
17131Clementi Flyover323158250392+56%academic term (within 600 m of a campus)Clementi 94->193; Bukit Batok 47->68
27321Blk 949408295313489+56%academic term (within 600 m of a campus)Western Water Catchment 305->484; Jurong West 8->6
16069Heng Mui Keng Terr1,0596197631,370+80%academic term (within 600 m of a campus)Queenstown 504->878; Bukit Merah 131->246
16061Opp Heng Mui Keng Terr8655015731,198+109%academic term (within 600 m of a campus)Clementi 410->906; Jurong East 57->114
16141Tentera Diraja Mque414180199558+179%academic term (within 600 m of a campus)Clementi 121->350; Queenstown 28->87
44151Opp Bt Batok Fire Stn763346580755+30%school-term seasonality (June holidays in the baseline)Woodlands 156->219; Bukit Panjang 186->245
44159Bt Batok Fire Stn1,7875981,2491,666+33%school-term seasonality (June holidays in the baseline)Bukit Batok 565->751; Jurong West 306->422
27401Opp Blk 821971684600921+35%school-term seasonality (June holidays in the baseline)Jurong West 600->921; Pioneer 0->0
77219Opp Blk 626696555574773+35%school-term seasonality (June holidays in the baseline)Pasir Ris 574->773
46369Blk 4131,1978238361,199+43%school-term seasonality (June holidays in the baseline)Woodlands 836->1199
28369Opp Jurong Lake466275160423+54%school-term seasonality (June holidays in the baseline)Jurong East 133->360; Tengah 10->26
46351Woodhaven363210218349+60%school-term seasonality (June holidays in the baseline)Woodlands 218->349
27461Opp Blk 276B573615867914+49%sustained step up since JulyJurong West 862->907; Downtown Core 5->6
16109The Alpha232245387401+63%sustained step up since JulyClementi 358->370; Queenstown 24->25
16039S'pore Science Pk II5356371,2661,303+105%sustained step up since JulyQueenstown 1035->1058; Orchard 13->17
16031Opp S'pore Science Pk II152207531565+173%sustained step up since JulyClementi 375->401; Queenstown 76->79
14121Opp HarbourFront Int2,3812,3712,1981,684-29%unexplainedBukit Merah 1044->763; Queenstown 766->622
17119Opp Blk 343533457503652+30%unexplainedQueenstown 351->499; Clementi 128->124
50241Opp S'pore Khalsa Assn192244279318+30%unexplainedKallang 169->193; Downtown Core 67->78
65449Blk 315B442238518580+31%unexplainedPunggol 461->524; Downtown Core 4->3
94009Upp East Coast Ter321328398434+32%unexplainedBedok 283->304; Tampines 18->23
75069Blk 970A7338461,0451,136+34%unexplainedBedok 818->911; Geylang 134->130
40501Blk 131D366350468492+34%unexplainedJurong East 381->404; Bukit Batok 17->18
53339Opp Bright Hill Tp356348296480+38%unexplainedBishan 252->409; Ang Mo Kio 44->71
27101Opp Westwood Sec Sch1,7371,2781,4932,085+40%unexplainedWestern Water Catchment 541->1022; Choa Chu Kang 840->929
18041Normanton Pk431362413578+40%unexplainedQueenstown 226->371; Clementi 94->112
15221Aft Sth Buona Vista Rd673598811984+46%unexplainedQueenstown 590->716; Clementi 160->207
27399Bet Blks 859/8607556649631,334+77%unexplainedJurong West 963->1334; Pioneer 0->0
22449Blk 685B421378530813+93%unexplainedJurong West 498->774; Jurong East 20->27
51039Opp S'pore Polo Club296146170362+112%unexplainedNovena 109->232; Orchard 8->20

4. Where trips go

Origin-destination pairs from the tap-in and tap-out stops of weekday bus trips (August 2026, per weekday). 54% of bus trips start and end in the same planning area, so buses mostly carry local and feeder trips. OD totals match the stop tap-in totals to within 0.014%.

5. Who lives within 400 m of a stop

SingStat GHS 2025 residents placed on Master Plan 2019 housing parcels (weighted by plot ratio). Reach is measured three ways: straight line (upper bound), straight line with a 1.3 detour factor, and along the OpenStreetMap walking network (lower bound: OSM misses many void-deck and linkway shortcuts in HDB estates). The map shows the straight-line measure. The low areas are the same under all three.

6. Bus priority screening

Bus links where general traffic in the weekday AM peak is slower than at night. Screening numbers from LTA speed bands, used for ranking, not measured bus travel times.

Observed periods (Singapore time): weekday AM — 2 weekday mornings (2026-09-28, 2026-10-14), 15 snapshots, 2026-09-28 07:47 to 2026-10-14 09:30; night — 89 snapshots, 2026-09-26 22:05 to 2026-10-14 05:00. Each eligible link needs at least 4 valid snapshots in each period, each covering at least half its length; a link's AM speed is the median of its daily medians and needs at least 1 mornings.

Eligible links: 3,378. Positive estimated AM loss: 2,737. The map shows up to 40 highest-ranked links; the table shows the first 10.

Scroll the table horizontally to read all columns.

Highest estimated bus-priority opportunities
Stop linkServicesScheduled buses/hAM km/hNight km/hEstimated bus-min lost/h
72019 → 831191496.037.950.426.3
94089 → 940391155.420.141.725.8
98019 → 762491165.428.240.124.8
03111 → 0307133106.026.139.624.7
63209 → 631991567.827.445.023.3
59041 → 590511680.627.840.621.9
03129 → 0321833139.233.640.721.8
60119 → 600991055.429.146.221.1
62071 → 62081422.814.430.820.1
03059 → 0312924143.330.937.419.2

7. Data quality

CheckTableFailingRowsPassNote
primary key unique (ServiceNo, Direction, StopSequence)bus_routes026,842100.00%
stop sequence continuous (step = 1)bus_routes23626,84299.12%
cumulative distance non-decreasing along routebus_links126,043100.00%
link length plausible (0 < km <= 5)bus_links20926,04399.20%0 km = consecutive stops sharing a location; >5 km = non-stop sections of express and City Direct services (e.g. 646-649)
route stop exists in BusStops masterbus_routes05,209100.00%unique stop codes
LTA and OSM stop positions agree within 50 mstops2695,19494.82%median gap 6.5 m
stop has non-zero coordinatesstops05,209100.00%
route service exists in BusServicesbus_routes0799100.00%service-direction pairs
AM peak frequency presentbus_services14280282.29%
volume stop code exists in route networkstop_volume129812,44499.98%
volume non-negativestop_volume0812,444100.00%
hour within 0-23stop_volume14812,444100.00%
stop inside Singapore bounding boxstops15,20999.98%expected: 46239 Larkin Terminal, Johor Bahru (cross-border service 170)