Some of you who know me, know that I am a big sports fan, especially soccer or football depending on who you speak toπ. Tomorrow the UEFA Euro soccer tournament in Germany starts. Since we, the Netherlands, almost never win a tournament I thought let’s use AI Builder prediction model to see if we could win. Perhaps we have better chances to win the tournament by throwing our hopes into the hands of AI.
Netherlands is playing in Poule D in the UEFA Euro 2024:
- Poland, Sunday 16th of June
- France, Friday 21st of June
- Austria, Tuesday 25th of June
The day before each of these matches I will share with you how Netherlands will perform according to my custom AI prediction model so keep an eye out on the website or LinkedIn.

In this blog, I will explain what a prediction model is, how I prepared the data, created the model, trained and published the model, and finally used it to predict.
AI Builder Prediction Model
The AI Builder prediction model allows you to analyze patterns in historical data. These models will associate the pattern with outcomes. That information is being used to predict future outcomes based on defined criteria. A prediction model can be used to answer questions that are:
- Binary, so from two options
- Multiple outcomes, so from a few predefined options (in our case, Win, Draw or Lost)
- Numerical prediction, the outcome is a number
How to prepare data
Since historical data is crucial when it comes to building prediction models, I have created a new table that stores historical data. The following table I created: Historical Games that have the following columns:
- Game Number (auto number)
- Game Date, the date the game was played
- Opponent, the opponent the Dutch team was playing against
- Where, was the game Home or Away
- Result, Won, Draw or Lost
- Score, the score of the game I included for reference purposes
- Type, was the game a Friendly or Tournament game

Now it is a matter of uploading the data and there are a few things (full documentation from MS you can find here.) to note here which are important prerequisites that can potentially impact the outcome a bit:
- You need at least 10 rows of historical outcomes for each class of the Label data column to train a prediction model
- The minimum for training is 50 rows, but for best results, you should have at least 1,000 rows
With regards to the first item, since we are using the Opponent, Where and Type in our model you need to have at least 10 variations for each of the combinations. When you look at international soccer matches those combinations perhaps do not always exist. What I have done for my model, which I know is not perfect because it could impact the outcome (in both directions π ), I copied all historical data four times.
AI Builder Prediction Model
In order to create an AI Builder prediction model follow these steps:
- Sign in to https://make.powerautomate.com/
- Navigate to: AI Hub > AI Models

- Select Prediction – Predict future outcomes from historical data
- Select Create Custom Model
- The next step is to identify what prediction your model needs to make. In our case, the historical information is stored in the custom table that I created called HistoricalGame and what we would like to predict is whether the Netherlands will Win, Draw, or Lose against a certain opponent.

- Then you need to decide what data columns are used to train your model. By default, a lot more columns were selected but you unselect the columns you believe are not contributing to the accuracy of the model.

- You can decide whether you want to filter your data when it comes to the data being used for your model. This could be for example filtering it by a certain region, but in this case, the filter will be on Opponent.

- The last step will be to Train the model and finally Publish your model so you can use it

When training and publishing of your model is finished your model gets a Performance grade. This can help to evaluate your model and improve where needed.

Microsoft is giving the following guidelines on how to interpret the grade:
Grade | Guidance |
---|---|
A | It might still be possible to improve the model, but this is the best grade you can get. |
B | The model is correct in a lot of the cases. Can it be improved? That depends on your unique circumstances, data, and requirements. |
C | The model is doing slightly better than a random guess. It might be acceptable for some applications, but in most cases, this is a model that you’d continue to tweak and improve. |
D | Something’s wrong. Your model is either performing worse than we’d expect a random guess to perform (underfit model). Or, it’s performing so well (at or near 100%) that you’ve probably got a data column that is directly correlated to the result (overfit model) |
In this scenario, we are happy with the B Grade, and let’s find out in the coming weeks how accurate our prediction model will be for the Netherlands.
Use the model in Power Automate Flow
Using your custom prediction model in Power Automate Flow can be done very simply, please follow the next steps:
- Create a new flow that is being triggered manually and add three input variables:
- Opponent
- Where (Home or Away)
- Type (Friendly or Tournament)

- Add the AI Builder > Prediction step and select the custom Prediction Model
- Map the input parameters of the flow with the input parameters of the Model
