AFL Prediction & Analysis

Introducing s10

There’s a new entry on tip pages named s10. This isn’t a model; instead, it’s the average of tips by the 10 top-performing models of the previous year, as measured by MAE.

The idea here is that in the future, we can allow more models to join the Squiggle platform without worrying so much about whether they’ll turn out to be any good. Because although they might affect the performance of Aggregate, they can’t throw out s10.

Aggregate is the average of all models, including Punters.

s10 is the average of the 10 models with the lowest season MAE the year before.

Note that if a model qualifies for s10 but does not participate, it is omitted and not replaced.

Years10 Models (in alphabetical order)
2017
2018The Arc, FMI, GRAFT Ratings, Matter of Stats, plusSixOne, Squiggle
2019The Arc, FMI, GRAFT Ratings, Live Ladders, Massey Ratings, Matter of Stats, plusSixOne, Squiggle, Stattraction, Swinburne
2020Aflalytics, AFL Lab, The Arc, GRAFT Ratings, Live Ladders, Matter of Stats, plusSixOne, Squiggle, Swinburne

Hawthorn are Virtually Season 2020 Premiers

In a classic contest, Hawthorn kicked the last three goals to defeat Port Adelaide by 6 points in the inaugural virtual Grand Final.

The Hawks led – barely – at quarter and half time, before the Power turned it on in the third, kicking away to a 13-point break at three-quarter time. But in the final stanza, Hawthorn surged back to tie it up at 79 points apiece with only minutes remaining on the clock. Mitch Lewis delivered the winning goal, with the Hawks resisting a final Port Adelaide surge to capture the premiership.

The Hawks finished 5th after the 11-game regular season, and won four finals en route to claiming the Virtually Season 2020 flag.

Port Adelaide’s Grand Final defeat was their only loss of the season.

Thanks to everyone who followed along with the season – it was a lot of fun during the cold, football-free weeks. Special thanks to the trusty model authors who fronted up each week with their simulations: Stattraction, Live Ladders, Aflalytics, and The Flag, who modeled the Grand Final.

Virtually Season 2020: Home & Away Wrap-up

With the home & away part of the season virtually complete, here’s the final ladder!

Yes, an undefeated season for Port Adelaide, and a winless one for Gold Coast. Other highlights:

  • Sydney finished 6th (and were top 4 with a round to go) with a sub-100 percentage, thanks to a series of close wins.
  • Fremantle also surprised and delighted, in what may be a more sustainable way, climbing steadily as the season progressed.
  • Similarly Adelaide jumped into the Eight in the final round, defeating GWS.
  • Richmond seem to be peaking at the right time, with a dominant display in the final two rounds.
  • West Coast lost five in a row early but seemed to be getting back on track before running out of time.
  • The comp was featured on AFL.com.au.

Thanks to Stattraction, we have Coleman Medal results:

Yes, that’s a shared Coleman. Also a low-scoring Coleman, thanks to a simulation bug that afflicted the first half of the season and stole goals from each team’s main scorer. Also scores in general were down, since we were simulating 16-minute quarters.

Finals begin Wednesday June 3rd at 7:50pm EST and continue almost every night for the next week.

View Virtually Season 2020 here.

Finals Are Virtually Here

Actual football involving real humans is just around the corner! Which means we need to wrap up this virtual stuff!

The last week of Home & Away will be Round 11 by the original fixture, i.e. the one with Port Adelaide v St Kilda playing in China.

Then we’re straight into finals! We’ll play the regular Final Eight system, but compressed into a single week, running from Wednesday June 3rd to Wednesday June 10th.

Virtually Season 2020

Since there is no actual football, we will do the next best thing: simulate it.

With the support of the world’s best football computer models, Squiggle will play out each and every cancelled game in real-time, as if it were really happening.

Goals. Behinds. Score worms. Quarter time breaks. They will all unfold here at the exact same time the match is supposed to be played.

It will look like this:

This will continue all season long, game by game, until actual games resume. We will track a virtual Ladder and Top Eight. If, God help us, we don’t get real football back by September, we will hold virtual Finals and award a virtual Premier.

This Thursday night at 7:25pm Eastern Time, Collingwood will play Richmond in the first virtual match in real-time, here on this site. You can check in and see it happen.

Why Tho

I believe Australia needs football. I need football. Or, in the absence of the real thing, a simulated version from computer models.

How It Works

Usually models make predictions about the most likely outcome of a game (e.g. “Collingwood by 4 pts”). But they can also generate batches of simulations, where if Collingwood is a 60% win chance over Richmond, then in 100 sims, Collingwood will win 60 of them. In the other 40, Richmond will win. (In a few, unusual things might happen, like a team scoring over 120 points.)

Participating models supply Squiggle with their sims. At match time, Squiggle randomly plucks one out and unspools it in real-time. No-one knows in advance which sim it will be.

My Promise To You

This is as rigorous a process as I can make it, drawing from the work of highly talented football analysts and math wonks who created the world’s best football models.

There will be no bias or fiddling. Just hard maths and cruel random variation.

It’s not the real thing. But it’s virtually season 2020.

Virtually Season 2020: Season Results

Squiggle’s Ladder Prediction for 2020

Here’s Squiggle’s own in-house ladder prediction for 2020 (not to be confused with the Aggregate Ladder, which combines this plus predictions from many other AFL models).

This prediction accounts for:

  • 2019 form
  • Trades, retirements, delistings and returns
  • 2020 preseason form
  • Injuries to players listed as “Season” or “Indefinite”

The league was very even in 2019, so it’s going to be harder than ever to make a good ladder prediction. But this is what I’ve got:

