Trenalia

Data validation

From 2026-10-19 to 2026-11-02 · computed 2026-11-02 20:16 UTC

How accurate Trenalia and its sources are, measured against what happened afterwards: every night, what the site showed is compared with the real arrival, measured by Trenalia from station boards and from the GPS position recorded throughout the journey. It is fully automatic: nothing is entered by hand.

8.7 minmean error of Trenalia's delay (official: 7.9 min)
38 %samples within ±3 min of the real arrival delay
33journeys with an observed arrival (3,499 samples)
68.8 %network alerts confirmed (240 checked)

1 · What happened at the end of the journey

Trenalia measures on its own when each train arrived: from the destination station's arrivals board (ADIF or RadarDeTrenes) when available, otherwise from the continuously recorded GPS position (entering within 700 m of the station, or an estimate from the last position and speed if it vanishes within 3 km). That arrival is compared here with Renfe's last published delay. Positive bias = Renfe reports more delay than observed.

SamplesMean difference (min)Agree within ±2 minRenfe bias (min)p90
All observed arrivals334.845.5 %3.114
Destination arrivals board275.540.7 %4.215.4
GPS: entering the station4275 %-25.2
GPS: estimated when signal lost nearby2250 %-22.8
Boards as the train passes each station2,0782.870.8 %-0.36

2 · Delay shown vs. observed arrival

The toughest test: what the site showed at each moment is compared with the arrival measured by Trenalia (board or GPS), not with Renfe's figure. “Official” is Renfe's published delay; “Trenalia” the projected one. Gain = how much Trenalia reduces the official error.

SamplesOfficial error (min)Trenalia error (min)±3 min official±3 min TrenaliaBias (min)Gain
Total3,4997.98.747.2 %38 %0.7-9.9 %
0–15 min before arrival4265.3650.5 %42.7 %5.1-13.6 %
15–30 min before arrival4485.16.248.4 %42.2 %5.4-22.3 %
30–60 min before arrival7614.65.953.2 %43 %4.3-27.4 %
60–120 min before arrival1,0115.56.945 %32.2 %2.5-25.4 %
2–4 h before arrival85316.51642.1 %36 %-9.1+3.2 %

By service

SamplesOfficial error (min)Trenalia error (min)±3 min official±3 min TrenaliaBias (min)Gain
Media Distancia and regional1,48412.512.938.6 %27.4 %-3.9-2.7 %
Euromed and Intercity86344.247.9 %43.5 %2-6.9 %
AVE6082.34.274.3 %62.3 %3.6-86.3 %
Alvia22712.313.60 %0 %13.6-10.8 %
Avant2002.52.686.5 %82.5 %-0.5-2.2 %
Avlo1177.912.234.2 %5.1 %12.2-53.7 %

By day

SamplesOfficial error (min)Trenalia error (min)±3 min official±3 min TrenaliaBias (min)Gain
2026-11-0112810.412.110.2 %3.1 %12.1-16.3 %
2026-11-023,3717.88.548.6 %39.4 %0.3-9.6 %

3 · Delay shown vs. Renfe's last figure

The same, taking as final the last delay Renfe published at the end of the journey (available for almost every journey, but not an independent measure). It shows whether Trenalia anticipates what Renfe will end up reporting.

SamplesOfficial error (min)Trenalia error (min)±3 min official±3 min TrenaliaBias (min)Gain
Total9,3767.18.250.9 %45.6 %0.2-16.2 %
0–15 min before arrival1,0041.14.289.7 %72.4 %3.8-284.8 %
15–30 min before arrival1,0862.54.774.5 %62.1 %3.4-83.2 %
30–60 min before arrival1,9273.75.354 %46.4 %3-43.3 %
60–120 min before arrival2,8267.47.340.4 %39.1 %1+0.7 %
2–4 h before arrival2,53313.614.634.9 %34.6 %-5.6-7 %

By service

SamplesOfficial error (min)Trenalia error (min)±3 min official±3 min TrenaliaBias (min)Gain
Media Distancia and regional5,42491146.8 %38.4 %0.1-22.6 %
AVE2,1553.63.665.6 %65.6 %0.5-1 %
Euromed and Intercity8634.44.455.2 %52.5 %-1.3+0.8 %
Alvia5487.77.926.6 %27.6 %3.7-2.1 %
Avant2513.13.668.1 %54.2 %2.7-14.6 %
Avlo1359.7624.4 %29.6 %-6+37.7 %

By day

SamplesOfficial error (min)Trenalia error (min)±3 min official±3 min TrenaliaBias (min)Gain
2026-10-3157811.312.755.9 %44.6 %1-12.2 %
2026-11-014,4805.86.847.8 %46.7 %1.4-18.5 %
2026-11-024,3187.99.153.6 %44.6 %-1.1-15.2 %

4 · Learned models

Trained every night on the history and evaluated on the last week, which is held out from training. They are only switched on if they clearly beat the baseline.

Delay correction (ETA)

needs more data faltan datos · trained 2026-11-01 04:28 UTC · — of — needed

False alarm filter for closing alerts

needs more data faltan alertas etiquetadas · trained 2026-11-01 04:28 UTC · — of — needed

5 · Train closing alerts

There is no official data to compare them with, so we label what happened afterwards. If the gap kept closing, the alert was consistent with the data; if the train ahead was stopped at a station, it was probably a false alarm (normal operations).

Candidates evaluated949
Alerts shown880
Still closing 2 min later11.8 %
Likely false alarm (train ahead at a station)0.9 %

What happened afterwards

Automatic check 3 h after each alert shown: whether both trains finished their journey normally, whether Renfe or Adif published an incident in the area, and whether there were network alerts nearby. “No signs” is not official confirmation: official accident data is published by the CIAF.

No signs327
Incident in the area215
Mentioning collision or derailment0
Signs to review170
No data38
Reviewed by hand0

6 · Network alerts

A segment or stopped-train alert counts as confirmed if any train involved gained 3 min or more of delay 10 to 30 min later; a sudden delay jump, if it did not revert (it was not a data glitch).

AlertsCheckedConfirmed
Segment with several trains losing time9977.8 %
Train stopped outside a station21319362.2 %
Sudden delay jump3938100 %
Total26124068.8 %

7 · Data quality

Days with trajectories3
Position samples per day75,720
Positions snapped to the track99.1 %
Estimated precision (median)144 m · p90 748 m

Free software (GNU GPL v3)