BayesianBahn

BayesianBahn

Empirical arrival-time distributions for Deutsche Bahn trains

DerWeh Public Transport

Screenshots

Screenshot of BayesianBahn Screenshot of BayesianBahn Screenshot of BayesianBahn Screenshot of BayesianBahn Screenshot of BayesianBahn

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 and
anchored on the train's current live delay. 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.

What’s new (0.1.2)

Journeys to stations DB spells differently in its route data are found
again, instead of reporting "no plannable trains"; picking a transfer
station offered on the connection screen works. Transfers are chosen
towards the destination, so more connections are found. Searches survive
a lost connection, and refreshing the delay history retries a dropped
download. Only direct journeys and journeys with one change are searched
— the app now says so.

Anti-features

Properties of this app that are worth knowing about before installing.

  • NonFreeNet

Versions

Version Date Size Requires Android Download
0.1.2 current
027477f3a47599fe…
2026-08-21 4.9 MB API 26

Permissions

What the app asks the system for. Android only grants sensitive access after you confirm it.

  • Internet accessSend and receive data over the internet.
  • bayesianbahn.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Comments