About this app
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.