Skip to content
Kinetic Melbourne OCC User manual

Manual / Reading the numbers

No prediction is not the same as on time

For
a controller reading the live map
Status
current
Covers
the bus dots, the Bus panel, the route panel's Live buses list and the Headway panel
Last checked against the app
6f7727e (2026-08-19)

The live feed arrives on two channels. One says where a bus is; the other says how it is running. A bus can be on the first and absent from the second, and this app treats that as its own answer rather than pretending it is a good one. This page is every place that shows up.

The one sentence

Nobody has said how this bus is running is a different fact from this bus is on time, and the app never draws them the same way.

That distinction is worth the page because painting an absence as "on time" fabricates exactly the number every alarm keys on. A controller glancing at a network of green dots would be reading a network nobody has reported on.

Where you meet it

Live buses drawn as dots in five colours, with grey dots among the coloured ones.

Surface On time looks like No prediction looks like
A bus dot on the map The on-time colour Its own grey, which is not on the rest of the scale
The Bus panel, when you click a bus A coloured pill reading On time No pill at all — the whole status row is absent
The route panel's Live buses list On time in the lateness column A blank cell in that column
The Headway panel's pair list A deviation figure and a band A greyed row, band Unknown, and a note saying which of the two buses is missing
The Timetable's heatmap A green cell no data — its own class in the legend

The headway note is worth quoting because it names the missing half rather than shrugging:

No live prediction for the bus in front — scheduled gap only.

and, where neither bus is reporting:

Neither bus is reporting — scheduled gap only.

Why a bus has no prediction

Two ways, and they are the same thing to you: the bus's journey is not in the prediction feed at all, or it is there and carries no prediction. Either way, nobody has said.

Common, blameless reasons: the journey has not started, it has been cancelled, or the feed simply has nothing for it. If every bus is grey, the prediction channel has stopped arriving — the map can keep placing buses perfectly while knowing nothing about how any of them is running, because positions and predictions come separately.

What they do not mean

Grey is not "slightly late" or "probably fine". It is not on the scale at all. It has its own colour in the palette — No prediction (bus) — precisely so that it cannot be mistaken for a band.

A missing prediction is not a missing bus. The bus is out; the app is drawing it at its last reported position. What is missing is somebody's statement about how it is running.

An empty cell is not a zero, and a missing pill is not "0 min late". The app prints nothing rather than a number it does not have.

A headway pair with no deviation never alarms, and that is correct. A pair the app cannot measure is ranked last, not first: absence is never news. It would be a worse tool if it raised an alarm every time a bus went quiet.

A blue map is not a map of on-time buses. Where the bus dots are set to say Which way it is going rather than How late it is running, colour is answering a completely different question and lateness is not on screen at all. So is the case on a deployment with no prediction feed, where the choice is not offered and the dots stay blue — colouring by lateness with no predictions would make every bus grey, which is a worse map than a blue one. The setting is ⚙ Settings → Map & overlays → Colour live buses by.

And a bus that is on time is not a bus running to plan. On time here is the Victorian window — anywhere from a minute early to five minutes late — so a green chip reading 4 min late is exactly right and not a contradiction. Two buses can both be well inside that window and still be running nose to tail; that is what the headway overlay is for, and it is blind to lateness on purpose.