Skip to contentBePünktli

Ruvigliana, Scuole

Stop 8591647 · Lugano · TI


This figure covers every line that calls here, taken together — a long-distance train and a town bus in one number. We measured what that costs: the line you actually travel on sits 1.88 percentage points from this figure on average. It is the only pooling of this kind we allow.

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

83.68% — less than 3:00 late, coverage 97.57% (floor 90%)

ThresholdShareCoverageStop events counted
under 3:0083.68%97.57%19'861
under 5:0094.27%97.57%19'861
under 15:0099.81%97.57%19'861

Distribution of delays

MeasureValue (min:s)
Median1:14
90th percentile3:50
95th percentile5:20
Measured arrivals19'861

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

Cancellations and early departures

MeasureShareCoverage
Ran rather than cancelled100%97.57%
Departures not early99.08%97.57%

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
Confirmed99.64%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.86%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.65%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 202586.95%97.4%99.51%1.79%0.92%
February 202589.35%97.89%99.87%1.35%0.59%
March 202583.95%96.23%99.45%0.31%0.62%
April 202579.25%96.37%99.44%2.51%0.57%
May 202578.38%98.53%99.76%0.12%0.54%
June 202582.08%97.76%99.94%0.88%0.51%
July 202585.42%98.68%99.83%0.41%0.7%
August 202588.92%98.92%99.94%0.36%0.79%
September 202580.6%97.02%99.26%0.73%0.74%
October 202576.83%95.22%99.15%0.72%0.49%
November 202588.26%99.2%99.94%0.37%0.56%

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 202684.83%99.35%99.94%0.3%0.83%
February 202668.03%98.4%99.16%0.58%0.39%
March 202662.16%97.69%98.73%1.38%0.25%
April 202648.52%93.88%97.74%4.32%0.46%
May 202654.66%97.75%98.2%0.74%0.19%
June 202674.39%96.95%99.52%1.48%0.96%
July 202688.04%98.67%99.92%0.08%0.48%
August 202687.19%99.28%99.76%0.08%0.48%
September 202683.08%96.6%98.41%1.4%0.85%

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
06:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements749
07:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'227
08:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'203
09:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'125
10:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'218
11:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements850
12:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'133
13:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'212
14:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'203
15:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'137
16:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'222
17:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'200
18:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'129
19:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'217
20:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements1'002
21:00too few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurementstoo few measurements909
22:00too few measurementstoo few measurementsnothing measuredtoo few measurementstoo few measurementstoo few measurementstoo few measurements97
23:00nothing measurednothing measurednothing measurednothing measuredtoo few measurementstoo few measurementsnothing measured269
00:00 (+1)nothing measurednothing measurednothing measurednothing measurednothing measuredtoo few measurementsnothing measured10

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 stop

Stop number8591647
MunicipalityLugano
CantonTI
Country codech

The station is measured as a whole: every edge and platform together. An individual edge has no figure of its own here.

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.