The first question is when the prediction existed
A convincing explanation after a match is easy to write. A forecast is useful evidence only when its timing is clear. Was it saved before kick-off, or calculated after the result became known? Those are different records, even if they show the same numbers.
Red Half Lab uses a pre-match lock to preserve a forecast with its fixture, creation time and the versions of the inputs and prediction files used. The current automatic locking process applies to Premier League fixtures within the 12 hours before kick-off. An attempt must finish before kick-off to count as a pre-match lock.
A prediction displayed on a page is not, by itself, evidence that a successful lock exists. A scheduled attempt can fail. If the fixture, forecast and saved versions do not match, the page should not describe the current numbers as locked.
What a lock proves, and what it cannot
A lock makes a specific claim checkable: this version of these predictions was recorded at this time. It helps prevent hindsight from quietly improving an old forecast.
It does not establish that the source data were correct, that every feature was available at the claimed time, or that the forecast will be accurate. Those require their own checks. A saved file is a record of a prediction, not a certificate of quality.
A reconstruction made after kick-off must remain labelled as such. It can help diagnose a failed process, but it cannot fill a gap in the genuine pre-match record. A missing lock is a gap to disclose.
Compare the same question before and after
The post-match check needs to compare the forecast with the event it actually predicted. A starting probability conditional on appearing should not be scored as an unconditional squad-selection prediction. A per-90 estimate should not be compared directly with a player’s whole-match count without accounting for minutes.
“Did not play”, “no attempt”, “outside the supported competition” and “source field missing” can mean different things. Treating every missing value as zero would make some forecasts appear better or worse for the wrong reason. The comparison should retain the appropriate status rather than invent an observed value.
Ordinary match facts such as the score, starters and goals may show the recorded result. Technical measurements are kept private. The page may show a correct or incorrect judgement and aggregate performance, including accuracy and mean error, where supported by completed checks. Selected items explicitly sourced from API-Football or FootyStats may show overestimation, underestimation and broad difference bands. These comparisons are not assumed for other or unconfirmed sources. Exact differences and combinations that reveal a technical actual value are not displayed. Readers cannot claim to have independently verified actual values that have not been published.
The match check and the next training run are separate steps
The current process records the post-match comparison before any later training stage. Detailed labels may arrive later than the final score. Waiting for usable labels is different from having completed a new training run.
For the active match-by-match set, eligible heads are refitted using the available old and new data with the existing algorithm and settings. Checks determine whether a candidate can replace the current saved version. A candidate that fails the required checks does not automatically become the next version. A head with unresolved label evidence can remain a reference forecast without being retrained.
This is a description of the current match-by-match process, checked on 24 October 2026. It is not a claim that every other question, season-rate forecast or separate experiment follows the same training schedule.
Improvements belong in future forecasts
A later version may learn from a match that an earlier version got wrong. It must not overwrite that earlier forecast or rewrite the comparison to improve the historical record. Editorial corrections should also identify what changed, rather than silently turning a past prediction into a different one.
To assess performance, look at a series of genuinely pre-match records with a stated scope and comparable evaluation. One dramatic defeat or one correct call cannot establish the overall quality. This article makes no claim about the score or accuracy of a particular historical fixture.
How to read the current status
When opening an answer, check its fixture, competition, calculation time and lock status. After the match, distinguish “waiting for results”, “waiting for detailed data”, “comparison completed” and “training pending” where those states are shown. They describe different stages.
The old version of this column described a historical product configuration. Its precise match numbers have been withdrawn because this revision cannot give readers a verifiable public archive for them. Use current REDS answers for current coverage, and retain the date when quoting this explanation.
Sources and scope
- Current REDS answers
Use the fixture, question, date and limitations on the selected answer. This article does not reproduce a historical match forecast.
- Data and sources
Project context for prediction outputs and the distinction between public match facts and restricted technical statistics. Process descriptions were checked against the current implementation on 24 October 2026; they do not certify a particular live run.
Corrections and revisions
- · Withdrew the unverified Manchester City probability, score, timing and 43-item breakdown. Rewrote the process for the current match-by-match lifecycle, including failed locks, missing labels and conditional replacement after training.
For a correction, record the page address, the passage and a source we can check. You can email contact@redhalflab.com with the page and evidence. Contact and feedback