Expected Goals is something that has been used a lot over the last month during the World Cup and is a commonly used statistic in Soccer to measure the actual performance of teams, particularly where, given the low scoring, the final result can be lacking in its explanation of the true perforamnce of the two sides on the day. While there are numerous questions surrounding the appropriateness of this due to factors such as game situation, that is a different discussion and today I plan to have a brief look at applying this to AFL.

    Rob Younger of Figuring Footy was a pioneer in this area before his move to Port Adelaide but due to a lack of access to Champion Data's data it has made exploring this very difficult. I've fortunately managed to scrape together some data that allows me to look at this to some level, unfortunately there is still a lot missing from this but it is a start. One major area that is currently lacking is the situation of each shot, such as whether it was a set shot or general play but I hope to be able to be able to include this for at least the majority of shots at some point in the future, getting the data for all shots looks improbable at this point.

    Using this data I have put together a simplistic model of expected score for each shot based on where it was taken from, this is still very much in its infancy and I plan to build on this a lot more going forward, time permitting, there are a number of factors that I have noted to try and improve at some stage in the future and I hope to improve this as time goes on.

    One of the great things that Rob was able to do when looking at the data was the visualisation of this, unfortunately my skills are a long way off his and the process of building the data into an attractive image is still someway off but it is something that I hope to improve on as part of this project and hopefully I am able to turn this data into a nice visualisation at some point in the future. Any advice from anyone in this area would be appreciated, particularly if it relates to Python.

    For now though I thought I would put up the expected scores from each game this round. Richmond - GWS was the only game that would've resulted in a different outcome had each team converted at their expected score, however significant differences can be noted in teams final scores and expected scores across all games this round, with some large over and under performances. This is possibly simply related to the inaccuracies and simplicities of the model and does not truly indicate how much sides over or under performed in front of goal, relative to expectations.

    Home Away Home Shots Home Shot Difficulty Home Rushed Home Expected Score Home Score Away Shots Away Shot Difficulty Away Rushed Away Expected Score Away Score
    Adelaide Geelong 30 57.76 2 118.643 112 22 58.4 5 91.2378 97
    St Kilda Carlton 34 57.14 2 133.141 116 13 53.99 4 52.0909 52
    Hawthorn Brisbane 17 59.1 3 70.233 65 22 60.91 1 89.9986 98
    Melbourne Western Bulldogs 25 60.99 4 105.236 119 17 57.26 2 67.6746 69
    Gold Coast Essendon 20 51.16 1 72.1633 51 28 58.89 1 111.439 95
    GW Sydney Richmond 19 53.18 5 74.5183 79 23 58.73 4 94.5359 77
    Collingwood West Coast 19 59.03 3 78.0751 67 25 62.43 2 105.043 102
    North Melbourne Sydney 20 55.69 3 78.6931 98 24 56.82 0 92.1867 104
    Fremantle Port Adelaide 17 59.93 2 69.9409 59 13 56.74 2 51.8817 50

    As I've said the model still has a lot of work to do and this is something I will keep exploring when I have the time, as well as looking at ways to visualise the data and developing the skill set to make this happen.