Skip to content

What Bahnsparer knows about your arrival

Before booking, past journeys help compare connections. During the journey, Bahnsparer shows DB's arrival and adds “9 out of 10 by”. Both run locally on your device and remain clearly separate.

The data used

For long-term comparisons, Bahnsparer uses published scheduled times, reported arrivals and cancellations from the DB Timetables API. The prepared monthly files come from the dataset piebro/deutsche-bahn-data.

Live journey guidance adds a second source: Bahn-Vorhersage records how DB forecasts change up to the actual arrival. This makes it possible to measure how much uncertainty remained in a current forecast.

The public train, station and route pages currently cover 1,344,686 arrivals from January 2026 to July 2026.

Before booking

The reliability value answers one concrete question: how often did comparable journeys with these trains and transfer times run as planned? That includes made connections, cancellations and arrival at the destination less than six minutes late.

The app also gives the typical historical arrival and, when the spread is large enough, the time by which nine out of ten comparable arrivals occurred. A cancelled train is never reinterpreted as a very late arrival.

The current reliability value was tested on June 2026 und July 2026 with 3,851,111 constructed journey chains. Its latest calibration error is 1.82 percentage points. In the final test, the historical arrival model has a mean error of 3.21443 minutes.

During the journey

As soon as DB provides a current destination time, that time remains the primary value. The new local model considers forecasts 15 to 360 minutes before scheduled arrival and calculates “9 out of 10 by”: the time by which nine out of ten journeys with a similar DB forecast actually arrived.

Alerts, train-specific ticket restrictions, sharing and alternative searches continue to use only DB's time. The model also stops at scheduled arrival because DB is demonstrably more accurate after that point.

The model was trained on forecasts from January to May 2025, calibrated on June 2025, selected on July 2025 und August 2025 and finally tested on September 2025 und November 2025. In that test, the mean error fell from 5.48 to 5.10 minutes. The 9-out-of-10 threshold covered 89.72 percent of arrivals.

When a model is replaced

Training, calibration, selection and final testing use separate months. A candidate replaces the model in the app only if it passes the defined quality, coverage, segment and size limits.

More data alone is therefore not enough. In the current refit, new reliability and historical-arrival candidates were rejected because they made the whole journey or longer segments worse. Only the new live model passed its relevant test.

Model sizes, features and every validation metric appear on the technical page Reliability and arrival models.

What the values do not know

No model knows the cause of today's disruption, the weather on the travel day or short-notice engineering work. The app therefore shows current notices and cancellations separately.

Bahnsparer is independent and is not affiliated with Deutsche Bahn AG. Report errors or unusual data to mail@maxritter.net .