How it works

Most journey planners tell you the fastest way. TravelPlaner also tells you how likely you are to arrive on time and when to leave, based on how the buses, trams and trains on your route have actually run.

Departures checked in the last 24 hours
…
Stops with a track record
…
Lines with a track record
…
Days of history collected
…

In four steps

  1. We watch every departure

    Every 3 minutes we read Ruter's live feed for the whole network: every bus, tram, metro and ferry in Oslo and Akershus. We also check the busiest hubs for trains and other operators. For each departure we note when it should have left and when it actually left. The difference is the delay.

  2. We build a track record

    Those delays add up to a track record for every line at every stop, for each weekday and hour. For example: “bus 31 at Majorstuen on weekday mornings is usually 2 minutes late, and about 1 in 10 times more than 6 minutes late.”

  3. We adjust for today

    If a bus is already running late right now, we take that into account, most strongly for departures leaving soon. Rain, snow and strong wind in the weather forecast make late departures a bit more likely.

  4. We check your changes

    When a journey has a change, we work out how likely you are to miss the next service, counting the walk between stops. If you might miss it, we count the wait for the following one.

What the numbers mean

You seeWhat it means
Chance on timeHow often a trip like this gets you there by your arrival time. “9 in 10” means that on 9 days out of 10, it would.
Leave byWhen to leave the door to catch this journey, including a couple of minutes to reach the stop.
BufferHow many extra minutes to allow if you want to be on time 9 times out of 10. If you're signed in, you can pick 8 or 9.5 in 10 on your profile instead.
Fastest vs most reliableThe quickest journey isn't always the safest. When a slightly slower one is much more dependable, we point it out.
Risk (low, moderate, high)A quick summary of the chance on time, and of how tight your changes are.
Score (0–100)The chance on time, lowered a little when the unlucky days tend to be very late.

How much to trust it

Every estimate shows a confidence label, so you know how much history it is based on:

When a stop has too little history, we widen the view step by step: the same stop at nearby hours, then the whole line, then typical values. We tell you whenever we do.

The AI model

Next to the track-record statistics, we are training a machine-learning model: an AI that learns delay patterns from weeks of history, such as how rain, the time of day and each line interact. It could make estimates sharper. But it only replaces the current method if it proves itself:

A fair test needs about three weeks of collected history, so the first real evaluation is expected in mid-October 2026. The box above always shows which method is producing the estimates right now.

What it can't do

Technical details, for the curious
  • On time means arriving by your deadline. For “depart at” and “leave now” searches it means arriving no more than 3 minutes after the timetable.
  • Track record: delays are stored per line, stop, weekday and hour (Norwegian time) as a histogram in one-minute steps, from 1 minute early to 30 minutes late. The most specific group with at least 20 observations is used: same stop, weekday and hour, then the same day type (Mon–Fri, Saturday, Sunday), then ±1 hour, then the whole line by day type and hour, then the whole line, then a default for the mode.
  • Live delays move a ride's delay pattern 90% of the way towards the reported delay for departures within 30 minutes, fading to no adjustment 3 hours ahead.
  • Weather stretches late delays by +10% for rain (≥ 0.5 mm/h), +20% for heavy rain (≥ 2 mm/h), +35% for snow or sleet and +10% for strong wind (≥ 15 m/s), capped at +60%.
  • Changes are missed when the first ride's delay uses up the gap minus the walking time. Only half of the next ride's usual lateness is counted in your favour; a live delay counts in full. After a missed change or a cancellation, the expected wait comes from how often the line runs.
  • Confidence: high means at least 200 stop-level observations for every ride, medium at least 30, low otherwise or whenever a default is used. Risk: low when the score is ≥ 80, moderate when it is ≥ 60, high below that, and raised when a change has a 10% (moderate) or 30% (high) chance of being missed. The score is lowered by up to 15% when the worst 5% of outcomes are much later than allowed.
  • AI model: LightGBM, predicting the chance of each delay range for one stop call from the line, stop, transport mode, time of day, weekday and weather. It is evaluated with log loss, Brier score, median delay error and calibration against the statistical method on the most recent 7 days.