Remove this Banner Ad

AFL Ladder Simulator

🥰 Love BigFooty? Join now for free.

Chiz

All Australian
Jul 2, 2002
904
318
AFL Club
Essendon
A number of people use the ladder predictor to see how the final ladder is likely to pan out. The problem with this is that it results in the top teams having a higher number of predicted wins than what is likely to actually happen. For example, Adelaide will go in favourites in 6 of their next 7 games, yet chances are they will lose at least one of those games for which they are favourites. Yet most people will have them finish the season on 18 wins.

In response to this, I have created a program which I have called the 'AFL Ladder Simulator'. It works by simulating the results for the rest of the season based on probability. For example, in this week's Collingwood vs Hawthorn match, each team has a 50% chance of winning, but in Fremantle vs Gold Coast, the probability of Fremantle winning is 96%. Scores are simulated for each match to construct the ladder.

The probabilities are based on two inputs, each of which can be edited according to the user's opinion. The first is a rating given to each team, shown in the gold column:

LadPred1.png

Above, Collingwood has a rating of 27, whilst GWS has a rating of 1. If Collingwood and GWS played 28 times, we would expect Collingwood to win 27. St Kilda has a rating of 12, whilst Carlton has a rating of 8 - if they played 20 games, we would expect St Kilda to win 12 of them. The above ratings are my opinion - there is no limit to how high a team can be rated: by giving the top teams higher numbers, there will be fewer upsets.

The second input is an adjustment that can be made to each game for home ground advantage, which adjusts the probability:

LadPred2.png

For a 'large' home ground advantage (e.g. travel to Perth), I have put an adjustment of '1', for short travel (e.g. Melbourne to Sydney), the adjustment is '0.5', and for a team with a minor advantage (e.g. an Etihad team playing at the MCG), the adjustment is '0.2' (since Geelong is the home team against Essendon at Etihad, the adjustment is negative). Each of these can be adjusted as desired by the user, and it can be for reasons other than home ground advantage (e.g. if one team has a winning streak against the other).

Once all the parameters are in as desired, the ladder is simulated. But to get full use out of the program, one should simulate the ladder multiple times. For instance, after simulating the ladder 20 times, I found Essendon made the top 4 five teams. The program requires Microsoft Excel. To simulate the ladder another time, simply press F9.

I hope that's enough explanation. A link to the program is below:
https://www.dropbox.com/s/t9x6e0yo7lohj9o/AFL ladder simulator.xlsx
(requires Microsoft Excel or equivalent)

Hopefully people find this useful. If anyone has any suggestions for how it can be improved, please let me know! Cheers.

Edit: there was a bug in the original program - the link is now fixed.

Edit 2: the program has been updated to include the finals series:
https://www.dropbox.com/s/do75kezkh7jx66x/AFL ladder simulator finals.xlsx

Everything else is the same, except there is now an additional input for finals experience to adjust a team's rating in the finals (e.g. Geelong have a relatively low weighting during the season, but a high level of finals experience, increasing their chances of winning in the finals). I tend to think home ground advantage counts for less in finals, and having the week off counts for more - I've programmed it so that the probability of winning in the finals is automatically updated for these factors.
 

Log in to remove this Banner Ad

Great work mate. I always have the problem you described doing ladder predictors, if you go with your head the top couple of teams never lose and the bottom teams never win.
 
Adelaide's rating looks out-of-place among the top teams - there's no way that Collingwood or Hawthorn is twice as good on this year's results. Still, kudos for making it a variable.

Input 2 could also be used to take into account injuries/suspensions, or, if you're a conspiracy theorist (or Roby), umpire bias.
 
Great work mate. I always have the problem you described doing ladder predictors, if you go with your head the top couple of teams never lose and the bottom teams never win.

This.

It always happens, but you don't notice it and never do it differently again, and again.

This is a simple way to negate bias, well done OP. Very smart.
 

Remove this Banner Ad

While this is a tremendous improvement on an ordinary ladder-predictor, incoming results ought to assume part of your assessment of a team's rating. If Hawthorn lose their next three games, or if North win their next three, their ratings ought to be reassessed.

One way to automate this is:

T=team, O=opponent

Winning team adds O/T
Losing team subtracts the same.

So if a 20 team beats a 10 team, their rating goes up by 0.5, while if they lose their rating goes down by 2.

Of course, use the modified ratings instead of the original, so that an away win counts for a bit more.
 
While this is a tremendous improvement on an ordinary ladder-predictor, incoming results ought to assume part of your assessment of a team's rating. If Hawthorn lose their next three games, or if North win their next three, their ratings ought to be reassessed.

One way to automate this is:

T=team, O=opponent

Winning team adds O/T
Losing team subtracts the same.

So if a 20 team beats a 10 team, their rating goes up by 0.5, while if they lose their rating goes down by 2.

Of course, use the modified ratings instead of the original, so that an away win counts for a bit more.
But isn't any ladder predictor about how you think the season will pan out at this given point in time? If something changes a few rounds later, you can rejig the figures/probabilities for your prediction at that point in time. I don't see it as a problem. It's a predictor for the here and now - not for every week of the season.
 
