Can You Really Predict Football? How We Prepared the World Cup Data

By Persis Duaik, Presales Consultant at Panintelligence and the Brazilian half of our World Cup prediction team 

In our first blog, Reece introduced our slightly ambitious plan to use PiPredict and Panintelligence to analyse the 2026 World Cup. 

Reece brings the finance brain, Yorkshire realism and the emotional resilience that comes from supporting Tottenham Hotspur. 

I bring the technical build, a presales consultant’s enthusiasm for dashboards and, as a Brazilian, the experience of supporting a country where World Cup expectations are never particularly low. 

No pressure, then. 

Before we could predict a single fixture, we had to answer a more important question: 

What data should we trust, and how do we turn it into something meaningful? 

That question matters because the model is wholly reliant on the data supplied to it. 

It does not watch football. It does not recognise nerves, understand national expectation or sense that a player looks unusually confident during the warm up. 

It works with data.  The quality, relevance and completeness of that data directly affect the quality of the predictions. 

Starting with more than 49,000 international matches 

We began with the International Football Results from 1872 to 2026 dataset, published by Mart Jürisoo on Kaggle. 

It contains more than 49,000 senior men’s international football results, beginning with the earliest official international fixtures and continuing through to 2026. 

The dataset covers World Cups and other major competitions, qualification campaigns and international friendlies. 

For every fixture, it records factual information including: 

  • Match date 
  • Home team 
  • Away team 
  • Full time home score 
  • Full time away score 
  • Tournament 
  • City 
  • Country 
  • Whether the match was played at a neutral venue 

The scores include extra time where applicable but exclude penalty shootout scores, which are recorded separately. 

The dataset focuses on senior men’s full international matches. It excludes Olympic fixtures, B team matches, under 23 matches and games involving league representative teams. 

This gave us a substantial and well documented historical foundation. 

What does the 100% data score mean? 

Kaggle gives the dataset 100% scores for completeness, credibility and compatibility. 

That tells us the dataset is well documented, includes clear descriptions of its fields, identifies its source and update frequency, and is available in a practical format for analysis. 

The underlying records describe factual events that have already happened. The teams, dates, locations and scores are observations rather than opinions, rankings or predictions. 

However, it would not be accurate to say that Kaggle has independently guaranteed that every one of the more than 49,000 records is completely infallible. 

Every large historical dataset still needs to be understood and checked before it is used analytically. 

We therefore treated the data as a credible source of factual match history while reviewing potential issues including: 

  • Inconsistent team names 
  • Countries whose names changed over time 
  • Historical nations that no longer compete 
  • Countries Merging 
  • Missing or unusual values 
  • Variations in tournament names 
  • Neutral and non-neutral fixtures 
  • Results involving extra time or penalties 
  • Teams with limited recent match data 

This is true in football and in business. 
A model can only work with the information it receives. A large, credible dataset gives it a strong foundation, but the data still needs to be prepared, governed and understood. 

The data is factual. The prediction is not. 

The historical data tells us what happened. 

It does not tell us with certainty what will happen next. 

We can be confident that a recorded fixture ended with a particular score. We cannot assume that the same teams would produce the same result if they played again tomorrow. 

Players change. Managers change. Tactics evolve. Teams improve and decline. 

The historical record is therefore the evidence from which the model learns. 

The prediction is an estimate based on patterns within that evidence. 

This distinction is central to the whole project: 

The source result is a fact. 

The calculated variables are interpretations of that factual history. 

The prediction is a probability, not a promise. 

Why football is so difficult to predict 

Football is one of the hardest major sports to forecast consistently. 

It is relatively low scoring, which means one event can have a disproportionate effect on the final result. 

A deflection, penalty, red card, goalkeeping error or moment of individual brilliance can overturn the pattern of an entire match. 

A team can dominate possession, create more chances and still lose 1-0. 

A weaker side can defend for 90 minutes and score from its only meaningful attempt. 

The model must also choose between three possible outcomes: 

  • Win 
  • Draw 
  • Loss 

That is inherently more difficult than making a simple yes or no prediction. 

Football also contains variables that are difficult to capture fully before a match, including: 

  • The final squad 
  • The starting line up 
  • Injuries and suspensions 
  • Player fitness 
  • Tactical changes 
  • Managerial decisions 
  • Team morale 
  • Tournament pressure 
  • Refereeing decisions 
  • Yellow and red cards 
  • Penalties 
  • VAR decisions 
  • Weather 
  • Humidity 
  • Altitude 
  • Travel 
  • Time zone changes 
  • Rest between fixtures 
  • Crowd support 
  • Pitch conditions 
  • The timing of the first goal 
  • How a team reacts after scoring or conceding 
  • Extra time 
  • Penalty shootouts 

Some of these could be introduced into later versions of the model. 

Others may not be known until shortly before the match, or until the game has already begun. 

That does not make prediction pointless. 

It means predictions should be understood as evidence led estimates rather than guaranteed results. 

