Punctuality of Swiss public transportMonday 16 March 2026
89.3% of 150,878 trips were on time. The share was lowest at 17:20: 71.6%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 37.2%.
On time
What counts as on time?
On time means less than 3 minutes late. Only trips with live data count, and only trips that run mostly in Switzerland; cable cars do not count.
89.3%
−3.8 ptsDay before: 93.1% · 150,878 trips with live data
Average delay
+1.2 min
Canceled trips
273
0.2% of the trips
Through the day
The share of the trips on their way that are less than 3 minutes late, every 10 minutes.
- ≥ 95%
- Dashed: Sunday 15 March
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 95.5%
14,288 trips · avg +0.7 min
-
Tram 87.7%
11,525 trips · avg +1.3 min
-
Bus 88.8%
124,345 trips · avg +1.2 min
-
Metro 91.7%
336 trips · avg +1.2 min
-
Boat 60.4%
384 trips · avg +3.5 min
The network by punctuality
Each train, tram and metro line in the color of its share on time.
- ≥ 95%
- 90–95%
- 85–90%
- 75–85%
- < 75%
- no data
Least punctual busy lines
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 37.2%
148 trips · avg +5 min
-
149 trips · avg +3.9 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 46%
215 trips · avg +3.3 min
-
151 trips · avg +3.3 min
-
175 trips · avg +3.2 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 55.6%
216 trips · avg +3.4 min
-
62 trips · avg +3.3 min
-
97 trips · avg +5.3 min
Show 17 more
-
49 trips · avg +3.7 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 58%
50 trips · avg +2.4 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 58.4%
154 trips · avg +4.5 min
-
Bus 765 Dietlikon, Schwimmbad – Zürich Flughafen, BahnhofDietlikon, Schwimmbad – Zürich Flughafen, Bahnhof 59.5%
153 trips · avg +6.3 min
-
80 trips · avg +3.2 min
-
75 trips · avg +2.7 min
-
148 trips · avg +3.4 min
-
64 trips · avg +2.5 min
-
Bus 456 Regensdorf-Watt, Bahnhof – Dielsdorf, BahnhofRegensdorf-Watt, Bahnhof – Dielsdorf, Bahnhof 63.5%
63 trips · avg +3.1 min
-
97 trips · avg +4.8 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 65.6%
154 trips · avg +2.6 min
-
Bus 751 Stettbach, Bahnhof – Zürich, Kirche FlunternStettbach, Bahnhof – Zürich, Kirche Fluntern 65.6%
96 trips · avg +2.6 min
-
171 trips · avg +3.2 min
-
93 trips · avg +2.1 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 66.7%
54 trips · avg +6 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 67.2%
177 trips · avg +3 min
-
174 trips · avg +2.4 min
Most punctual busy lines
-
306 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 98.2%
285 trips · avg +0.6 min
-
228 trips · avg +0.5 min
-
293 trips · avg +0.7 min
-
286 trips · avg +0.4 min
-
246 trips · avg +0.6 min
-
234 trips · avg +0.4 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.2%
286 trips · avg +0.6 min
Least punctual busy lines
-
63 trips · avg +6.4 min
-
132 trips · avg +1.7 min
-
75 trips · avg +1.3 min
-
41 trips · avg +1.6 min
-
75 trips · avg +1 min
-
80 trips · avg +1.2 min
-
91 trips · avg +1.4 min
-
75 trips · avg +1 min
Show 17 more
-
40 trips · avg +0.9 min
-
116 trips · avg +1 min
-
76 trips · avg +1.1 min
-
59 trips · avg +0.7 min
-
72 trips · avg +0.9 min
-
58 trips · avg +0.5 min
-
78 trips · avg +1 min
-
50 trips · avg +1 min
-
80 trips · avg +0.4 min
-
40 trips · avg +0.6 min
-
107 trips · avg +1 min
-
129 trips · avg +0.6 min
-
69 trips · avg +0.3 min
-
46 trips · avg +0.3 min
-
48 trips · avg +0.3 min
-
147 trips · avg +0.5 min
-
76 trips · avg +1.3 min
Most punctual busy lines
-
151 trips · avg +0.2 min
-
115 trips · avg +0.4 min
-
78 trips · avg +0.8 min
-
78 trips · avg +0.2 min
-
78 trips · avg +0.1 min
-
77 trips · avg +0.4 min
-
77 trips · avg +0.2 min
-
76 trips · avg +0.2 min
Least punctual busy lines
-
294 trips · avg +1.8 min
-
288 trips · avg +2.1 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 77.8%
284 trips · avg +2.1 min
-
275 trips · avg +1.9 min
-
276 trips · avg +1.4 min
-
304 trips · avg +1.3 min
-
252 trips · avg +1.6 min
-
304 trips · avg +1.4 min
Show 12 more
-
414 trips · avg +1.3 min
-
303 trips · avg +1.4 min
-
383 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90.6%
308 trips · avg +1.2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 91.1%
349 trips · avg +1.3 min
-
300 trips · avg +1 min
-
296 trips · avg +1.6 min
-
294 trips · avg +0.8 min
-
179 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.1%
154 trips · avg +0.9 min
-
293 trips · avg +0.7 min
-
142 trips · avg +0.1 min
Most punctual busy lines
-
142 trips · avg +0.1 min
-
293 trips · avg +0.7 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.1%
154 trips · avg +0.9 min
-
179 trips · avg +0.8 min
-
294 trips · avg +0.8 min
-
296 trips · avg +1.6 min
-
300 trips · avg +1 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 91.1%
349 trips · avg +1.3 min
Least punctual busy lines
-
149 trips · avg +3.9 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 46%
215 trips · avg +3.3 min
-
151 trips · avg +3.3 min
-
175 trips · avg +3.2 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 55.6%
216 trips · avg +3.4 min
-
62 trips · avg +3.3 min
-
97 trips · avg +5.3 min
-
49 trips · avg +3.7 min
Show 17 more
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 58%
50 trips · avg +2.4 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 58.4%
154 trips · avg +4.5 min
-
Bus 765 Dietlikon, Schwimmbad – Zürich Flughafen, BahnhofDietlikon, Schwimmbad – Zürich Flughafen, Bahnhof 59.5%
153 trips · avg +6.3 min
-
80 trips · avg +3.2 min
-
75 trips · avg +2.7 min
-
64 trips · avg +2.5 min
-
Bus 456 Regensdorf-Watt, Bahnhof – Dielsdorf, BahnhofRegensdorf-Watt, Bahnhof – Dielsdorf, Bahnhof 63.5%
63 trips · avg +3.1 min
-
97 trips · avg +4.8 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 65.6%
154 trips · avg +2.6 min
-
Bus 751 Stettbach, Bahnhof – Zürich, Kirche FlunternStettbach, Bahnhof – Zürich, Kirche Fluntern 65.6%
96 trips · avg +2.6 min
-
171 trips · avg +3.2 min
-
93 trips · avg +2.1 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 66.7%
54 trips · avg +6 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 67.2%
177 trips · avg +3 min
-
174 trips · avg +2.4 min
-
Bus 501 Estavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plageEstavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plage 67.9%
56 trips · avg +2 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 68.2%
85 trips · avg +2.4 min
Most punctual busy lines
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 98.2%
285 trips · avg +0.6 min
-
228 trips · avg +0.5 min
-
286 trips · avg +0.4 min
-
246 trips · avg +0.6 min
-
200 trips · avg +0.8 min
-
234 trips · avg +0.4 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.2%
286 trips · avg +0.6 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 95.7%
208 trips · avg +0.7 min
Least punctual busy lines
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 37.2%
148 trips · avg +5 min
-
148 trips · avg +3.4 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 100%
50 trips · avg +0.4 min
Least punctual operators
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 55.6%
108 trips · avg +3 min
-
Mouettes genevoises 60.4%
384 trips · avg +3.5 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 70.3%
303 trips · avg +2.2 min
-
TPL 74%
1,613 trips · avg +2.3 min
-
Lugano-Ponte Tresa 75%
132 trips · avg +1.7 min
-
VBL 75.9%
3,928 trips · avg +2.2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 76%
821 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 76.6%
2,852 trips · avg +1.9 min
Show 17 more
-
Automobil Rottal 78.2%
455 trips · avg +1.8 min
-
BVB 79.6%
4,843 trips · avg +1.9 min
-
Bus Nyon-Prangins 80.9%
387 trips · avg +1.6 min
-
Bus und Service 81.7%
1,556 trips · avg +1.7 min
-
Sierre-Montana-Crans 82.3%
283 trips · avg +2.3 min
-
TPG 82.5%
9,754 trips · avg +1.6 min
-
Auto AG Rothenburg 82.6%
771 trips · avg +1.5 min
-
Busbetrieb Solothurn und Umgebung 82.9%
749 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.9%
1,387 trips · avg +1.5 min
-
Bamert Bus 84.2%
177 trips · avg +1.5 min
-
Verkehrsbetriebe Glattal 84.9%
4,477 trips · avg +2.7 min
-
TPF 85%
4,124 trips · avg +1.4 min
-
Verkehrsbetriebe Biel 85.8%
1,404 trips · avg +1.4 min
-
Autobetrieb Sernftal 86%
114 trips · avg +1.8 min
-
Stadtbus Frauenfeld 86.2%
574 trips · avg +1.6 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 87.2%
1,191 trips · avg +1.2 min
-
VBZ 87.2%
16,793 trips · avg +1.5 min
Most punctual operators
-
Aare Seeland mobil 100%
338 trips · avg +0.3 min
-
Busbetrieb Aarau 99.4%
934 trips · avg +0.1 min
-
THURBO 99.3%
1,078 trips · avg +0.2 min
-
Schweizerische Südostbahn 99.2%
515 trips · avg +0.3 min
-
RhB 99.2%
514 trips · avg +0.3 min
-
Zentralbahn 99.4%
361 trips · avg +0.2 min
-
Regionalbus Lenzburg 98.9%
549 trips · avg +0.2 min
-
Aargau Verkehr 98.2%
1,471 trips · avg +0.4 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 97.7%
1,732 departures · avg +0.9 min
-
Bern 98.1%
1,074 departures · avg +0.8 min
-
Zürich Oerlikon 97.9%
919 departures · avg +0.9 min
-
Zürich Stadelhofen 95.1%
699 departures · avg +1.1 min
-
Zürich Hardbrücke 90.7%
678 departures · avg +1.8 min
-
Winterthur 96.4%
673 departures · avg +1.1 min
-
Olten 94.4%
603 departures · avg +1.1 min
-
St. Gallen 94.9%
526 departures · avg +1.3 min
-
Aarau 96.6%
523 departures · avg +0.8 min
-
Lausanne 90.6%
498 departures · avg +1.5 min
-
Renens VD 90.2%
488 departures · avg +1.5 min
-
Worblaufen 97.9%
481 departures · avg +0.9 min
-
Genève, gare Cornavin 84.9%
3,181 departures · avg +1.4 min
-
Genève, Bel-Air 86.8%
3,059 departures · avg +1.4 min
-
Bern, Bahnhof 96.7%
2,947 departures · avg +1 min
-
Luzern, Kantonalbank 81.4%
2,466 departures · avg +1.8 min
-
Basel, Schifflände 87.9%
2,272 departures · avg +1.5 min
-
Zürich, Central 94.8%
2,262 departures · avg +1 min
-
Bern, Hirschengraben 94.3%
2,230 departures · avg +1.3 min
-
Bern, Zytglogge 93.6%
2,172 departures · avg +1.3 min
-
Zürich, Bellevue 94.7%
2,151 departures · avg +1.1 min
-
Luzern, Bahnhof 88.9%
2,141 departures · avg +1.3 min
-
Basel, Bahnhof SBB 89.6%
2,134 departures · avg +1.5 min
-
Lausanne, Bel-Air 80.2%
2,111 departures · avg +1.9 min
-
St. Gallen Marktplatz 58.2%
110 departures · avg +2.9 min
-
Agno 58.3%
132 departures · avg +3.3 min
-
Magliaso Paese 59.1%
132 departures · avg +3.3 min
-
Magliaso 59.8%
132 departures · avg +3.2 min
-
Serocca 61.4%
132 departures · avg +3.1 min
-
Bioggio Molinazzo 63.6%
132 departures · avg +2.8 min
-
St. Gallen Notkersegg 66.4%
110 departures · avg +2.6 min
-
Lustmühle 67.6%
108 departures · avg +2.9 min
-
St. Gallen Birnbäumen 68.2%
110 departures · avg +2.6 min
-
Bioggio 68.2%
132 departures · avg +2.5 min
-
St. Gallen Spisertor 69.1%
110 departures · avg +2.4 min
-
110 departures · avg +2.4 min
Largest delays
- Bus 768 Zürich Oerlikon, Bahnhof – Zürich Flughafen, Bahnhof Zürich Oerlikon, Bahnhofand 6 more trips of this line +95 min
- Bus 759 Zürich Flughafen, Bahnhofand 5 more trips of this line +93 min
- Bus 787 Zürich Oerlikon, Bahnhofand 3 more trips of this line +91 min
- Bus 75 Zürich, Seebacherplatz – Zürich, Schwamendingerplatz Zürich, Seebacherplatzand 1 more trips of this line +58 min
- Bus 68 Saint-Genis, Jean Monnet +58 min
- Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse Zürich Oerlikon, Bahnhofand 3 more trips of this line +57 min
- Bus 333 Altstätten SG, Ruppendörfli +54 min
- EC Bregenz – Zürich HB Zürich HB +53 min
- Bus 321 Hohenems, Bahnhof +53 min
- Bus 57 ZIMEYSA, gare +52 min
- Bus 422 Sierre/Siders,Place de la gare +52 min
- Tram 14 Meyrin, Gravièreand 1 more trips of this line +49 min
- ICE Brigand 1 more trips of this line +48 min
- Bus 748 Dietlikon, Hofwiesen – Dübendorf, Bahnhof Dübendorf, Bahnhof +48 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Thônex, Moillesulaz +48 min