Skip to contentBePünktli

EC (Zürich HB – Chiasso)

Line gtfs:91-2A-Y-j26-1 · Schweizerische Bundesbahnen SBB · rail


Timetable period 2025

The published figure is the most recently completed timetable period. The current one is below it as a trend — month by month, and never folded into a single figure: nothing is averaged across a timetable change.

December 8, 2024 – December 13, 2025

79.05% — less than 3:00 late, coverage 96.35% (floor 90%)

ThresholdShareCoverageStop events counted
under 3:0079.05%96.35%35'007
under 5:0083.85%96.35%35'007
under 15:0090.03%96.35%35'007

Distribution of delays

MeasureValue (min:s)
Median0:12
90th percentile5:55
95th percentile13:44
Measured arrivals33'053

The 3:00 threshold can see none of what happens beyond it: nine arrivals in ten are under 5:55.

Cancellations and early departures

MeasureShareCoverage
Ran rather than cancelled94.42%96.35%
Departures not early99.85%96.35%

An early departure is one more than a minute ahead of the timetable. It has its own denominator — measured departures — because sharing the arrivals' one would make it depend on how many origin stops an operator has.

What this figure is made of

Three disclosures travel with every number on this page. For some operators they are not decoration — they are the whole finding.

DisclosureShareWhat it means
Confirmed94.82%The share of counted arrivals for which an arrival event fired (REAL). The rest is a forecast — which says something about a stop's equipment, not about whether the vehicle came.
Restated as timetable0.01%The share of what could have been measured that was removed because the forecast was the scheduled second exactly. A denominator that lost a fifth of itself is a different statement from one that lost nothing.
Confirmed and exactly on plan0.46%The share of confirmed arrivals filed at exactly the scheduled second. Disclosed and deliberately not removed: no rule in this project reaches this case.

The months inside this period

The figure above is counted over the whole period. A single month inside it can have quite different coverage — and one that is below the floor on its own disappears into a period figure that clears it.

MonthShareCoverageConfirmedRestated as timetableConfirmed and exactly on plan
January 202562.26%94.91%92.41%0%0.42%
February 202584.44%95.98%95.56%0%0.42%
March 202584.45%96.58%95.1%0%0.51%
April 202583.06%95.4%94.56%0.15%0.5%
May 202581.5%95.16%96.52%0%0.41%
June 202575.79%96.59%94.35%0%0.19%
July 202570.79%96.15%94.31%0%0.37%
August 202582.22%97.08%94.12%0%0.55%
September 202578.17%96.3%94.04%0%0.5%
October 202577.37%96.24%95.09%0%0.57%
November 202582.83%96.91%95.43%0%0.47%

Rows with no share are below the 90% floor on their own. The figure above stands: it is measured over the whole period and it clears the floor. Both are true, and only one of them used to be on this page.

Trend — Timetable period 2026

The current timetable period, month by month. Each month is counted on its own; these rows do not add up to the figure above and are not meant to.

MonthShareCoverageConfirmedRestated as timetableConfirmed and exactly on plan
January 2026not published66.32%68.16%7.81%0.38%
February 2026not published65.63%78.12%4.91%0.55%
March 2026not published65.57%77.53%1.51%0.71%
April 2026not published65.41%82.32%1.5%0.47%
May 202675.36%91.34%94.37%0.43%0.5%
June 2026not published69.69%82.11%2.41%0.42%
July 2026not published61.51%77.1%1.05%0.49%
August 2026not published61.93%79.78%1.29%0.68%
September 2026not published60.44%77.9%1.58%0.28%

Every row carries its own coverage. A month below the floor publishes no share — the three columns on the right still say why.

Not measured yet — these months are after the archive's most recent one: October 2026, November 2026

By hour of day

When an hour starts decides more about punctuality than almost anything else measured here.

Over the last 365 days in the archive, not the timetable year above — so the grid shows the hours as they run now.

October 1, 2025 – September 30, 2026

HourMonTueWedThuFriSatSunStop events counted
00:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements0
01:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1
03:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1
04:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1
05:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements3
06:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements221
07:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'380
08:0070.65%71.94%74.22%64.51%too few measurements79.58%79.49%3'085
09:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements4'673
10:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements4'707
11:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements3'023
12:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements4'179
13:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements3'397
14:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements4'433
15:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements4'248
16:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements3'598
17:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements3'267
18:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements3'335
19:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements3'609
20:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements4'297
21:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements3'896
22:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'792
23:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'120
00:00 (+1)too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements14
01:00 (+1)too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements11
02:00 (+1)too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements2
03:00 (+1)too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements12
04:00 (+1)nothing measuredtoo few measurementsnothing measurednothing measuredtoo few measurementstoo few measurementsnothing measured1
05:00 (+1)too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements17

The outlined cell is that day’s worst hour — it is not the same hour on every day.

Service day, not calendar day: hour 24 is 00:00–00:59 the following morning and still belongs to the day before.

An hour's coverage is the measurement axis alone. The figure at the top of this page takes the worst of three axes — days, journeys, measurements — and so rests on more evidence than these rows do.

About this line

Line keygtfs:91-2A-Y-j26-1
LabelEC
OperatorSchweizerische Bundesbahnen SBB
Moderail
Earlier keysgtfs:91-2A-Y-j24-1, gtfs:91-34-Y-j22-1, gtfs:91-6X-Y-j22-1

A line key changes when an operator renumbers its lines or the timetable issues new identifiers. Only a succession the registry has accepted is linked here — a proposed one is not.

The line registry is built from one week of June 2026. Lines that did not run in that week have no name here — they are measured all the same.

Source and method

Source of the measurements: opentransportdata.swiss (istdaten). How we measure is written up in the methodology.

A figure is published only from 90% coverage upward. Below it there is no figure here — not a greyed-out one, not a dash, none.