The objective is not to remove uncertainty from football. That would also remove quite a lot of the fun. 

The objective is to make a better informed assessment using the evidence available and to make the reasoning behind that assessment visible. 

Turning results into model ready data 

The source dataset gave us the factual history of each match. 

To make it suitable for predictive analysis, I created a model ready dataset in which every row represented a fixture. 

For each match, we generated variables based on information that would have been available before the result was known. 

These were: 

  • Match outcome 
  • Form difference 
  • Attack difference 
  • Defence difference 
  • Neutral venue 
  • Tournament type 

Each record also received a unique match ID so that we could trace the analytical data back to its original fixture. 

Match outcome 

Match outcome is the field we asked the model to predict. 

It records whether the selected team: 

  • Won 
  • Drew 
  • Lost 

This is the target variable. 

It provides the historical answer against which the other variables can be evaluated. 

Match outcome is not an input used to predict itself. It is the result the model is learning to classify. 

Form difference 

Form represents how the teams performed in the matches leading up to the fixture. 

Rather than considering each team’s form independently, we calculated the difference between them. 

A positive form difference indicates that the selected team entered the match with stronger recent results than its opponent. 

A negative difference indicates that the opposing side had stronger recent form. 

This allows the model to compare the momentum of the two teams before they met. 

Attack difference 

Attack represents the teams’ recent goalscoring performance. 

We calculated the goals scored by each team across the selected period and then measured the difference between them. 

A positive attack difference indicates that the selected team had the stronger recent goalscoring record. 

A negative difference indicates that its opponent had been more effective in attack. 

This does not guarantee that the team will score in its next match. 

It may have built its record against weaker opponents, face a very different defensive system or arrive without a key player. 

It does, however, provide a consistent comparison of recent attacking performance. 

Defence difference 

Defence is based on the goals each team conceded during the relevant period. 

Again, we converted the individual measures into a difference between the opponents. 

A favourable defensive difference indicates that one team had conceded fewer goals than the other. 

Football analysis often concentrates on goals scored, but preventing goals can be equally important. 

We therefore treated attack and defence separately rather than hiding both inside one broad performance measure. 

Neutral venue 

The is neutral variable records whether the match took place at a neutral venue. 

A value of one identifies a neutral fixture. A value of zero means it was not played at a neutral venue. 

This gives the model some location context. 

It is deliberately a simple variable and does not yet capture every possible environmental influence, such as: 

  • Which team was playing at home 
  • Host nation advantage 
  • Distance travelled 
  • Time zone changes 
  • Altitude 
  • Weather 
  • Crowd composition 

These are possible areas for later refinement. 

Tournament type 

The original data identifies the tournament associated with each fixture. 

We converted this into broader tournament categories so the model could test whether different types of match behaved differently. 

A friendly may involve a different team selection, intensity and tactical objective from a World Cup fixture or another major competition. 

The tournament type variable gives the model an opportunity to test whether that context adds useful information. 

At this point, we are deliberately not revealing whether it did. 

That belongs in the results and predictions blog. 

Match ID 

Each record has a unique match identifier. 

The ID does not influence the prediction. 

It lets us connect the prepared data to the original match, making the process easier to audit, validate and explore through the dashboards. 

When a model produces an output, we should be able to trace that output back to the underlying evidence. 

Why we calculated differences 

The principal performance variables are all expressed as differences: 

  • Form difference 
  • Attack difference 
  • Defence difference 

This is because football is a contest between two teams. 

A team’s performance cannot be assessed properly without considering its opponent. 

A strong scoring record means something different when facing an equally strong defence. 

Excellent recent form may be less decisive when both sides have won their previous five matches. 

The difference variables give the model a direct measure of the balance between the teams before the fixture. 

The question becomes: 

Given the relative form, attack and defence of these teams, alongside the context of the match, what was the eventual outcome? 

That is more useful than asking whether either side was simply “good” in isolation. 

Introducing the PI TSI 

To compare the countries taking part in the World Cup, we created the Panintelligence Team Strength Index, or PI TSI. 

The PI TSI is a transparent, evidence led measure of relative team strength built from the performance data we prepared. 

It uses the core dimensions within our analysis: 

  • Recent form 
  • Attacking performance 
  • Defensive performance 
  • Goals scored 
  • Goals conceded 
  • Relative differences between teams 

The objective was not simply to create another football ranking. 

We wanted a score that remained connected to the underlying evidence and could be explored through the dashboards. 

A single score makes it easier to compare teams quickly. 

The supporting Form, Attack and Defence measures allow users to look beneath that score and understand the performance picture behind it. 

Football teams are often assessed using reputation, famous players, historic success and national expectation. 

As a Brazilian, I am naturally comfortable with all four. 

The PI TSI provides a consistent, data led perspective alongside them. 

Why did we not simply use Elo? 

Elo is an established method for comparing the relative strength of teams and players. 

We could have used an existing Elo rating as the starting point for the project. 

