Fantasy football: Can data science beat intuition to win the game?

The first footy is about to be whacked into the MCG turf to begin the AFL men’s competition, and with it, laptops around the country are running hot.

Fantasy football has become a huge part of the AFL season for hundreds of thousands of fans who play the season-long game on various platforms.

And it’s not just the AFL – there are fantasy competitions for the NRL and many Australians take part in the massive NBA, NFL, and Premier League fantasy competitions.

Just as analytics have revolutionized professional sport, can it also change fantasy leagues?(Getty Images: Double_Vision)

The game in a nutshell: pick 30 AFL players who are given a dollar value from $190,000 to $1.02 million to fit under a salary cap of $14.8 million. The players’ starting values ​​are dependent on how well they’ve scored in previous years.

Players accrue points based on their kicks, marks, handballs, goals and other statistical categories.

Your total score each week is based on the individual scores of the 22 players you start on the field, with another 8 players sitting on a bench.

Players’ prices go up or down depending on how well they score.

The game is fundamentally about trading players each week to maximize profits and points.


The goal is to buy low and sell high so that over the season you end up with a team full of premium players who will give you the maximum points.

The tricky bit is that you also want to maximize your points early when your team has just a handful of premium players, as well as mid-priced players and basement-priced rookies, who you hope will score well and rise in value.

Selby Lee-Steere can speak about that with some authority: he won the fantasy competition on the AFL’s platform in 2017, and then to prove it wasn’t a fluke, won it again the following year.

Lee-Steere has since turned his expertise into a business, producing a season guide for buyers and distributing 80 per cent of profits to the Starlight Children’s Foundation charity.

Which brings us back to the last-minute chops and changes that tens of thousands of fantasy coaches are making right now ahead of the AFL season opener.

For most fantasy coaches – and that includes me – the decisions we make are based on research, gut feel, group-think (there’s a lot of fantasy content out there), and lots of watching football.

We’re also trying to find value by picking the players who we think are under-priced like Gold Coast’s Matt Rowell, who’s in almost half of all teams and is returning from two seasons of injuries after showing a very promising start to his AFL ( and fantasy) career.

Gold Coast Suns player Matt Rowell leaves the AFL field with a trainer.
Matt Rowell is a popular pick for fantasy AFL coaches, returning to the league this season after injury.(AAP: Richard Wainwright)

But what if there was another way? A way that would take out all the guesswork, the love affairs we have with certain players, our biases like favoring players from our favorite team, or the influence of following the herd?

What if a computer could do the job for us and put a virtual paper bag over all the players’ heads?

Sport analytics: the stuff of fantasy?

So we’re doing an experiment, just like we did last year when we asked a computer scientist from the US with no knowledge of the AFL to pick the winner of the Brownlow medal.

The person who made it happen is Robert Nguyen, a PhD student who hosts the chilling with charlie podcast on sports analytics.

This time, we’ve listed the help of data scientist, Denise Wong, who worked with Lee-Steere on the first AFLW fantasy competition and which finished just this week.

A North Melbourne AFLW player punches the air in celebration as she runs down the ground after a goal.
As the AFLW grows, concurrent fantasy competitions focusing on the league have popped up online.(Getty Images/AFL Photos: Michael Willson)

Wong had a career in banking but shifted her sights in 2018 when she began studying data science and machine learning.

While she’s a gun at coding and knows her way around an algorithm, she’s a relative fantasy novice – last year was the first time she entered a team.

Wong was given the task of picking a fantasy team based purely on the statistics that would give her the best possible starting combination of players: premiums, mid-price players, and rookies.

We met up on Zoom with Lee-Steere watching on, curious to see how it turned out.

“What I do love about fantasy [is] you look at prior winners for probably the last six years, and more often than not, they’re more lovers of footy rather than data scientists or statisticians,” Lee-Steere said.

We streamed our Zoom session on YouTube.

To make her team, Wong used an algorithm called integer programming optimization.


“You tell it what you want it to optimize, so you can either maximize or minimize something,” she said

In her case, she wanted to maximize the scores for her 22 on-field players and maximize the profit for her off-field players.

She gave the computer a data set of predicted scores based on the players’ scores from their previous five games, their career average, and pre-season form.

The computer’s job was to do what fantasy coaches have spent months trying to work out: how to find the best 30 possible players under the salary cap to score the most points and increase her team’s value.


Firstly, she asked the computer to select her bench based on players who cost more than the basement $190,000 but less than $250,000.

The computer gave her 10 possible “solutions” as she called them, or 10 possible combinations of players all aiming to generate the maximum amount of profit.

She then asked the computer to give her the 22 on-field players all costing more than $250,000.

