Skip to content
Lineside Ink
How predictions work

How does Lineside know what’s coming?

The express a few minutes away. The freight you might otherwise miss. Lineside follows live movements on the railway to work out which trains are likely to reach the place you follow—and roughly when to look out for them.

Here’s how those movements become the information on your display.

A pen-and-ink drawing of a train on the line reaching a junction, where one branch leads on to a small station and another continues elsewhere.
At a junction, the same train can go more than one way. Lineside weighs the likely route to work out whether it’s heading for the place you follow. Times shown here are an illustrative example.

From a moving train to your display

  1. 01Follow the train’s progress

    As trains move along the railway, the signalling system reports their progress. Lineside receives these updates through Network Rail’s live data feed, giving it a succession of reported positions to follow.

    That means the prediction starts with evidence of a train out on the railway.

  2. 02Work out what’s heading your way

    By watching those movements over time, Lineside learns how different parts of the railway connect and which routes trains tend to take.

    Starting at your chosen station or railway location, it looks back along the lines feeding into it and finds trains that could reach you. At junctions, it considers where a train has come from and the routes similar services have taken before. It uses those clues to choose which approaching trains to show.

  3. 03Estimate when it will reach you

    Lineside combines the train’s latest reported position with what it has learned about journey times along the route. Wherever there’s enough information, it uses timings from similar services, so an express and a freight train aren’t treated as though they travel alike.

    Timetable information helps add details such as the operator and route when a matching service can be found. Lineside’s online service brings this together, and your display collects updates over Wi-Fi at its chosen refresh interval.

Including the trains that pass straight through

A train doesn’t have to stop at your station to be worth watching. Because Lineside finds approaching trains through their live movements, passing expresses and freight can appear alongside stopping passenger services, where the data is available.

A missing entry for your location in a train’s timetable doesn’t, by itself, rule that train out.

How this differs from a departure board →

Why an estimate can change

There are two things to work out: whether a train is likely to reach your location, and when it might get there.

A hold at a signal, a different route or a gap in the live data can affect the prediction. New reports give Lineside more evidence, so an estimate may change or a train may drop out of the approaching list. Some trains may appear with fewer details, and others may not appear at all.

The times are a guide to what’s approaching. They refer to the railway location you’ve selected; if you’re watching from somewhere along the line, the train may pass you earlier or later.

Check your railway’s coverage →

Want a closer look?

Curious about the signalling data, junctions or how the times are calculated? There’s a little more detail below.

What does the live signalling data tell you?

Lineside uses Network Rail’s Train Describer, or TD, feed. It reports a train’s identifying code moving between positions in the signalling system, known as berths. These updates are called berth steps.

The code is often called a headcode: something like 1A23. An update tells Lineside that this code has moved from one berth to another. It doesn’t supply a complete route, operator or destination, or a continuous GPS position.

Lineside builds its predictions from these reported movements and adds service details separately.

How does Lineside learn the routes, especially at junctions?

Repeated movements reveal which signalling positions connect, how long journeys between them tend to take and which branches trains use. Together, these connections form a network model called a berth graph.

At a junction, Lineside considers the previous movement as well as the current position. Arriving from one line can make a particular exit much more likely. Patterns from similar service codes help refine that estimate.

Where separate signalling areas meet, the connection must pass evidence checks or be manually confirmed before it can carry predictions. Those checks consider repeated observations, timing, route continuity and geography.

How does it decide whether a train will reach my station?

Lineside starts at your chosen location and traces the learned connections backwards to find possible approaches. It then looks for live trains on those approaches, normally within about an hour’s estimated travel.

For each train, it weighs the possible routes ahead using patterns seen in previous movements. Several junctions with opportunities to turn away can make a prediction less certain. If different routes lead back to the same location, their likelihoods are combined.

This produces an estimate of how likely the train is to reach you. Candidates below a minimum threshold are left out. That likelihood concerns the route; it is separate from the estimated arrival time.

How is the arrival time calculated?

The calculation starts with the time of the latest reported position and adds the learned travel time from there to your location.

For example, a report at 12:00 with an estimated eight minutes remaining gives an arrival estimate of 12:08. Checking again at 12:03, without a new report, doesn’t start another eight-minute countdown.

Where enough history exists, Lineside uses timings for trains with the same headcode prefix—the first two characters. Otherwise it falls back to the broader service category, then to general timings for that stretch. These categories help distinguish services such as express passenger trains and freight; they don’t identify an exact locomotive or train model.

What are timetables used for?

Once live movements identify a candidate, Lineside looks for a matching service in the railway timetable data, supplied in a format called CIF. A match can add the operator, route, calling points and other available details, and strengthen confidence in the identification.

A timetable doesn’t list every place a train passes. An absent location therefore isn’t enough to reject a train supported by live movement evidence.

There is one useful exception: if the matched service’s sequence shows it has already called at your location, Lineside can use that evidence to exclude it from the approaching list.

What happens to old reports or gaps in the data?

Lineside checks for newer reports that make an older position out of date, and for evidence that a train has already passed your location. Headcodes can be reused, so finding the same code elsewhere isn’t enough: the movements must plausibly belong to the same train.

It also makes allowance for short gaps while a train moves between signalling areas. If a predicted arrival time has passed, it can be marked overdue instead of having the estimate continually pushed forward.

These checks reduce misleading predictions, but the available data still limits what Lineside can show.

Which railway would you follow?

Start with a station you know, or find somewhere new to follow.