However, that would have changed the question we were trying to answer. 

If Elo had been the central input, much of our analysis would effectively have tested whether Elo predicts football results successfully. 

We would have been validating Elo. 

Our objective was different. 

We wanted to begin with the underlying match history, create relevant measures and use Panintelligence Analytics to discover which factors and combinations appeared meaningful. 

The PI TSI is not intended to suggest that Elo is wrong or unnecessary. 

Elo is a recognised and useful measure of relative strength. For this project, however, we wanted to create our own transparent score directly from the underlying evidence. 

That is not to say we ignored Elo entirely. We actually used it behind the scenes to establish a data quality baseline—normalising our Form, Attack, and Defence metrics against only the Top 100 Elo-ranked countries. This screened out micro-nation outliers, ensuring our baseline remained focused on professional-level football. 

In a business context, this distinction matters. 

Organisations often already use external scores, benchmarks and inherited assumptions. 

The more valuable questions are whether those measures reflect what is happening in their own data and whether the people using them understand how the result was produced. 

Letting the model look for meaning 

Once the dataset had been prepared, I ran it through Panintelligence Analytics. 

The model used historical match outcome as its target: 

  • Win 
  • Draw 
  • Loss 

It then examined the possible explanatory variables: 

  • Form difference 
  • Attack difference 
  • Defence difference 
  • Neutral venue 
  • Tournament type 

The decision tree tests different routes through the data. 

It searches for thresholds and combinations that separate the historical outcomes as clearly as possible. 

It can examine, for example, whether the relationship between form and outcome changes when attack, defence or location are also considered. 

This matters because real outcomes are rarely driven by one variable alone. 

The model gives us a structured way to look for interactions instead of relying solely on instinct, reputation or punditry. 

We are deliberately not revealing which variables it found most useful or what it is currently predicting. 

That is the next chapter of the story. 

The model only knows what we give it 

The current model is wholly reliant on the variables included in the prepared dataset. 

It cannot account for information that is absent, unreliable or not yet known. 

That means a prediction may be reasonable based on the data available and still prove incorrect when the match is played. 

For example, the model may favour a team because of its recent form, attack and defence. 

It may not yet know that: 

  • Its leading goalscorer will miss the match 
  • Its manager has changed formation 
  • Several players are fatigued 
  • The conditions are unusually hot 
  • Its opponent has improved since its most recent fixtures 
  • A red card will completely alter the match 

The model does not possess intuition. 

It does not fill gaps in the data with football knowledge. 

It applies the relationships it learned from the evidence supplied to it. 

This is not a weakness unique to our model. It is a fundamental characteristic of predictive analytics. 

What the model does not yet include 

The current version begins with a focused and explainable group of variables. 

Potential future additions include: 

  • Confirmed squad strength 
  • Player level performance 
  • Injuries and suspensions 
  • Manager tenure 
  • Tactical style 
  • Expected goals 
  • Quality of previous opponents 
  • FIFA rankings 
  • Elo ratings as a benchmark 
  • Rest between matches 
  • Distance travelled 
  • Time zone changes 
  • Stadium altitude 
  • Temperature and humidity 
  • Market odds 
  • Penalty shootout history 

More data does not automatically mean a better model. 

Every new variable needs a dependable source, a clear definition and a defensible relationship with the outcome being predicted. 

Poorly understood, duplicated or unreliable variables can make a model more complicated without making it more useful. 

We therefore started with a concise set of measurable factors that we could explain, test and refine. 

A prediction is a view at a point in time 

Every prediction represents the model’s best estimate using the data available at that moment. 

It is not a permanent verdict. 

As the tournament progresses, the evidence will change. 

Teams will play new matches. 

Form will change. 

Goals scored and conceded will change. 

The relative attacking and defensive measures will change. 

Some teams may improve, while others may underperform. 

The model should respond to that new evidence. 

This is one reason we are building an interactive campaign rather than publishing one static tournament prediction and quietly hoping for the best. 

The data will change. 

The model will be refined. 

The predictions will move. 

From factual evidence to responsible prediction 

The distinction is simple: 

  • The historical match data records factual events. 
  • The variables are calculated consistently from those records. 
  • The model is wholly dependent on those variables. 
  • The prediction remains a probability, not a fact. 

Panintelligence helps connect those stages. 

We can begin with governed source data, create transparent measures, use predictive analytics to identify patterns, and present the outputs through interactive dashboards. 

That does not make football certain. 

It makes the reasoning visible. 

In the next blog, I will explain how we transformed the model into an interactive World Cup experience, including the decision tree visualisation, Team Strength view, simulated groups, knockout bracket and embedded website. 

We will also look at how the model and dashboards will be refined as the tournament advances. 

The predictions themselves can wait a little longer. 

Reece will just have to be patient. 

Data source: International Football Results from 1872 to 2026, Mart Jürisoo, Kaggle. The dataset contains more than 49,000 senior men’s international match results and is regularly updated.