How "+4 min" on the bus comes about
The delay is the difference between the timetable and the bus's own updated estimate. Here is the whole chain, from the bus to the number on the screen.
When you tap a bus in Kartradar, it often says "+4 min" next to the line number, along with a list of the stops ahead. That number is not a guess by the map. It is the bus's own report of how it is running, and here is how it comes about.
Scheduled time and expected time
For every departure there are two sets of times at every single stop:
- Scheduled time is the timetable, set in advance.
- Expected time is the updated estimate, based on where the bus is now and how it has been running so far.
The delay is simply the difference between the two. If the bus is ahead of schedule, the number becomes negative. That happens, but less often than you might think, because the driver normally waits at the stop until the scheduled departure time instead of leaving people behind.
The times come from Entur, which collects real-time data from the transport companies across the whole country. The bus reports its position, the company's system calculates new estimates for the rest of the trip, and those estimates are what the departure board at the stop, the travel apps and this map all show.
Why the estimate changes while you watch
The estimates are recalculated continuously. A bus stuck in a queue has its expected time pushed back minute by minute; once it gets through, it is pulled forward again. It can look odd, but it is the correct behaviour: the number describes the future, and the future changes.
Some departures have no real-time data at all. Everything then falls back to the timetable, and no delay is given. This typically happens with technical faults on board, or on departures run with vehicles that are not connected to the system.
The route that follows the road
When you select a bus, the route it will drive is drawn as a line on the map. That line is not straight lines between the stops, but the actual road the trip follows, taken from Entur's route planning data. For one trip in Trondheim, that gave 294 points spread over 30 stops, and a route length of 19.4 kilometres compared with 17.8 kilometres if you simply drew lines between the stops.
The line shrinks as the bus drives. The stretch the bus has already covered disappears, and stops it has passed are removed from the list. That way the map shows what remains, not the whole trip.
Two details are worth mentioning, because they are easy to misunderstand:
- The route never goes backwards. Small jumps in position from inaccurate GPS would otherwise make the line grow again. Progress is therefore locked to what has been driven.
- If the bus is far from its route, the whole route is shown uncut. This happens between two trips, when the bus has already been assigned its next departure but is still standing at the terminus. We observed one bus standing 3.5 kilometres from its route for exactly that reason.
Movement between updates
Positions do not arrive continuously, but a few seconds apart. If the symbol only moved when a new message arrived, the buses would jump across the screen. Instead, they glide smoothly along their own course and speed between messages. That is a smoothing of the last known position, not an independent calculation of where the bus is.
Why Oslo is missing
This only affects the positions, not the times. Ruter sends expected times to Entur, but no vehicle positions, so neither the metro, trams nor city buses in the capital appear on any real-time map. We measured it directly: zero metro trains in all of Norway. The full story with the numbers is here.