A number of people use the ladder predictor to see how the final ladder is likely to pan out. The problem with this is that it results in the top teams having a higher number of predicted wins than what is likely to actually happen. For example, Adelaide will go in favourites in 6 of their next 7 games, yet chances are they will lose at least one of those games for which they are favourites. Yet most people will have them finish the season on 18 wins.

In response to this, I have created a program which I have called the 'AFL Ladder Simulator'. It works by simulating the results for the rest of the season based on probability. For example, in this week's Collingwood vs Hawthorn match, each team has a 50% chance of winning, but in Fremantle vs Gold Coast, the probability of Fremantle winning is 96%. Scores are simulated for each match to construct the ladder.

The probabilities are based on two inputs, each of which can be edited according to the user's opinion. The first is a rating given to each team, shown in the gold column:

View attachment 1669

Above, Collingwood has a rating of 27, whilst GWS has a rating of 1. If Collingwood and GWS played 28 times, we would expect Collingwood to win 27. St Kilda has a rating of 12, whilst Carlton has a rating of 8 - if they played 20 games, we would expect St Kilda to win 12 of them. The above ratings are my opinion - there is no limit to how high a team can be rated: by giving the top teams higher numbers, there will be fewer upsets.

The second input is an adjustment that can be made to each game for home ground advantage, which adjusts the probability:

View attachment 1670

For a 'large' home ground advantage (e.g. travel to Perth), I have put an adjustment of '1', for short travel (e.g. Melbourne to Sydney), the adjustment is '0.5', and for a team with a minor advantage (e.g. an Etihad team playing at the MCG), the adjustment is '0.2' (since Geelong is the home team against Essendon at Etihad, the adjustment is negative). Each of these can be adjusted as desired by the user, and it can be for reasons other than home ground advantage (e.g. if one team has a winning streak against the other).

Once all the parameters are in as desired, the ladder is simulated. But to get full use out of the program, one should simulate the ladder multiple times. For instance, after simulating the ladder 20 times, I found Essendon made the top 4 five teams. The program requires Microsoft Excel. To simulate the ladder another time, simply press F9.

I hope that's enough explanation. A link to the program is below:
https://www.dropbox.com/s/03jkfxqsfzuk86b/AFL ladder simulator.xls
(requires Microsoft Excel or equivalent)

Hopefully people find this useful. If anyone has any suggestions for how it can be improved, please let me know! Cheers.
Wow! Good work OP!!!
 

🥰 Love BigFooty? Join now for free.

Thank you to everyone for the feedback and positive comments.

Good effort. How long did that take?

I thought about how I would do it for a few weeks, but the programming took about 4-5 hours (most of it was getting the scores to closely resemble what might take place in an AFL game)

Came across this in round 17 between freo & GWS:
Home team Away team Venue Probability Adj (max: 2) Home Away Winner
FRE GWS PS 1.00 1.0 #NUM! #NUM! #NUM!
Actually, have to manually populate the probabilities

(home + adj)/(home + away)

Thanks for pointing this out - there was an error in the program I posted, which is now fixed. I saved it in an earlier version of Excel, and apparently the calculations were too complex for it.

If you're interested, I calculate the adjusted probability as:

(1 + adj/2)*home/[(1+adj/2)*home + (1-adj/2)*away]

Adelaide's rating looks out-of-place among the top teams - there's no way that Collingwood or Hawthorn is twice as good on this year's results. Still, kudos for making it a variable.

Input 2 could also be used to take into account injuries/suspensions, or, if you're a conspiracy theorist (or Roby), umpire bias.

I did rate Adelaide quite lowly - this is reflecting my personal rating of them, but you are more than welcome to change the rating when running your own ladder simulation. However, the rating of Collingwood/Hawthorn at almost twice the level of Adelaide does not mean they are twice as good, but that in a game of Collingwood vs Adelaide (at a neutral venue), Collingwood are twice as likely to win. In other words, Adelaide would beat Collingwood one out of every three times they played, which I think is a fair estimate.

As for input 2 - by all means, it can incorporate any factors that you deem important.

While this is a tremendous improvement on an ordinary ladder-predictor, incoming results ought to assume part of your assessment of a team's rating. If Hawthorn lose their next three games, or if North win their next three, their ratings ought to be reassessed.

One way to automate this is:

T=team, O=opponent

Winning team adds O/T
Losing team subtracts the same.

So if a 20 team beats a 10 team, their rating goes up by 0.5, while if they lose their rating goes down by 2.

Of course, use the modified ratings instead of the original, so that an away win counts for a bit more.

I did consider something like this - allow for form to impact the probabilities. However, I think this may overcomplicate the program. If you wanted to consider a scenario where, for instance, North continue their form and can match it with the best for the rest of the season, you would simply increase their rating.

Is there a way to update it after each round?

Just fill in the scores manually. And if any team seems to be in form or out of form, you can adjust the ratings. I will update the file after this round also.




Next step: including the finals.
 
Nice. I liked it even with my dodgy probability calculations. I could never properly calculate probability.
It's good top marks.

Can we get a sticky on this thread?
 

Remove this Banner Ad

AFL Ladder Simulator

🥰 Love BigFooty? Join now for free.

Back
Top