2019 Form

Squiggle’s top teams at the end of 2019 were Richmond, Geelong, Hawthorn, and Collingwood. The Cats were widely lambasted for their post-bye form last year, but it wasn’t actually that bad – it was just clearly less good than their 11-1 start (at a percentage of 151%).

The Hawks had a strong finish, Collingwood were 4 points shy of a Grand Final, and Richmond were, well, Richmond.

Notably absent from Squiggle’s 2019 Top 4 were West Coast (8th), Brisbane (5th), and, despite their late surge, the Bulldogs (6th). Squiggle was bearish on the Eagles throughout 2019, primarily because of their reliance on high goalkicking accuracy to win matches – something that, despite much effort, no team has ever been able to sustain for long.

Trades, Retirements, Delistings and Returns

Squiggle uses AFL Player Ratings to gauge the likely impact of list changes between 2019 and 2020, including the return of players who missed games late last year. This last factor is often the important one, as most clubs put out weakened teams towards the end of 2019.

On this measure, the most upside is in Fremantle (regaining Lobb, Ryan, Wilson, Hogan*, Hill, Pearce, Colyer, and Cox, while recruiting Acres and Aish), GWS (regaining Coniglio, Whitfield, and Ward, while recruiting Sam Jacobs), followed by Gold Coast, Collingwood, and Carlton.

At the other end of the scale, the only club to have gone backwards is Adelaide (losing Greenwood, Jacobs, Douglas, Betts), while Brisbane (losing Hodge), Richmond, and North Melbourne have relatively little to add to their sides in 2020.

There’s been a lot of talk about Tim Kelly, but despite his stellar numbers, his trade doesn’t single-handedly drag Geelong or West Coast out of the pack (in either direction).

2020 Preseason Form

The preseason usually contains a few hints about regular season form, and at this time of the year, we don’t have much else. The best pre-performers in 2020, after accounting for the quality of their opposition, were Gold Coast, GWS, St Kilda, Essendon, Port Adelaide and Melbourne.

The worst were Geelong, Carlton, Hawthorn, Richmond, Adelaide, and Sydney.

Long-Term Injuries

For most of the off-season, Squiggle rated Hawthorn a Top 4 team in 2020. But long-term injuries to Howe, Impey, and Hardwick have sent them tumbling to the lower reaches of the final 8.

Also hampered by long-term injury this year are Fremantle (Hogan, Hamling), Collingwood (Beams, Greenwood, Langdon), and Carlton (Curnow).

Summary

The punditry is big on West Coast this year, with the Eagles a popular flag tip and Top 4 lock. Most computer models, however, are much cooler, placing them no higher than 3rd and as low as 11th.

Models have a pretty good record in situations like this, when there’s a divergence of opinion but not because people know something that models don’t. However it shakes out, it’ll be interesting to watch.

Squiggle is high on the Bulldogs, ranking them 2nd, although only by a slim margin. What’s remarkable about the Dogs is how young they are: They’ve been fielding shockingly young teams for two years. Younger teams lose matches pretty reliably, so the ability of the Dogs to make finals in 2019 despite their age profile speaks to their potential upside.

More than any time since 2000 – perhaps since 1993 – we have a very even field entering the new season, so expect surprises! We could have a very volatile ladder, with teams surging and plummeting on the ladder, and a large middle cluster that sits within one or two games of each other.

All I Want for Christmas is an AFL API

If you want to do your own football analysis today – write an article, create a chart, build a neat online tool – you can’t legitimately acquire the most basic stats about AFL matches, not even the scores.

You can manually browse to a website and eyeball the scores. But these pages have Terms of Use that prohibit any downloading or reuse of content, like this one linked from AFL.com.au:

The Copyright Act 1968 (Cth) protects materials such as films, music, books and computer programs. You can break the law if you download, copy, share or distribute this material, unless you’re allowed to do so by the Copyright Act or you have the copyright owner’s permission. Please don’t use our services to do any of these things, because if you do, we might have to cancel your services (including your email count) and the copyright owner could take legal action against you.

In practice, small operators – armchair analysts and independent sites – either laboriously compile these stats themselves, or else ignore the Terms of Use and write programs to download them from somewhere else anyway. Not everyone can do this, though, and for those who can, it can be tedious and time-consuming, as whenever the website updates its format, the scraper stops working or begins pulling corrupt data. And sometimes the source just plain disappears.

The AFL could and should create an API: a simple online interface that publicly serves up very basic football data such as match scores in a computer-readable format. It could do this simply, cheaply, and without exposing any advanced stats that Champion Data rightly consider to be proprietary and valuable.

This would:

  1. Dramatically lower the barrier to entry for anyone with an interest in building something on top of football stats, allowing them to get started with a bunch of basic, legal data.
  2. Signal an interest in and acknowledgment of the growing amateur/semi-pro analytics community and its audience.
  3. Grant the AFL some control over what’s happening. At the moment, it has a fence around every single piece of data, a bunch of tunnels going underneath, and no idea who’s digging them or why. If it added a gate to the fence, many people would use it, because gates are easier.

Today there are excellent free APIs for practically all major world sports, except AFL. There are dozens for cricket and rugby, and hundreds for soccer. In the US, you can’t move for tripping over a baseball, basketball, or football API. But for AFL: nothing.

Regardless of where you land in the wider debate over exactly which stats should or shouldn’t be kept secret, surely no-one is being served when basic match scores are kept under legal lock and key. Fixing this could create a platform for analytics innovation, discussion, and expansion.

Please, Santa?