To see all flights you need to be signed in. It is free today and takes 1 minute. Sign in or create a free account.
Home / Forecast
Forecast
Route predictions written down before each week, then checked against what happened.
Predictions are published every Monday and cannot be edited afterwards.
| Route | Likelihood | Result | Alert | |
|---|---|---|---|---|
| Count CountHow often this route carried an empty leg on this weekday in the last six weeks, as a rate. Three of six Mondays is 50%.ModelA probability learned from the whole record: recent legs on the route, how busy both cities are, whether a leg is already listed. Retrained every Monday. | Model | |||
| Reading the record. | ||||
Count: the historical repeat rate. Model: a learned probability. Happened means a matching leg is in the record, not that the flight has departed.
Every prediction, next to what actually happened. Written before the week, scored after it.
Reading the record.
Reading the record.
Rows group the predictions by how many weeks that route had already appeared in when the call was made. When "we said" and "actually happened" are close, the numbers are calibrated. When they are far apart, they are not, and this page will show that rather than quietly adjust.
A second forecast, made by a model that learns from the record instead of counting. It is a logistic regression: sixteen numbers per route, such as which of the last six weeks carried a leg, how busy the departure and arrival cities were in the last fortnight, whether a leg for that week is already listed, and the share with a published price. It is trained inside the database every Monday on every complete week, with weights it works out itself, and its calls are written down next to the rule's and scored the same way. Before it went live it was tested on a week it had never seen. Those numbers are below, and they stay.
Two grains. Week: will this route carry an empty leg at any point in the week. Day: on that exact weekday. Routes that already had a leg listed for the week at the cutoff are left out here, because calling those is no achievement. The percentage is the model's own probability; it is meant to be low, because most routes carry nothing in a given week.
| Route, any day of the week | Model | So far |
|---|---|---|
| Reading the model. | ||
| Route, exact day | Model | So far |
|---|---|---|
| Reading the model. | ||
On the rule's own list of routes, what each method expected and what happened. "Expected" is the sum of the probabilities: a method that says 50% on twenty routes expects ten. A Brier score is the average squared error, lower is better, 0 is perfect.
Reading the record.
Reading the model.
It counts. For each route and weekday it takes the number of complete weeks in the record and the number of those weeks that carried a leg, then puts a 90 per cent Wilson interval around the result. That is the standard interval for a proportion, and it is deliberately the whole method.
Since 15 September 2026 a second forecast runs next to the count: a logistic regression trained on the record itself, described under the Learned model tab, with its test result and its weekly score. The two are shown side by side and the record decides which one to trust.
An earlier attempt at a model was rejected. Fitting one across all routes assumes routes differ from each other in a stable way, and the record says they do not: the spread between routes measures 0.0020 where random chance alone would produce 0.0240, because 2,768 of the 2,885 route and weekday combinations appeared exactly once. Most empty legs are one-offs, not a weekly service. The model was pulling a route seen six weeks out of six down to a 24 per cent chance, which is a model overruling its data, so it went.
The interval narrows on its own as the record grows. Once the track record holds enough scored weeks it replaces this arithmetic with a measured hit rate, which needs no assumptions at all.
The cadence is about locking, not about capability. Each prediction is about one specific date, and it is written into the database before that date arrives and never touched again. Publishing the whole week at once on a Monday means every prediction is locked between five and eleven days before the day it is about, which is the part that makes it worth anything.
Predicting a date one day out would be easier and would prove less. If the record grows enough to support it, the same table can be published daily with a longer horizon, and the days ahead column on the track record is there so anyone can see how far in advance each call was actually made.
It is not availability. A route with a high rate can carry nothing next week, and a route that has never appeared can carry a leg tomorrow. It is not a schedule either: operators publish empty legs because of the paid charters around them, and those change.
If you want a specific pair, a route alert tells you the hour a leg appears on it, which beats any forecast.
Empty legs depend on charter plans that change. A high estimate does not guarantee a flight.