Punctuality of Swiss public transportMonday 15 December 2025
86.5% of 147,854 trips were on time. The share was lowest at 17:30: 64.4%. Of the busy lines, Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'Rue had the lowest share on time: 23.6%.
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.
86.5%
−2.5 ptsDay before: 89% · 147,854 trips with live data
Average delay
+1.4 min
Canceled trips
519
0.3% of the trips
The day in numbers
From the timetable of the day, and its trips with live data.
Most punctual line
100%
Least punctual line
23.6%
Largest train delay
+53 min
Through the day
The share of the trips on their way that are less than 3 minutes late, every 10 minutes.
- ≥ 95%
- Dashed: Sunday 14 December
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 94.1%
13,842 trips · avg +0.8 min
-
Tram 79.6%
11,626 trips · avg +2.2 min
-
Bus 86.3%
122,061 trips · avg +1.4 min
-
Metro 97.5%
325 trips · avg +0.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
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 23.6%
237 trips · avg +5 min
-
200 trips · avg +8 min
-
57 trips · avg +4.9 min
-
149 trips · avg +3.7 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 40.7%
214 trips · avg +3.4 min
-
175 trips · avg +3.9 min
-
58 trips · avg +4.9 min
-
Bus 444 Bremgarten AG, Obertorplatz – Zürich Enge, Bahnhof/Bederstr.Bremgarten AG, Obertorplatz – Zürich Enge, Bahnhof/Bederstr. 45.5%
44 trips · avg +3.6 min
Show 17 more
-
62 trips · avg +3.3 min
-
183 trips · avg +6.9 min
-
Bus 16 Muzzano, Paese – Lugano, Stazione/Via BasileaMuzzano, Paese – Lugano, Stazione/Via Basilea 48.9%
45 trips · avg +5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 49.3%
215 trips · avg +3.4 min
-
178 trips · avg +6 min
-
49 trips · avg +3.4 min
-
156 trips · avg +5.7 min
-
132 trips · avg +3.4 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 54.4%
158 trips · avg +3.1 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 55.6%
268 trips · avg +3.3 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 55.9%
177 trips · avg +3.5 min
-
145 trips · avg +2.8 min
-
97 trips · avg +3.3 min
-
Bus 311 La Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gare 57%
93 trips · avg +3 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 57.1%
70 trips · avg +2.9 min
-
123 trips · avg +3.3 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 57.9%
152 trips · avg +3.6 min
Most punctual busy lines
-
325 trips · avg +0.5 min
-
303 trips · avg +0.7 min
-
307 trips · avg +0.7 min
-
288 trips · avg +0.8 min
-
284 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.3%
283 trips · avg +0.9 min
-
275 trips · avg +0.7 min
-
378 trips · avg +1.2 min
Least punctual busy lines
-
63 trips · avg +7.1 min
-
128 trips · avg +2.8 min
-
74 trips · avg +2.2 min
-
50 trips · avg +2 min
-
43 trips · avg +1.8 min
-
108 trips · avg +1.9 min
-
76 trips · avg +2.9 min
-
114 trips · avg +1.6 min
Show 17 more
-
103 trips · avg +1.4 min
-
76 trips · avg +1.7 min
-
78 trips · avg +1.4 min
-
79 trips · avg +1.1 min
-
80 trips · avg +1 min
-
40 trips · avg +1.1 min
-
40 trips · avg +1.8 min
-
40 trips · avg +2 min
-
41 trips · avg +0.9 min
-
41 trips · avg +0.7 min
-
77 trips · avg +1.1 min
-
77 trips · avg +0.8 min
-
79 trips · avg +1.1 min
-
60 trips · avg +1.1 min
-
75 trips · avg +0.9 min
-
71 trips · avg +0.9 min
-
75 trips · avg +0.5 min
Most punctual busy lines
-
146 trips · avg +0.4 min
-
125 trips · avg +0.1 min
-
119 trips · avg +0.2 min
-
96 trips · avg +0.4 min
-
91 trips · avg +0.4 min
-
83 trips · avg +0.3 min
-
R15 Neuchâtel Place Pury Littorail – Boudry LittorailNeuchâtel Place Pury Littorail – Boudry Littorail 100%
81 trips · avg +0.5 min
-
78 trips · avg +0.5 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 58%
305 trips · avg +4 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 62.7%
284 trips · avg +2.9 min
-
288 trips · avg +2.8 min
-
287 trips · avg +2 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 69.1%
288 trips · avg +2.8 min
-
259 trips · avg +2.9 min
-
310 trips · avg +2.5 min
-
299 trips · avg +2.1 min
Show 17 more
-
436 trips · avg +4.2 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 73.6%
311 trips · avg +2.6 min
-
259 trips · avg +2.9 min
-
374 trips · avg +2.3 min
-
Tram 11 Zürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HBZürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HB 78.1%
292 trips · avg +2.1 min
-
305 trips · avg +1.9 min
-
224 trips · avg +1.9 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 80.9%
282 trips · avg +1.7 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 81.7%
290 trips · avg +1.9 min
-
303 trips · avg +2.1 min
-
414 trips · avg +1.5 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 83.7%
289 trips · avg +1.7 min
-
299 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 84.4%
308 trips · avg +1.5 min
-
104 trips · avg +1.4 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 85.6%
389 trips · avg +1.7 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 85.6%
153 trips · avg +2.8 min
Most punctual busy lines
-
142 trips · avg +0.4 min
-
213 trips · avg +0.8 min
-
307 trips · avg +0.7 min
-
288 trips · avg +0.8 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 92%
350 trips · avg +1.4 min
-
290 trips · avg +1 min
-
297 trips · avg +1.4 min
-
293 trips · avg +1.6 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 23.6%
237 trips · avg +5 min
-
200 trips · avg +8 min
-
57 trips · avg +4.9 min
-
149 trips · avg +3.7 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 40.7%
214 trips · avg +3.4 min
-
175 trips · avg +3.9 min
-
58 trips · avg +4.9 min
-
Bus 444 Bremgarten AG, Obertorplatz – Zürich Enge, Bahnhof/Bederstr.Bremgarten AG, Obertorplatz – Zürich Enge, Bahnhof/Bederstr. 45.5%
44 trips · avg +3.6 min
Show 17 more
-
62 trips · avg +3.3 min
-
183 trips · avg +6.9 min
-
Bus 16 Muzzano, Paese – Lugano, Stazione/Via BasileaMuzzano, Paese – Lugano, Stazione/Via Basilea 48.9%
45 trips · avg +5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 49.3%
215 trips · avg +3.4 min
-
178 trips · avg +6 min
-
49 trips · avg +3.4 min
-
156 trips · avg +5.7 min
-
132 trips · avg +3.4 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 54.4%
158 trips · avg +3.1 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 55.6%
268 trips · avg +3.3 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 55.9%
177 trips · avg +3.5 min
-
145 trips · avg +2.8 min
-
97 trips · avg +3.3 min
-
Bus 311 La Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gare 57%
93 trips · avg +3 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 57.1%
70 trips · avg +2.9 min
-
123 trips · avg +3.3 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 57.9%
152 trips · avg +3.6 min
Most punctual busy lines
-
218 trips · avg +0.3 min
-
243 trips · avg +0.7 min
-
240 trips · avg +0.9 min
-
225 trips · avg +0.7 min
-
Bus 701 Tolochenaz, La Plantaz – Lausanne, BourdonnetteTolochenaz, La Plantaz – Lausanne, Bourdonnette 95.4%
238 trips · avg +0.6 min
-
284 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.3%
283 trips · avg +0.9 min
-
Bus 768 Zürich Oerlikon, Bahnhof – Zürich Flughafen, BahnhofZürich Oerlikon, Bahnhof – Zürich Flughafen, Bahnhof 94.3%
244 trips · avg +1.1 min
Least punctual operators
-
Bus Nyon-Prangins 68.4%
389 trips · avg +2.3 min
-
Lugano-Ponte Tresa 70.3%
128 trips · avg +2.8 min
-
BVB 70.9%
4,473 trips · avg +2.6 min
-
Automobil Rottal 71.1%
464 trips · avg +2.2 min
-
TPL 71.4%
1,613 trips · avg +2.4 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 72.3%
303 trips · avg +1.9 min
-
VBL 73.1%
3,922 trips · avg +2.2 min
-
Transports Publics Neuchâtelois 73.5%
2,792 trips · avg +2 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 74.1%
854 trips · avg +2.1 min
-
TPG 74.3%
9,546 trips · avg +3 min
-
Zentralbahn AG Ersatzverkehr 79.8%
114 trips · avg +1.4 min
-
Bus und Service 80.5%
1,530 trips · avg +1.8 min
-
Auto AG Rothenburg 80.8%
769 trips · avg +1.7 min
-
TPF 81%
4,127 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 81%
749 trips · avg +1.8 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 81.5%
108 trips · avg +1.9 min
-
Autolinee Regionali Luganesi 81.7%
230 trips · avg +1.5 min
-
Bus Sierrois 81.9%
177 trips · avg +1.6 min
-
Busbetrieb Aarau 82.4%
935 trips · avg +1.7 min
-
VBZ 82.4%
16,716 trips · avg +1.7 min
-
Autobetrieb Sernftal 82.5%
114 trips · avg +2.2 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 82.8%
1,384 trips · avg +1.5 min
-
Regiobus Gossau SG 83.7%
545 trips · avg +1.4 min
-
Sierre-Montana-Crans 83.7%
283 trips · avg +1.5 min
-
Busbetrieb Olten-Gösgen-Gäu 84.1%
946 trips · avg +1.5 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.7%
605 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 99.7%
313 trips · avg +0.7 min
-
BLS 98.5%
1,568 trips · avg +0.5 min
-
Appenzeller Bahnen 98.8%
346 trips · avg +0.4 min
-
Aare Seeland mobil 99.1%
223 trips · avg +0.4 min
-
THURBO 97.2%
1,113 trips · avg +0.4 min
-
Auto AG Schwyz 96.4%
751 trips · avg +0.5 min
-
Automobildienst SZU 95.5%
1,714 trips · avg +0.7 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 89.3%
1,718 departures · avg +1.4 min
-
Bern 97.8%
1,070 departures · avg +0.9 min
-
Zürich Oerlikon 88.9%
910 departures · avg +1.5 min
-
Zürich Stadelhofen 79.4%
695 departures · avg +2.1 min
-
Winterthur 93.8%
693 departures · avg +1.4 min
-
670 departures · avg +2.5 min
-
Olten 91.1%
604 departures · avg +1.3 min
-
Lausanne 89.3%
531 departures · avg +1.6 min
-
St. Gallen 91.5%
529 departures · avg +1.5 min
-
Aarau 95.6%
523 departures · avg +0.9 min
-
Renens VD 90.6%
488 departures · avg +1.4 min
-
Worblaufen 98.8%
480 departures · avg +1 min
-
Genève, gare Cornavin 69.5%
3,141 departures · avg +4.4 min
-
Genève, Bel-Air 77.2%
3,056 departures · avg +3.2 min
-
Bern, Bahnhof 93.5%
2,965 departures · avg +1.2 min
-
Luzern, Kantonalbank 79.7%
2,461 departures · avg +1.9 min
-
Basel, Schifflände 79.4%
2,250 departures · avg +2.2 min
-
Zürich, Central 87.8%
2,250 departures · avg +1.7 min
-
Bern, Hirschengraben 89.8%
2,248 departures · avg +1.6 min
-
Bern, Zytglogge 90.3%
2,176 departures · avg +1.5 min
-
Zürich, Bellevue 81.6%
2,138 departures · avg +2 min
-
Luzern, Bahnhof 87.8%
2,132 departures · avg +1.4 min
-
Lausanne, Bel-Air 74.2%
2,078 departures · avg +2.8 min
-
St. Gallen, Bahnhof 90.2%
2,033 departures · avg +1.3 min
-
Magliaso Paese 50%
128 departures · avg +4.1 min
-
Agno 53.1%
128 departures · avg +4.2 min
-
Magliaso 54.7%
128 departures · avg +3.9 min
-
Serocca 55.5%
128 departures · avg +3.9 min
-
Bioggio Molinazzo 58.6%
128 departures · avg +3.6 min
-
Bioggio 62.5%
128 departures · avg +3.3 min
-
St. Gallen Marktplatz 62.7%
110 departures · avg +2.6 min
-
L'Asse 63%
108 departures · avg +2.9 min
-
100 departures · avg +2.4 min
-
Zufikon 64.7%
153 departures · avg +2.5 min
-
Caslano 64.8%
128 departures · avg +3.4 min
-
Les Plantaz 65.7%
108 departures · avg +2.8 min
Largest delays
- Bus 72 Zürich, Milchbuck – Zürich, Morgental Zürich, Milchbuck +132 min
- Tram 18 Esslingen – Zürich Stadelhofen, Bahnhof Zürich Stadelhofen, Bahnhof +84 min
- Bus 735 Orny, village – Morges, gare Morges, gare +69 min
- Bus 701 Maur, See – Zürich, Klusplatz Binz bei Maur, Bautacherand 1 more trips of this line +68 min
- Tram 18 Meyrin, CERNand 1 more trips of this line +62 min
- Bus 24 Grenchen, Flurstrasse Süd – Lengnau BE, Sportplatz Grenchen, Flurstrasse Süd +59 min
- Bus 1 Genève, Jardin Botanique – Thônex, Hôpital Trois-Chêne Thônex, Hôpital Trois-Chêneand 2 more trips of this line +59 min
- Bus 25 Thônex, Vallard – Genève, Jardin Botanique Genève, Jardin Botaniqueand 1 more trips of this line +58 min
- Bus 28 Petit-Lancy, Les Esserts – Grand-Saconnex, Tunnel Routier Petit-Lancy, Les Essertsand 1 more trips of this line +57 min
- Bus 68 Lutry, gare – Lutry, Croix/Lutry Croix-sur-Lutry +57 min
- Tram 14 Bernex, Vaillyand 6 more trips of this line +56 min
- Bus 11 Sargans, Bahnhof – Feldkirch, Bahnhof Feldkirch, Bahnhof +56 min
- Bus 7 Pully, Val-Vert – Prilly-Malley, gare/aréna Pully, Val-Vertand 1 more trips of this line +55 min
- Bus 5 Thônex, Vallard – Genève-Aéroport, Terminal Genève-Aéroport, Terminal +54 min
- Bus 67 Meyrin, Gravière – Crozet, école Crozet, école +54 min