BayesianBahn
Empirical arrival-time distributions for Deutsche Bahn trains
Promotes non-free network services
- Developer
- DerWeh
- License
- MIT
- Package
io.github.derweh.bayesianbahn- Category
- Public Transport
- Latest version
- 0.4.0 · Sep 12, 2026
- Minimum Android
- Android 8.0
Screenshots
Description
Early release: predictions are experimental — always cross-check
times and connections with DB's official apps.
BayesianBahn predicts when you will actually arrive — as a full
probability distribution, not a single number.
Enter where you start, where you want to go and when (also future trips):
the app searches direct trains and journeys with one change — routes
needing two or more changes are not covered yet, so it will sometimes
find fewer connections than DB's own apps. For each option it shows:
• the median predicted arrival time at your destination,
• an 80% credible interval,
• the full delay distribution as a chart,
• the probability of catching each connecting train,
• a Deutschland-Ticket filter that keeps you on regional trains.
Transfers are propagated with Bayes' theorem: you board the first
connecting train that has not left yet — so a delayed earlier train
counts as catchable, and a missed connection honestly shifts the whole
distribution. Live station boards and per-train predictions (including
cancellation rates) are also available.
Predictions are empirical: they come from months of real historical runs
of that exact train at that station (collected from Deutsche Bahn's
public IRIS API, CC BY 4.0), reweighted for recency and weekday. When
DB reports an actual delay the forecast is anchored on it; when it
reports nothing — which it does for most trains until shortly before
departure — the history is left to speak for itself, which measurably
beats treating the timetable as a forecast. Delay history updates
in-app — a small daily data release keeps predictions fresh to within a
day. Trains without history get an honest Bayesian prior estimate.
The app talks only to the keyless public IRIS timetable endpoint and the
project's own data releases, needs no account, no API key, no Google
services, and collects no data.
times and connections with DB's official apps.
BayesianBahn predicts when you will actually arrive — as a full
probability distribution, not a single number.
Enter where you start, where you want to go and when (also future trips):
the app searches direct trains and journeys with one change — routes
needing two or more changes are not covered yet, so it will sometimes
find fewer connections than DB's own apps. For each option it shows:
• the median predicted arrival time at your destination,
• an 80% credible interval,
• the full delay distribution as a chart,
• the probability of catching each connecting train,
• a Deutschland-Ticket filter that keeps you on regional trains.
Transfers are propagated with Bayes' theorem: you board the first
connecting train that has not left yet — so a delayed earlier train
counts as catchable, and a missed connection honestly shifts the whole
distribution. Live station boards and per-train predictions (including
cancellation rates) are also available.
Predictions are empirical: they come from months of real historical runs
of that exact train at that station (collected from Deutsche Bahn's
public IRIS API, CC BY 4.0), reweighted for recency and weekday. When
DB reports an actual delay the forecast is anchored on it; when it
reports nothing — which it does for most trains until shortly before
departure — the history is left to speak for itself, which measurably
beats treating the timetable as a forecast. Delay history updates
in-app — a small daily data release keeps predictions fresh to within a
day. Trains without history get an honest Bayesian prior estimate.
The app talks only to the keyless public IRIS timetable endpoint and the
project's own data releases, needs no account, no API key, no Google
services, and collects no data.
All versions
| Version | Released | Minimum Android | Size |
|---|---|---|---|
| 0.4.0 | Sep 12, 2026 | Android 8.0 | 5 MB |
| 0.3.0 | Aug 31, 2026 | Android 8.0 | 5 MB |
| 0.2.0 | Aug 27, 2026 | Android 8.0 | 5 MB |
| 0.1.4 | Aug 26, 2026 | Android 8.0 | 5 MB |
| 0.1.3 | Aug 26, 2026 | Android 8.0 | 5 MB |
| 0.1.2 | Aug 21, 2026 | Android 8.0 | 4.9 MB |
How to install an older version of an Android app · How to install an APK file on Android
From the developer (GitHub)
APK files published by the developer on GitHub. They are signed by the developer and may not install over the other builds on this page (different signature). Links open github.com.
Similar apps
-
Offi
King of public transit planning!
-
Roue Libre
Bike sharing: offline map and journeys, with no tracker.
-
pMetro
Calculate shortest metro routes in Russia
-
BikeSharingHub
Shared bikes availability in your city
-
BusTO
BusTO gives you arrival times for public transport in Turin and its outskirts
-
Helsinki Timetables
Show timetables for public transport in Helsinki city and region
-
KTrip
Public Transport Assistant
-
Transportr - Public Transit
Free Public Transport Assistant without Ads or Tracking