It came up with three possible solutions that would fit under the remaining salary cap.

“Looking quite nice, isn’t it?” Lee-Steere said as he took on the first of the possible teams.

“You’ve got a lot of names there who will be popular picks and good picks.”

Indeed, Wong’s team was predicted to score 2,064, and that could go up to 2,174 if the computer had picked the highest predicted point scorer, Lachie Neale, as captain and his score of 110 was doubled.

There were certain names that appeared in all three of her solutions:

  • Jayden ShortRichmond
  • James SicilyHawthorn
  • Wayne MileraAdelaide
  • Issac Heeney (Sydney)
  • Zac Butters (Port Adelaide)
  • Cameron RaynerBrisbane
  • Connor West (West Coast)
  • Lachie Neale (Brisbane)
  • Adam CerraCarlton
  • Tim Kelly (West Coast)
  • Patrick CrippsCarlton
  • Matt Rowell (Gold Coast)
  • Nick Daicos (Collingwood)
  • Brodie GrundyCollingwood
  • Daniel Rioli (Richmond)
  • Stephen Coniglio (Greater Western Sydney)
  • Will BrodieFremantle

The algorithm uncannily found the value players – the likes of Sicily, Heeney, Butters, Neale, Cripps, Rowell, Daicos, Coniglio and Brodie – that have been very popular picks during the pre-season.

A Geelong AFL player pushes against a Collingwood opponent as they prepare to contest for the ball in Perth.
Collingwood ruck Brodie Grundy (right) has been a popular pick among fantasy coaches for the 2022 season.(AAP: Richard Wainwright)

Wong tweaked the algorithm overnight to account for injuries and suspensions, and the following day sent me her final starting team costing $14.66 million and predicted to score 2,060 excluding the double-score for the captain. Some of the players have dual positions.


  • Jayden ShortRichmond
  • Lachie Whitfield (GWS) (Def/Mid)
  • Darcy TuckerFremantle
  • James SicilyHawthorn
  • Wayne MileraAdelaide
  • Noah Answerth (Brisbane)


  • Lachie Neale (Brisbane)
  • Matt CrouchAdelaide
  • Patrick Cripps (Carlton)
  • Matt Rowell (Gold Coast)
  • Nick Daicos (Collingwood)
  • George Hewett (Sydney) (Def/Mid)
  • Dustan Martin (Richmond) (Mid/Fwd)
  • Will Brodie (Fremantle) (Mid/Fwd)


  • Brodie GrundyCollingwood
  • Reilly O’Brien (Adelaide)


  • Josh Dunkley (Western Bulldogs) (Mid/Fwd)
  • Stephen Coniglio (GWS) (Mid/Fwd)
  • Issac Heeney (Sydney)
  • Zac Butters (Port Adelaide)
  • Cameron RaynerBrisbane
  • Zac Fisher (Carlton)

The computer’s bench comes with a caveat: we don’t know which of the cheaper players will be selected, so at this stage it’s still a moveable feast. Remember: the computer had 10 possible options.

But for the sake of the argument, here’s one group of eight players the computer selected:

  • Garrett McDonagh (Essendon)
  • Nicholas Martin (Essendon)
  • Josh Goater (North Melbourne)
  • Greg Clark (West Coast)
  • Robbie McComb (Western Bulldogs)
  • Toby Conway (Geelong)
  • Will Kelly (Collingwood)
  • Sam DeKoning (Geelong)

Wong is putting her algorithm where her mouth is and said she’d enter the team in this year’s competition with the name, ThePurpleCow.

Of course, the computer’s team is just the starting point. Given fantasy players can make trades each week, teams can change dramatically over the course of the season.

A woman sits at a laptop containing green code
Wong will test her algorithm during this season’s AFL men’s fantasy competition.(Getty Images: Maskot)

“AFL fantasy has come very much to be a trading game,” Lee-Steere said.

“A lot of these teams do start very similar, but then how you then make your two trades per week for those 23 weeks certainly dictates where you finish up,” he said.

So, would the master trader be prepared to take the advice of the computer algorithm? Or is he backing his own instinct from him?

“Me, personally, I wouldn’t,” he said.

He said the secret of success of fantasy football relies on what he calls three pillars: data, luck, and intuition.

“Intuition is the biggest of the lot of them — gut feel — what you feel is going to happen,” he said.

Full disclosure: my fantasy team shares 15 players with Wong’s team generated by the computer algorithm.

Will I be changing the other 15? No lo creo.

I’m going to follow Lee-Steere’s advice and rely on my intuition so that I can fail miserably as per usual, but hold up my head and say: I did it my way.


Leave a Comment

Your email address will not be published. Required fields are marked *