I have a dataset for every game of NRL, Super Netball and AFL since 2017, which are in a nice format and what I use for my own analysis. All sports have the same column names and types which makes transferring analyses between sports easier too. The datasets are updated as often as possible, usually only once per day.
You may recall me releasing datasets on Kaggle, but it is much less accessible and maintainable than this new approach.
Datasets (all since 2017):
NRL: https://thecruncherau.vercel.app/league/data.json
Super Netball: https://thecruncherau.vercel.app/netball/data.json
AFL: https://thecruncherau.vercel.app/afl/data.json
Using R
# load data into session (this is all you need to do!)
nrl_data <- jsonlite::fromJSON("https://thecruncherau.vercel.app/league/data.json")
# some quick examples of using the data:
# view the first 2 rows of the data
nrl_data |> head(2)
#> year round date time location region hteam ateam hscore ascore match_id
1 2017 1 2/03/2017 20:05:00 Woolooware NSW Sharks Broncos 18 26 201701CROBRI
2 2017 1 3/03/2017 18:00:00 Belmore NSW Bulldogs Storm 6 12 201701CNBMEL
# find the average margin in games played so far:
abs(nrl_data$hscore - nrl_data$ascore) |> mean(na.rm = T)
#> [1] 14.38894
Using Microsoft Excel
You'll have to import the data in as JSON. I'll include a CSV version of the data if enough people get frustrated with JSON!
Using other tools
Happy to help out if it's not working for you - just let me know on Twitter.
Contact · Blog · Interactive Elo Tool · GitHub