RailCast

Not a time.
A section of track.

Irish Rail tells you a train is expected at 17:27. It does not tell you how sure it is. RailCast answers with the span the arrival will actually fall inside four times in five, then publishes every night whether it did.

GALWAY ATHLONE GEASHILL TULLAMORE PORTARLINGTON HEUSTON 18.2 min late 17:26 17:22 to 17:34 SCHED 17:09

A real journey. The shaded section is where the arrival is expected to land 80% of the time, and the marker is the single most likely moment inside it.

START YOUR STOP

01

It only answers about a train already moving

Every input describes a journey in progress. A service that has not left its origin has reported nowhere, so there is nothing to reason from. RailCast declines and says so, rather than producing a number that looks like an answer.

02

It reads how late the train already is

At each stop behind you the operator records an actual arrival. The gap between that and the timetable is the strongest signal there is, because lateness carries forward along a journey. Twelve inputs in total, and every one of them exists for a service that started running yesterday.

03

It answers with a range, not a time

Three models are trained rather than one, each learning a different point of the distribution: the tenth percentile, the middle, the ninetieth. The gap between the outer two is the 80% range. That is what a quantile model buys you and an ordinary one does not.

04

The further ahead you ask, the wider it gets

This is the honest part. Asking about the next stop is a different problem from asking about one an hour away, and the range widens to say so. A model whose intervals stayed the same width across the whole horizon would be the suspicious one.

05

Then the night scores it

Every prediction is written down before the outcome exists. The next morning a job fetches what actually happened and marks each one hit or miss. In the seven days to 8 September 2026 the arrival landed inside the range 75.1% of the time against the 80% it claims, and that shortfall is published instead of adjusted.

Ask further ahead

Drag it. Every figure is measured from live scored predictions, split by how far ahead the question was asked. The range on the diagram above moves with it.

5 to 15 minutes
77.1sRailCast, same events
109.2sthe operator, same events
+29.4%closer than the operator
75.9%landed inside, against 80% claimed
24,465predictions scored

Seven days to 8 September 2026. RailCast and the operator are compared on the 5,574 events both answered; coverage and the count cover every scored prediction. RailCast answers only trains already running and reported somewhere, 92.7% of sampled in-service trains that week.

Where it fails

On a real disruption, a train losing an hour in a single stretch, the range misses every time. Not sometimes. Coverage on delays over an hour is zero, and it was zero for the previous model too.

Nothing in "how late is it now, how far is left to go" can see a disruption that has not started yet. Widening the range enough to catch it would mean being wrong about ordinary days to hedge against rare ones. So it is stated here rather than buried.

Read the whole method

Sligo line, 2 September

Three trains, each two to seven minutes late at every point the service was asked. Each then lost 75 to 89 minutes between Mullingar and Edgeworthstown. Sixteen predictions, sixteen misses.

Three lines below the promise

In the seven days to 8 September 2026 the range held 67.1% of the time on the Cork corridor, 63.9% on the Kildare line and 56.8% on other intercity routes, against 80% claimed. What changed on those lines has not been established. Published per line rather than blended away.