We don't run this on a large language model or a big-data pattern-matching system, and that's a deliberate choice, not a limitation.
Football teams aren't stable systems. A manager gets replaced mid-season. A transfer window rebuilds half a squad in six weeks. A team that dominated in August can look unrecognisable by November - different personnel, different formation, different form. Approaches built to find patterns across years of history put real weight on a version of the team that may no longer exist by the time you're reading this. For a sport that restructures itself every summer and every transfer window, that's the wrong tool for the job.
So instead of pattern-matching against years of history, our model leans hard on two things: how a team is playing right now, and where they're playing.
Every team's coefficient is built primarily from its most recent matches, not a full season or historical record. A poor run of form pulls a team's numbers down quickly, and a new manager bounce or a returning key player shows up in the model within a handful of matches rather than being diluted across a year of data.
A coefficient appears as soon as a team has played its first match in the current window - there's always a form indicator to look at, even early on. Predictions are held to a higher bar: we wait until a team has built up 3-4 matches of current data before generating an actual pick and confidence percentage for that market. A single match is enough to sketch a rough form score, but not enough signal to commit to a specific call.
A team's home form and away form are calculated and weighted separately, not blended into one number. Some teams are genuinely a different proposition at home versus on the road - stronger with crowd support, more cautious away from it, or the reverse. Our coefficients reflect that split directly: the score for a home fixture is built from that team's home performances, not diluted by how they've played away.
If you want the fuller picture beyond the quick-glance score, the individual match page also shows overall form across both venues.
The inputs behind every coefficient and every prediction are the same statistics available to you directly in Match Finder - there's no more sophisticated version hiding behind the scenes:
All of it is calculated separately for home and away form, and weighted toward recent matches as described above.
Two different things show up on the site, and they answer different questions:
The same logic that keeps us focused on recent form is why we don't cover cup matches. Domestic cups bring second-string lineups, wildly different motivation levels between clubs, and elimination formats that make "team form" a much shakier concept from one round to the next. We'd rather cover league football reliably than cup football unreliably.
Every prediction is logged the moment it's made and checked against the final result the moment the match ends, using the same automated criteria every time - no manual review, and no result is ever removed selectively based on how it turned out. Postponed or abandoned matches are excluded from the record entirely rather than counted either way, since there's no result to check against.
The public record covers the trailing 12 months on a rolling basis. That's a disclosed retention window, not curation - every result stays for the same length of time regardless of whether it was right or wrong, and it keeps the record focused on how the model performs under its current approach rather than diluting it with matches graded years ago under an earlier version of the system. You can see the full record on our prediction history page.
Stats refresh every 12 hours, which is also when each prediction gets marked against the result. Match previews are typically published 24-48 hours before kickoff, once team news and lineups are confirmed.