In [1]:
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import trueskill as ts

In [2]:
raw_csv = pd.read_csv('aflstats_2006_2016.csv')


C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py:2723: DtypeWarning: Columns (1) have mixed types. Specify dtype option on import or set low_memory=False.
  interactivity=interactivity, compiler=compiler, result=result)

In [3]:
raw_csv.head()


Out[3]:
Season Round Date Local start time Venue Attendance Home team HQ1G HQ1B HQ2G ... Marks Inside 50 One Percenters Bounces Goal Assists Time on Ground % Substitute Umpire 1 Umpire 2 Umpire 3 Umpire 4
0 2006 1 2006-04-03 1910 Docklands 35434 Collingwood 5 1 7 ... 0 5 0 0 100 0 Martin Ellis Darren Goldspink Scott Jeffery NaN
1 2006 1 2006-04-03 1910 Docklands 35434 Collingwood 5 1 7 ... 1 1 0 1 61 0 Martin Ellis Darren Goldspink Scott Jeffery NaN
2 2006 1 2006-04-03 1910 Docklands 35434 Collingwood 5 1 7 ... 0 2 1 2 78 0 Martin Ellis Darren Goldspink Scott Jeffery NaN
3 2006 1 2006-04-03 1910 Docklands 35434 Collingwood 5 1 7 ... 0 4 1 2 97 0 Martin Ellis Darren Goldspink Scott Jeffery NaN
4 2006 1 2006-04-03 1910 Docklands 35434 Collingwood 5 1 7 ... 0 0 0 1 64 0 Martin Ellis Darren Goldspink Scott Jeffery NaN

5 rows × 65 columns


In [4]:
# How big of a dataset are we talking here?
print len(raw_csv.index), 'rows'
raw_headers = list(raw_csv.columns.values)
print len(raw_headers), 'columns'
print 'Column names are:'
print raw_headers

# So just under 100k player records. 65 or so attributes for each player, but plenty of duplication.


94468 rows
65 columns
Column names are:
['Season', 'Round', 'Date', 'Local start time', 'Venue', 'Attendance', 'Home team', 'HQ1G', ' HQ1B', ' HQ2G', ' HQ2B', ' HQ3G', ' HQ3B', 'HQ4G', 'HQ4B', 'Home score', 'Home coach', 'Home coach DOB', 'Away team', 'AQ1G', ' AQ1B', ' AQ2G', ' AQ2B', ' AQ3G', 'AQ3B', 'AQ4G', 'AQ4B', 'Away score', 'Away coach', 'Away coach DOB', 'First name', 'Surname', 'ID', 'DOB', 'Height', 'Weight', 'Jumper No.', 'Playing for', 'Kicks', 'Marks', 'Handballs', 'Goals', 'Behinds', 'Hit Outs', 'Tackles', 'Rebounds', 'Inside 50s', 'Clearances', 'Clangers', 'Frees For', 'Frees Against', 'Brownlow Votes', 'Contested Possessions', 'Uncontested Possessions', 'Contested Marks', 'Marks Inside 50', 'One Percenters', 'Bounces', 'Goal Assists', 'Time on Ground %', 'Substitute', 'Umpire 1', 'Umpire 2', 'Umpire 3', 'Umpire 4']

In [5]:
# What do we need for TrueSkill? Well, we need:
# - Game info (season, round, date, winner, loser)
# - Player info (First Name, Surname - possibly in one string or maybe just use player ID)
#  - Play info (time on ground is pretty useful for TrueSkill)

In [6]:
# Make a new DataFrame with just the info we need
data_cut = raw_csv.drop(['Local start time', 'Venue', 'Attendance', 'HQ1G', ' HQ1B', ' HQ2G', ' HQ2B', ' HQ3G', ' HQ3B', 'HQ4G', 'HQ4B',
                        'Home coach DOB','AQ1G', ' AQ1B', ' AQ2G', ' AQ2B', ' AQ3G', 'AQ3B', 'AQ4G', 'AQ4B','Away coach DOB', 
                         'Height', 'Weight', 'Jumper No.','Kicks', 'Marks', 'Handballs', 'Goals', 'Behinds', 'Hit Outs', 'Tackles', 
                         'Rebounds', 'Inside 50s', 'Clearances', 'Clangers', 'Frees For', 'Frees Against', 'Brownlow Votes', 
                         'Contested Possessions', 'Uncontested Possessions', 'Contested Marks', 'Marks Inside 50', 'One Percenters', 
                         'Bounces', 'Goal Assists', 'Substitute', 'Umpire 1', 'Umpire 2', 'Umpire 3', 'Umpire 4'],inplace = False,axis=1)
data_cut.head()


Out[6]:
Season Round Date Home team Home score Home coach Away team Away score Away coach First name Surname ID DOB Playing for Time on Ground %
0 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Nathan Bassett 56 1976-12-07 Adelaide 100
1 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Rhett Biglands 83 1977-09-04 Adelaide 61
2 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Matthew Bode 90 1979-06-29 Adelaide 78
3 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Brett Burton 68 1978-05-04 Adelaide 97
4 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Matthew Clarke 78 1973-09-18 Adelaide 64

In [7]:
# Make a column with the player names from the first and last names of the players
data_cut['Player Name'] = data_cut['First name']+' ' + data_cut['Surname']
data_cut['PlayerUniqueID'] = data_cut['DOB']+data_cut['Player Name']
data_cut.head()


Out[7]:
Season Round Date Home team Home score Home coach Away team Away score Away coach First name Surname ID DOB Playing for Time on Ground % Player Name PlayerUniqueID
0 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Nathan Bassett 56 1976-12-07 Adelaide 100 Nathan Bassett 1976-12-07Nathan Bassett
1 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Rhett Biglands 83 1977-09-04 Adelaide 61 Rhett Biglands 1977-09-04Rhett Biglands
2 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Matthew Bode 90 1979-06-29 Adelaide 78 Matthew Bode 1979-06-29Matthew Bode
3 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Brett Burton 68 1978-05-04 Adelaide 97 Brett Burton 1978-05-04Brett Burton
4 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Matthew Clarke 78 1973-09-18 Adelaide 64 Matthew Clarke 1973-09-18Matthew Clarke

In [8]:
# Write to csv so we don't have to process and cut down the data again
data_cut.to_csv('cut down data.csv')

In [9]:
players = data_cut['PlayerUniqueID']

In [10]:
# How many players?
len(players.unique())


Out[10]:
1539

In [11]:
# If we take the lower case of all the players in the league, how many unique values are there?
players_lower = players.str.lower()
print len(players_lower.unique()), 'players in lower(players)'
# This doesn't differ from the non-lower case value, so it would seem that there aren't any 
# typing/input issues in the Player Name column
print len(data_cut['ID'].unique()), 'unique player IDs'
# Somehow there are more unique player IDs than unique players
# Put this down to a change in the player ID system?
# This means we can't use player ID as the unique identifier - must use player name
# Later on, found that there player name collisions
# Decided to make PlayerUniqueID from the player's DOB and Name


1539 players in lower(players)
1539 unique player IDs

In [12]:
# Create skill values for all players in the league
playerskill = {name:ts.Rating() for name in players.unique()}
playerskill


Out[12]:
{'1990-12-27Jarrad Redden': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-04-18Stephen Wrigley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-02-25Jack Frost': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-20Beau Maister': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-03-22Tim Broomhead': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-02-05Blake Hardwick': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-28Grant Birchall': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-12-09Jack Redden': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-10-02Bernie Vince': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-06-20John Meesen': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-06-07Luke Vogels': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-05-25Luke Ball': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-12-19Chris Yarran': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-05Lukas Markovic': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-03-12Steven Motlop': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-05-26Joel Selwood': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-05-27Clay Cameron': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-03-21Daniel Pratt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-05-15Alwyn Davey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-04-19Shannon Grant': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-01-21Des Headland': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-12-13Jack Steele': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-09-18Tom McDonald': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-06-10Brady Rawlings': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-01-09Alex Neal-Bullen': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-06-21Steven Salopek': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-03-01Charlie Gardiner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-21Ryan Neates': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-06-10Troy Davis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-01-24Jayden Short': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-04-03Matthew Warnock': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-09-04Rhett Biglands': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-02-26David Astbury': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-08-05Nathan Grima': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-04-06Tim Golds': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-05-08Matthew Robbins': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-08-26Ryan Lester': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-12-08Cory DellOlio': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-04-03Trent McKenzie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-08-28Mitch Brown': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-03-08Stephen Milne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-11-19David Swallow': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-06-06Nathan van Berlo': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-11-26Eddie Betts': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-04-08Kaiden Brand': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-01-09Josh Dunkley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-11-05Taylor Hunt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-08-30Chad Fletcher': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-06-07Michael Hartley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-02-05James Hawksley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-11-07Sam Reid': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-06-16George Burbury': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-10-03Mitch Golby': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-10-10Rohan Bewick': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-06-03Marc Pittonet': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-10-02Harley Bennell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-07-30Michael Close': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-07-28Blaine Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-03-21Guy Richards': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-01-07Nathan Wilson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-10-13Casey Sibosado': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-11-16Brad Hartman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-07-20David Mundy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-04-07Brent Hartigan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-06-16Graham Polak': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-11-25Arryn Siposs': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-03-11Antoni Grover': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-06-15Kieran Harper': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-10-10Jason Winderlich': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-02-23Leigh Brown': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-02-11Michael Talia': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-03-03Luke Brennan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-07-10Matthew Egan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-08-09Alex Browne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-10-23Nakia Cockatoo': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-12-07Tom Derickx': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-07-06Leroy Jetta': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-01-07Michael Walters': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-02-06Jacob Hopper': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-01-24Ryan OKeefe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-11-12Brent Reilly': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-02-20Jesse Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-10-27Zaine Cordy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-02-28Brad Helbig': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-01-14Brodie Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-04-29Tom McNamara': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-08-01Dean Cox': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-03-20Andrew McInnes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-12-27Heath Hocking': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-09-11Scott Thornton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-03-04Ryan Lonie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-03-22Ben Kane': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-01-23Liam Dawson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-11-13Martin Clarke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-09-06Josh Prudden': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-01-22Henry Slattery': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-08Terry Milera': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-05-24Ryan Murphy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-02-01Steven Browne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-04-09Tim McIntyre': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-08-18Jack Billings': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-07-05Michael Gardiner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-03-05Jared Crouch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-05-02Jarrad Jansen': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-03-23Alan Toovey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-02-17Brett Goodes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-10-06Sean Rusling': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-03-03Sam Lloyd': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-04-12Paul Wheatley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-09-11Lachie Plowman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-12-09Roger Hayden': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-01-09Dean Solomon': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-05-30Matt Maguire': trueskill.Rating(mu=25.000, sigma=8.333),
 '1973-05-31Rohan Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-09-16Michael Ross': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-02-23Jaeger OMeara': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-10-09Jake Spencer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-10-08John Williams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-09-26Cameron Mooney': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-02-03Jake Long': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-09-08Billy Stretch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-08-28Wade Thompson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-04-05Ben Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-01-26Mark McVeigh': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-07-22Marley Williams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-04-03Jayden Hunt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-12-20Sam Colquhoun': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-09-20Jarrad Irons': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-03-13Leigh Osborne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-11-19Ciaran Sheehan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-30Beau Waters': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-17Simon White': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-10-11Mitch McGovern': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-05-25Mark Hutchings': trueskill.Rating(mu=25.000, sigma=8.333),
 '1973-02-04James Hird': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-22Jackson Sheringham': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-11-29Aaron Black': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-12-04Jimmy Bartel': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-02-02Jed Anderson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-05-29Jake Neade': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-06-02Robert Campbell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-02-13Jake Batchelor': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-07-06Jarrad Grant': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-04-13Jack Viney': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-02-27Jackson Merrett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-12-29James Kelly': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-07-07Sharrod Wellingham': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-04-27Keegan Brooksby': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-03-07Dom Barry': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-11-02Tom Campbell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-02-03Charlie Curnow': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-02-09Luke McDonald': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-08-25Nick Gill': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-06-28Clint Bizzell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-02-09Jarrad Oakley-Nicholls': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-04-27Jack Leslie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-10-20Nathan Carroll': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-07-13Tom Papley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-07-25David Mackay': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-04-23Jamie Cripps': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-02-24Dan Hannebery': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-10-19Matt Buntine': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-05-20Devon Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-10-07Dylan Addison': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-08-26Jess Sinclair': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-20Josh Kennedy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-10-27Zac OBrien': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-12-19Tom Fields': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-11-09Aaron Hall': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-04-24Peter Faulks': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-05-17Tom Lonergan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-02-22Josh Bootsma': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-10-07Jayden Pitt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-01-08Michael Rix': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-05-19Leo Barry': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-07-21Callum Urch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-03-14Mason Cox': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-02-21Jarrod Atkinson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-01-18Andrew Hooper': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-03-06Tom Hickey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-06-07Mitch Robinson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-11-13Kepler Bradley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-05-22David Hale': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-08-01Matthew Broadbent': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-04-10Travis Varcoe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-09Paul Bower': trueskill.Rating(mu=25.000, sigma=8.333),
 '1975-03-19Matthew Richardson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-08-22Craig Moller': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-02-04Cory McGrath': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-09-28Darren Pfeiffer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-30Ben Cunnington': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-08-12Josh Dyson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-01-05Mitch Clisby': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-07-30Lewis Stevenson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-03-17Cameron Pedersen': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-10-08Luke Pratt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-12-31Steven Morris': trueskill.Rating(mu=25.000, sigma=8.333),
 '1975-07-12Luke Darcy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-07-21Matthew ODwyer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-06-10Aaron Davey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-07Matthew Leuenberger': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-03-23Tom Clurey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-11-23Matt Rosa': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-01-29Jack Martin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-05-25Troy Longmuir': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-01-26Michael Quinn': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-09-02Kyal Horsley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-08-31Josh Saunders': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-07-05Ben Lennon': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-28Damien McCormack': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-10-17Nick Riewoldt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-05-26Tim Membrey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-10Mitch Duncan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-06-27Andrew Embley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-08-19Adam Cockshell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-04-01Jasper Pittard': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-10-09Alex Rance': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-03-13Jason Roe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-12-24Shane Tuck': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-08-06Ayce Cordy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-03-01Peter Bell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-09-25Toby Greene': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-09-13Jacob Gillbee': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-03-11Shane Birss': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-01-17Adam Iacobucci': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-01-20Brett Meredith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-07-22Bailey Dale': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-02-23Ben Keays': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-04-16James Rose': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-07-03Will Langford': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-07-08Lindsay Gilbee': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-08-16Liam Sumner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-01-02Rex Liddy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-04-05Tomas Bugg': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-03-04Joe Daniher': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-06-03Ben Nason': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-02-22Nick Dal Santo': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-07-02Sam Power': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-06-24Josh Wagner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-07-25Brad Dick': trueskill.Rating(mu=25.000, sigma=8.333),
 '1973-09-18Matthew Clarke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-15Cleve Hughes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-06-09Andrew McQualter': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-07-09Bradley Hill': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-02-16Clint Bartram': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-01-26Matt McDonough': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-07-12Jason Castagna': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-02-12Dayne Beams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-04-14Lachlan Keeffe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-06-30Ben Cousins': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-11-21Daniel Bradshaw': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-07-05Brett Peake': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-04-26Leigh Harding': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-08-05Dean Polo': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-05-20Rupert Wills': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-12-01Kyle Langford': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-10-10Bailey Williams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-11-11Andrew Lovett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-06-03Nick Robertson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-03-13Cameron OShea': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-01-11Ted Richards': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-03-15Shane Kersten': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-11-14Courtney Johns': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-05-17Aidan Corr': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-11-13Matthew Whelan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1974-08-11Darryl Wakelin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-11-21Darcy Lang': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-02-27Brian Lake': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-03-24Mike Pyke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-10-07Ollie Wines': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-03-04Ben McKinley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-08-08Rhys OKeeffe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-05-14Kieran Lovell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-06-05Matthew Scarlett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-05-08Harrison Himmelberg': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-03-14Matt Riggio': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-09-28Josh Caddy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-09-20Jake Lloyd': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-01-22Daniel Pearce': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-06-17Ryan Clarke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-09-20James Frawley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-05-05Kade Simpson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-05-20Dean Rioli': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-04-13Mark Williams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-02-09Rory Lobb': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-02-21David Zaharakis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-05-27Jordan McMahon': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-10-02Jack Crisp': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-07-04Kane Tenace': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-07-19Marc Murphy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1974-08-12Shane Wakelin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-24James Ezard': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-11-10Robin Nahas': trueskill.Rating(mu=25.000, sigma=8.333),
 '1974-09-09Shane Crawford': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-08-25Josh Kennedy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-09-15Tom Lynch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-09-23Trent Sporn': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-01-02Jordan Foote': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-06-22Lauchlan Dalgleish': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-07-16Tyson Stenglein': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-03-09Trent Croad': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-04-09Greg Bentley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-04-13Alik Magin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-10-23Jason Saddington': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-03-29Chad Morrison': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-29Jordan Jones': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-02-16Adam Simpson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-02-23Aaron Mullett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-12-14Dean Brogan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-04-03Israel Folau': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-29Jeremy Howe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-09-04Jason Davenport': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-01-24Luke Russell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-04-10Dom Sheed': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-06-29Andrew McDougall': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-10-18Simon Godfrey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1975-01-22David Neitz': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-12-11Harris Andrews': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-07-10Sam Fisher': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-03-04Tom Nicholls': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-03-04Nathan Lonie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-05-31Craig Bolton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-06-21Dale Thomas': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-12-29Dale Morris': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-12Nick Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-01-17Matthew Spencer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-11-19Adam Ramanauskas': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-09-22Liam Jurrah': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-29Shane Valenti': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-10-06Adam McPhee': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-03-25Dougal Howard': trueskill.Rating(mu=25.000, sigma=8.333),
 '1972-10-21Andrew Thompson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-06-18Adam Hunter': trueskill.Rating(mu=25.000, sigma=8.333),
 '1975-08-11Scott Camporeale': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-11-18Justin Clarke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-04-10Mitch White': trueskill.Rating(mu=25.000, sigma=8.333),
 '1975-01-30Jarrad Schofield': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-07-20Riley Milne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-03-24Tayte Pears': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-08-18Stuart Dew': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-05-20Brendon Goddard': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-07-11Ben McEvoy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-06-03Nick Maxwell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-07-16Dylan Grimes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-03-16Dylan Buckley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-01-14Sam Butler': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-02-24Jason Akermanis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-08-28Campbell Brown': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-12-13Jack Redpath': trueskill.Rating(mu=25.000, sigma=8.333),
 '1973-04-03Paul Williams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-08-17Lachlan Hansen': trueskill.Rating(mu=25.000, sigma=8.333),
 '1973-06-18Gavin Wanganeen': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-03-29Richard Hadley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-07-15Richard Cole': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-03-21Shaun Hampson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-06-05Josh Thurgood': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-02-11Andrew Welsh': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-01-01Kurt Heatherley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-03-26Stephen Tiller': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-01-28Brent Moloney': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-10-23Max Bailey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-12-02Cameron Richardson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-09-28Ricky Dyson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-02-02Joseph Daye': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-03-03Fraser Gehrig': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-08-06Tyson Edwards': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-12-13Dean Terlich': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-02-22Zac Dawson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-02-26Tommy Walsh': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-01-16Kade Stewart': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-09-18Matt Scharenberg': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-12-30Isaac Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-11-08Colin Sylvia': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-07-23Adam Saad': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-05-12Bachar Houli': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-04-15Nathan Broad': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-10-23Clancee Pearce': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-07-29Chad Wingard': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-19John Anthony': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-02Luke Shuey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-06-23Paul Chambers': trueskill.Rating(mu=25.000, sigma=8.333),
 '1974-02-27Drew Banfield': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-23Jarryd Roughead': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-07-10Brendon Lade': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-10-03Zach Merrett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-02-10Ben Davies': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-09-22Domenic Cassisi': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-10-21Graham Johncock': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-01-02Mitch Grigg': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-11-02Sean Lemmens': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-04-03Kamdyn McIntosh': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-09-01Patrick Veszpremi': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-08-22Tom Boyd': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-05-08Jaryd Cachia': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-07-24Ricky Petterd': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-10-19Tim Mohr': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-01-19Josh Hill': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-07-14Alex Forster': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-06-06Peter Street': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-02-05Derick Wanganeen': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-07-16Matthew Watson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-10-12Brent LeCras': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-09-25Chris Knights': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-03-16Josh Cowan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-04-07Josh Head': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-03-09Dylan Shiel': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-03-10Curtly Hampton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-10-09Timmy Sumner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-01-04Christian Petracca': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-05-19Elliott Kavanagh': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-09-22Luke Brown': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-08-30Mark LeCras': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-27Ed Barlow': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-04-26Tom Young': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-07-13Troy Simmonds': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-06-04Lin Jong': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-01-10Kyle Reimers': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-07-13Michael Evans': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-04-03Mark Bolton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-03-23Jack Hiscox': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-02-08Barry Hall': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-04-02Tim Clarke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-06-18Joel Perry': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-05-14Andrew Browne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-10-26Chris Egan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-07Robert Eddy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-01-21Craig Bird': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-05-03Chris Scott': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-05-18Nick Haynes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-26Jack Fitzpatrick': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-05-10Daniel Harris': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-02-27Isaac Weetra': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-07-15Sam Wright': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-06-26Nick OBrien': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-01-28Robert Haddrill': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-09-23Matthew Moody': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-03-02Daniel Gilmore': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-05-25Gerrick Weedon': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-09-18Jay van Berlo': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-08-07Andrew Mackie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-01-21Ryan Houlihan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-06-03Fletcher Roberts': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-09-20Justin Koschitzke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-10-31Jack Riewoldt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-03-04Cameron Wood': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-11-08Jason Johannisen': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-12-14Jed Bews': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-05-16Chris Dawes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-04-27Jason Gram': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-03-05Travis Cloke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-20Nathan Jones': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-10-28Jonathan Simpkin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-08-24Travis Colyer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-09-13Mason Wood': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-10-19Jed Lamb': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-07-09Tom Bellchambers': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-12-07Scott Welsh': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-02-13Rhys Palmer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-04-10Sam Jacobs': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-26Kane Lucas': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-11-08Ryan Schoenmakers': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-05-11Clay Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-07-12Adam Kennedy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-09-23Jamie Macmillan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-10-17Trent West': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-07-14Nick Ries': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-12-24Warren Tredrea': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-12-06Ciaran Byrne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-05-04Nic Naitanui': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-11-17Stefan Martin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-09-18David Wojcinski': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-04-14Jarryd Blair': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-01-08Adam Goodes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-08-05Shane Biggs': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-08-06Will Snelling': trueskill.Rating(mu=25.000, sigma=8.333),
 '1973-01-18Anthony Koutoufides': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-05-29Nick Holman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-09-11Simon Wiggins': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-11-02Ben Bucovaz': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-04-29Liam Shiels': trueskill.Rating(mu=25.000, sigma=8.333),
 '1975-02-19John Barker': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-01-03Nick Stevens': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-05-14Gary Ablett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-05-15Andy Otten': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-02-04Jarrad Waite': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-09-08Nathan Foley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-01Relton Roberts': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-01-29Chris Heffernan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-10-12Angus Litherland': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-06Jarred Moore': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-01-05Josh Fraser': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-02-23Troy Chaplin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-07-18Lachie Whitfield': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-05-01Troy Selwood': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-07Jamie Bennell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-03-25Kelvin Moore': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-06-11Harry Miller': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-02-16Nathan Wright': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-03-03Ben Kennedy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-05-22Tyson Goldsack': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-04-26Sam Kerridge': trueskill.Rating(mu=25.000, sigma=8.333),
 '1974-11-14Scott West': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-02-09Shaun McManus': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-08-21Djaran Whyman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-14James Strauss': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-11-06Darren Jolly': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-11-06Jordan Russell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-08-24Jade Gresham': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-01-20Sean Dempster': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-07-20Ashley Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-08-11Byron Pickett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-11-10Nathan Eagleton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-03-04Liam Patrick': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-02-15Alan Didak': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-11-06Brodie Martin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-03-08Matthew Hammelmann': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-09-08Lewis Roberts-Thomson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-12-04Daniel Howe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-09-18Nat Fyfe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-05-16Tom Liberatore': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-09-12Troy Taylor': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-07-22Nick Heyne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-12-20Ian Callinan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-05-30Kris Massie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-09-13Jarrod Witts': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-04-05Sam Shaw': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-11-06Josh Tynan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-06-14James Mulligan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-09-27Cameron Shenton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-09-22Spencer White': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-10-31Jordan Bannister': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-01-05Shane Savage': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-04-25Tom Ruggles': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-28Mitch Morton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-10-09Callum Ah Chee': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-07-21Tom Hawkins': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-02-18Rick Ladson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-05-28Heath Black': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-05-10Mitch Hahn': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-08-22Brayden Fiorini': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-01-02Josh Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-10-26Will Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-12-13Nathan Ablett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-05-05Nathan Krakouer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-06-08Dom Tyson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-01-03Matthew Little': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-12Jordan Lisle': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-11-05Paul Chapman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-01-31Jarrod Silvester': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-12-03Alex Sexton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-09-04Easton Wood': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-04-21Matt Crouch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-09-14Corey Enright': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-04-13Daniel Bell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-03-30David Cuningham': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-12-14Matthew Wright': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-02-09Matthew Laidlaw': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-06-24Mal Michael': trueskill.Rating(mu=25.000, sigma=8.333),
 '1974-05-03Peter Everitt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-12-01Luke McPharlin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-12-29Matthew Carr': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-07-14Brent Prismall': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-07-10Paul Stewart': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-05-14Lynden Dunn': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-12-14Kieran Collins': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-07-03John Butcher': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-05-04Lewis Jetta': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-12-17Jack Silvagni': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-12-21Jay Nash': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-07-04Steve Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-03-16Michael Pettigrew': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-10-01Jake Carlisle': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-09-17Kyle Martin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-03-19Clark Keating': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-06-07Ryan Davis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-06-26Sam Weideman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-04-24Taylor Duryea': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-07-06Brad Miller': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-02Dane Rampe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-07-15Christian Salem': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-07-08Kieran McGuinness': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-09-07Nick Duigan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-30Lance Franklin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-01Michael Hurley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-04-15Matt White': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-09-22Darcy Gardiner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-01-31Gerald Ugle': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-07-05Charlie Cameron': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-04-19Greg Tivendale': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-01-24Taylor Hine': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-08-12Toby Nankervis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-03-15Levi Casboult': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-03-04James Stewart': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-12-19Max Rooke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-02-02Brad Sewell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-04-07Danyle Pearce': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-10-20Phillip Read': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-01-30Cameron Howat': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-05-03Brent Renouf': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-04-02Kurt Aylett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-03-13Brad Green': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-09-29Alex Silvagni': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-04-22Anthony McDonald-Tipungwuti': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-03-27Scott Selwood': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-27Fabian Deluca': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-11-02Chris Mayne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-02-06Jaymie Graham': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-06-30Marcus Adams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-03-16Cain Ackland': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-09-19Nathan Djerrkura': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-09-07Stephen Powell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-06-08Billie Smedts': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-06-19Sam Iles': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-09-21Fergus Watts': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-17Tom Couch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-08-19Eli Templeton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-09-09Brendan Lee': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-06-23Ben Fixter': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-05-28Tom Cole': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-03-31Piers Flanagan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-03-23Corey Wagner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-06-12Paul Hasleby': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-05-03Brad Scott': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-09-18Chris Tarrant': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-10-19Mitch Clark': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-08-31Andrew Foster': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-05-08Dylan McLaren': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-03-07Tom Gillies': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-04-01Campbell Heath': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-12-21Brendon Ah Chee': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-09-23Ryan Gamble': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-03-02Mitch Honeychurch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-08-23Mitch Hallahan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-02-21Paul Koulouriotis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-02-21Matthew Ball': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-04-19Will Thursfield': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-04-06Marcus Davies': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-11Brock McLean': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-09-17Ben Griffiths': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-07-25Travis Baird': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-09-06Ashton Hams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-10-08Henry Schade': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-07-28Jared Brennan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-05-20Darren Gaspar': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-09-21Darcy Daniher': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-09-08Chris Judd': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-11-04Luke Livingston': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-26Rohan Bail': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-02-24Mark Austin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-06-09Robert Murphy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-02-01Sam Gray': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-08-10Stewart Crameri': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-09-03Marco Paparone': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-06-17Jeremy Taylor': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-09-05Aliir Aliir': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-04-15Tony Notte': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-03-08Sam Sheldon': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-04-19Josh Drummond': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-10-09Robert Hicks': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-03-15Shane OBree': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-12-14Lachie Henderson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-11-07Kyle Hartigan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-05-31Tom Mitchell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-02-12Nathan Gordon': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-11-27Michael Firrito': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-12-05Jordan Schroder': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-02-20Michael OLoughlin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-19Tom Murphy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-08-10Aaron Francis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-03-16Malcolm Lynch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-02-26Jacob Ballard': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-01-04Mitch Farmer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-08-09Kade Kolodjashnij': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-05-01Marcus Drum': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-07-16Hayden Ballantyne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-10-13Cale Hooker': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-03-05Kristin Thornton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-02-18Danny Stanley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-04-27Jonathan Freeman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-12-10Zach Tuohy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-05-30Andrew Moore': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-06-22Anthony Corrie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-05-02Aaron Shattock': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-01-29Peter Burgoyne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-12-12Daniel Merrett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-09-21Ben Ross': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-11-08Jake Barrett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-07-16Jamie Charman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-06-07Nathan Hrovat': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-09-01Claye Beams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-21Marc Lock': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-10-17Jonathon Marsh': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-08-29Wayde Mills': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-03-09Adam Treloar': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-05Josh Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-01-24Quinten Lynch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-04-16Daniel Rioli': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-04-02Brad Ebert': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-02-10Tim Houlihan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-07-17Brett OHanlon': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-10-25Brant Colledge': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-04-18Addam Maric': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-08-29Jake Melksham': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-03-13Josh Gibson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-11-24Russell Robertson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-03-10Josh Glenn': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-01-02Tom Lee': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-06-21Chance Bateman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-10-24Will Slade': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-07-20David Fanning': trueskill.Rating(mu=25.000, sigma=8.333),
 '1972-12-17Peter Riccardi': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-17Jay Neagle': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-07-08Logan Austin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-06-02Shane Yarran': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-05-16Jason Ashby': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-25Nathan Vardy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-07-14Will Hams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-01-21Brodie Murdoch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1975-11-23Andrew Kellaway': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-08-07Ryan Harwood': trueskill.Rating(mu=25.000, sigma=8.333),
 '1974-12-23Scott Burns': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-09-03Brad Walsh': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-10-05Jarryd Morton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-03-15Jackson Nelson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-10-29Anthony Morabito': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-05-06Mark Chaffey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-08-13Jack Lonie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-06-09Robert Shirley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-04-23Matthew Spangher': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-05-07Sebastian Ross': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-08-13Jonathan Hay': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-12-01Mark Whiley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-09-20Brayden Maynard': trueskill.Rating(mu=25.000, sigma=8.333),
 '1973-03-24Glenn Archer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-01-19Nathan Drummond': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-03-28Mark Blicavs': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-02-24Ben Hudson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-04-28Jamie OReilly': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-10-18Matt Jones': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-03-14Patrick Ryder': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-05-28Ben Rutten': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-01-14Brad Crouch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-05-23Marcus Allan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-04-01Cam McCarthy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-01-21Justin Longmuir': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-05-09Scott Thompson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-03-24Michael Braun': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-12-31Reuben William': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-11-12Chad Cornes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-05-25Luke Webster': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-09-19Sam Schulz': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-18Jesse Crichton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-08-07Tom Simpkin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-04-02Callum Mills': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-07-03Josh Schoenfeld': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-06-27Zephaniah Skinner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-06-26Paul Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-12-09Darren Minchington': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-08-04Andrew McLeod': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-08-05Jeremy Laidler': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-03-05Jason Cloke': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-08-30Phil Davis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-01-17Josh Clayton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-11-12Josh Walker': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-07Shannon Cox': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-08-21Jamie Elliott': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-06-19Scott Harding': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-12-30Scott Lucas': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-06-02David Hille': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-07-07Caleb Daniel': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-08-14Hamish Hartlett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-04-05Simon Phillips': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-02-16Clinton Young': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-08-31Colm Begley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-01-25Brad Ottens': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-09-01Patrick Ambrose': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-09-13Eric Hipwood': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-10-31Josh Mahoney': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-03-15Jason Blake': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-11-21Michael Wilson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-08-18Jarrad Boumann': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-08-09Chris Hyde': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-02-01Alex Georgiou': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-03-23Jordan Murdoch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-11-20Jackson Ramsay': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-11-17Karmichael Hunt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-04-27Nick Winmar': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-08-21Josh Schache': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-05Adam Pattison': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-01-25Chris Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-09-08Peter Wright': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-09-06Sam Day': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-06-19Cameron Delaney': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-06-30David Myers': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-04David Trotter': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-04-16Matthew Lloyd': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-05-11Jack Grimes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-05-18Chris Newman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-04-18Brett Deledio': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-02-17Lewis Taylor': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-08-06Brett Jones': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-03-11Pat McCarthy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-09Callum Wilson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-11-24Mark Nicoski': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-09-02Jack Trengove': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-05-31Ty Vickery': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-01-28Michael Apeness': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-02-28Luke Mitchell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-12-17Mitch Brown': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-09-04James Clement': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-06Jake Edwards': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-06-21Daniel McConnell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-01-22Henry Playfair': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-01-21Jake Kelly': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-09-11Ricky Henderson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-06-28Kieren Jack': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-11-22Mathew Stokes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1973-06-01Brett Montgomery': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-03-06Chris Bryan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-11-09Luke Blackwell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-07-01Andrew Lee': trueskill.Rating(mu=25.000, sigma=8.333),
 '1974-07-09Ben Hart': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-02-10Luke Rounds': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-03-08Tanner Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-03-04Rhys Magin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-02-29Brent Macaffer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-05-23Mark Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-06-17Matthew Taberner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-06-25Danny Jacobs': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-12-01Kane Mitchell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-05-23Trent Knobel': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-12-02Paul Puopolo': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-07-28Adam Marcon': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-05-30Brock OBrien': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-02-02Clinton Jones': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-05-12Billy Longer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-08-01Liam Picken': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-02-28Tendai Mzungu': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-11-15Heritier Lumumba': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-04-15Brodie Grundy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-10-01Justin Westhoff': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-09-02Ian Prendergast': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-08-06Martin Mattner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-02-28Jack Ziebell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-10-19Billy Evans': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-11-15Pearce Hanley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-05-29Brad McKenzie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-01-12Steven Armstrong': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-06-08Alex Fasolo': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-03-15Jude Bolton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-04-23Patrick Karnezis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-02-09Josh Simpson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-07-13Stephen Doyle': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-11-27Heath Shaw': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-12-07Nathan Bassett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-09-02Stephen Gilham': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-08-30Trent Dennis-Lane': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-02-13Maverick Weller': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-08-10Adam Tomlinson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-06-12Harry Taylor': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-09-02Tom Roach': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-02-24Dean Kent': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-08-25Kyle Cheney': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-09-09Liam Anthony': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-06-29Matthew Bode': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-12-20Broc McCauley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-05-09Nick Suban': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-08-20Reilly OBrien': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-04-25Xavier Richards': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-11-03Beau McDonald': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-05-13Matthew Kreuzer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-03-17Rory Sloane': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-02-11Ben Warren': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-09-29Tony Armstrong': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-01-29Max Warren': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-09-14Orazio Fantasia': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-01-02Jimmy Toumpas': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-01-23Darcy Tucker': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-21Daniel Dzufer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-01-14Jonathon Griffin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-01-08Michael Rischitelli': trueskill.Rating(mu=25.000, sigma=8.333),
 '1975-07-07Michael Voss': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-06-02Daniel Gorringe': trueskill.Rating(mu=25.000, sigma=8.333),
 '1985-01-25Adam Campbell': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-01-04Paul Licuria': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-03-13Andrejs Everitt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-01-22Kayne Pettifer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-06-16Jason Torney': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-28Todd Banfield': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-26Justin Sherman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-08-12Troy Cook': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-05-24Matthew Bate': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-22Ryan Bastinac': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-28Luke Tapscott': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-10-20Michael Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-12-25Justin Sweeney': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-06-02Heath Grundy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-09-13Michael Coad': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-01-15Scott Stevens': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-10-10Ryan Williams': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-06-07Gary Rohan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-02-17Matthew Lappin': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-07-03Andrew Phillips': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-02-17Dawson Simpson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-11-02Jackson Trengove': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-08-18Simon Taylor': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-07-03Carl Peterson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-01-05Kane Cornes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-11-29Ben Mathews': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-01-25Brendan Whitecross': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-12-22Dennis Armfield': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-11-11Luke Breust': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-05-27Steve Clifton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-11-26Eddie Sansbury': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-01-29Ken McGregor': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-07-19Archie Smith': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-03-28Tim OBrien': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-03-11Daniel Giansiracusa': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-10-17Jesse Palmer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-11-22Luke Ablett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-07-22Clayton Oliver': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-01-07Scott Pendlebury': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-09-10James Podsiadly': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-05-20Ashley McGrath': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-08-03Will Young': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-09-14Wayne Milera': trueskill.Rating(mu=25.000, sigma=8.333),
 '1980-07-21Heath Scotland': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-03-15Jordan de Goey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-08-26Ariel Steinberg': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-03-05Ryan Crowley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-04-25Robbie Tarrant': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-11-03Jordan Roughead': trueskill.Rating(mu=25.000, sigma=8.333),
 '1971-08-21Robert Harvey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-03-15Bryce Gibbs': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-02-05Matt Shaw': trueskill.Rating(mu=25.000, sigma=8.333),
 '1991-10-16Jack Gunston': trueskill.Rating(mu=25.000, sigma=8.333),
 '1983-04-14Elijah Ware': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-11-08James Aish': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-03-23Farren Ray': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-09-04Hamish McIntosh': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-08-19Sam Gilbert': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-10-23Jackson Ferguson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-03-26Jake King': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-12-21Brad Howard': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-08-03Scott Gumbleton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-01-29Mabior Chol': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-04-07Shannon Byrnes': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-08-03Danny Meyer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-06-16Andrew Gaff': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-04-29Todd Elton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-08-03Brandon Ellis': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-04-18Josh Toy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-05-18Gavin Urquhart': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-02-25Dane Swan': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-07-09Jarman Impey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-04-09Brad Fisher': trueskill.Rating(mu=25.000, sigma=8.333),
 '1993-11-18Murray Newman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1977-07-09Daniel Ward': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-10-31Tom Lynch': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-03-10Matthew de Boer': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-10-30Daniel Stewart': trueskill.Rating(mu=25.000, sigma=8.333),
 '1994-05-25Brandon Jack': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-03-02Alex Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1992-02-23Viv Michie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-12-25Mitch Thorp': trueskill.Rating(mu=25.000, sigma=8.333),
 '1975-08-20Adam Kingsley': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-12-25Trent Hentschel': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-07Tom Hislop': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-04-05Jarrhan Jacky': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-07-30Nick Salter': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-12-17Nathan Brown': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-03-01Ben Stratton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1995-08-09Jake Kolodjashnij': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-03-24James Sellar': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-08-18Shannon Motlop': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-07-07Andrew Browne': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-23Ryan Willits': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-04-28Colin Garland': trueskill.Rating(mu=25.000, sigma=8.333),
 '1976-09-02Max Hudghton': trueskill.Rating(mu=25.000, sigma=8.333),
 '1982-12-06Aaron Sandilands': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-09-01Kyle Hardingham': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-06-21Joel Bowden': trueskill.Rating(mu=25.000, sigma=8.333),
 '1990-06-05Mitchell Banner': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-12-24Joe Anderson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-04-18Adam Cockie': trueskill.Rating(mu=25.000, sigma=8.333),
 '1979-09-30Cameron Bruce': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-03-06Cruize Garlett': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-03-15Kane Johnson': trueskill.Rating(mu=25.000, sigma=8.333),
 '1997-08-26Mason Redman': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-08-24Hugh Goddard': trueskill.Rating(mu=25.000, sigma=8.333),
 '1986-08-11James Gwilt': trueskill.Rating(mu=25.000, sigma=8.333),
 '1974-08-27Greg Stafford': trueskill.Rating(mu=25.000, sigma=8.333),
 '1978-05-14Brent Harvey': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-12-14Matthew McCarthy': trueskill.Rating(mu=25.000, sigma=8.333),
 '1987-01-19Angus Monfries': trueskill.Rating(mu=25.000, sigma=8.333),
 '1988-06-16David Armitage': trueskill.Rating(mu=25.000, sigma=8.333),
 '1996-09-19Connor Menadue': trueskill.Rating(mu=25.000, sigma=8.333),
 '1984-06-15Chad Jones': trueskill.Rating(mu=25.000, sigma=8.333),
 '1981-05-05David Teague': trueskill.Rating(mu=25.000, sigma=8.333),
 '1989-02-15Daniel Currie': trueskill.Rating(mu=25.000, sigma=8.333),
 ...}

In [13]:
data_cut.sort_values(['Date', 'Home team','Playing for'])
data_cut.head()


Out[13]:
Season Round Date Home team Home score Home coach Away team Away score Away coach First name Surname ID DOB Playing for Time on Ground % Player Name PlayerUniqueID
0 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Nathan Bassett 56 1976-12-07 Adelaide 100 Nathan Bassett 1976-12-07Nathan Bassett
1 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Rhett Biglands 83 1977-09-04 Adelaide 61 Rhett Biglands 1977-09-04Rhett Biglands
2 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Matthew Bode 90 1979-06-29 Adelaide 78 Matthew Bode 1979-06-29Matthew Bode
3 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Brett Burton 68 1978-05-04 Adelaide 97 Brett Burton 1978-05-04Brett Burton
4 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Matthew Clarke 78 1973-09-18 Adelaide 64 Matthew Clarke 1973-09-18Matthew Clarke

In [14]:
# If player1 and player2 beat player3 and player4 then:
# trueskill.rate([(player1,player2),(player3,player4)],weights=[(player1%,player2%),(player3%,player4%)])
# Assuming player1 spent player1% of the game playing, etc.

data_cut['Played at home'] = (data_cut['Playing for']==data_cut['Home team'])
data_cut['Home win'] = (data_cut['Home score']>data_cut['Away score'])
data_cut['Is draw'] = (data_cut['Home score']==data_cut['Away score'])
data_cut.head()


Out[14]:
Season Round Date Home team Home score Home coach Away team Away score Away coach First name Surname ID DOB Playing for Time on Ground % Player Name PlayerUniqueID Played at home Home win Is draw
0 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Nathan Bassett 56 1976-12-07 Adelaide 100 Nathan Bassett 1976-12-07Nathan Bassett False False False
1 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Rhett Biglands 83 1977-09-04 Adelaide 61 Rhett Biglands 1977-09-04Rhett Biglands False False False
2 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Matthew Bode 90 1979-06-29 Adelaide 78 Matthew Bode 1979-06-29Matthew Bode False False False
3 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Brett Burton 68 1978-05-04 Adelaide 97 Brett Burton 1978-05-04Brett Burton False False False
4 2006 1 2006-04-03 Collingwood 77 Mick Malthouse Adelaide 111 Neil Craig Matthew Clarke 78 1973-09-18 Adelaide 64 Matthew Clarke 1973-09-18Matthew Clarke False False False

In [15]:
# If the player played at home and the home team won, the player won
# If the player did not play at home and the home team did not win, the player won
data_cut['Player win'] = data_cut['Played at home'] == data_cut['Home win']
#data_cut.drop(['Played at home','Home win'], axis = 1, inplace = True)
#Decided I do need 'Played at home' and 'Home win' for later, commented this out

In [16]:
data_cut.drop(['First name','Surname','ID','Home coach','Away coach','Player Name'],axis = 1, inplace = True)
data_cut.head()


Out[16]:
Season Round Date Home team Home score Away team Away score DOB Playing for Time on Ground % PlayerUniqueID Played at home Home win Is draw Player win
0 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1976-12-07 Adelaide 100 1976-12-07Nathan Bassett False False False True
1 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1977-09-04 Adelaide 61 1977-09-04Rhett Biglands False False False True
2 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1979-06-29 Adelaide 78 1979-06-29Matthew Bode False False False True
3 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1978-05-04 Adelaide 97 1978-05-04Brett Burton False False False True
4 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1973-09-18 Adelaide 64 1973-09-18Matthew Clarke False False False True

In [17]:
data_cut['Game Code'] = data_cut['Date']+data_cut['Home team']+data_cut['Away team']

In [18]:
len(data_cut['Game Code'].unique())
# Data for 2148 games?
# 8 games per round, 22 rounds, 10 years gives 1760 games
# Finals must be included?


Out[18]:
2148

In [19]:
data_cut['Round'].unique()
# Confirms finals are included, need to find out what the 1L:23L are? Not sure


Out[19]:
array(['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13',
       '14', '15', '16', '17', '18', '19', '20', '21', '22', 'QF', 'PF',
       'EF', 'SF', '23', '24', 'GF', 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L,
       10L, 11L, 12L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 13L], dtype=object)

In [20]:
data_cut['Home win'] = (data_cut['Home score']>data_cut['Away score'])
data_cut.head()


Out[20]:
Season Round Date Home team Home score Away team Away score DOB Playing for Time on Ground % PlayerUniqueID Played at home Home win Is draw Player win Game Code
0 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1976-12-07 Adelaide 100 1976-12-07Nathan Bassett False False False True 2006-04-03CollingwoodAdelaide
1 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1977-09-04 Adelaide 61 1977-09-04Rhett Biglands False False False True 2006-04-03CollingwoodAdelaide
2 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1979-06-29 Adelaide 78 1979-06-29Matthew Bode False False False True 2006-04-03CollingwoodAdelaide
3 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1978-05-04 Adelaide 97 1978-05-04Brett Burton False False False True 2006-04-03CollingwoodAdelaide
4 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1973-09-18 Adelaide 64 1973-09-18Matthew Clarke False False False True 2006-04-03CollingwoodAdelaide

In [21]:
def whowon(winteam_input):
    HomeTeam = winteam_input[0]
    AwayTeam = winteam_input[1]
    HomeWin = winteam_input[2]
    if HomeWin:
        Winteam = HomeTeam
    else:
        Winteam = AwayTeam
    return Winteam

def wholost(lossteam_input):
    HomeTeam = lossteam_input[0]
    AwayTeam = lossteam_input[1]
    HomeWin = lossteam_input[2]
    if HomeWin:
        Lossteam = AwayTeam
    else:
        Lossteam = HomeTeam
    return Lossteam

        
data_cut['WinTeam']=data_cut[['Home team','Away team', 'Home win']].apply(whowon,axis=1)
data_cut['LossTeam']=data_cut[['Home team','Away team', 'Home win']].apply(wholost,axis=1)
data_cut.head()


Out[21]:
Season Round Date Home team Home score Away team Away score DOB Playing for Time on Ground % PlayerUniqueID Played at home Home win Is draw Player win Game Code WinTeam LossTeam
0 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1976-12-07 Adelaide 100 1976-12-07Nathan Bassett False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood
1 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1977-09-04 Adelaide 61 1977-09-04Rhett Biglands False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood
2 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1979-06-29 Adelaide 78 1979-06-29Matthew Bode False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood
3 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1978-05-04 Adelaide 97 1978-05-04Brett Burton False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood
4 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1973-09-18 Adelaide 64 1973-09-18Matthew Clarke False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood

In [22]:
data_cut.to_csv('data cleaned stage 1.csv')

In [23]:
data_cut = pd.read_csv('data cleaned stage 1.csv')
data_cut.sort_values(['Game Code', 'Home team','Playing for'])
data_cut.head()


Out[23]:
Unnamed: 0 Season Round Date Home team Home score Away team Away score DOB Playing for Time on Ground % PlayerUniqueID Played at home Home win Is draw Player win Game Code WinTeam LossTeam
0 0 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1976-12-07 Adelaide 100 1976-12-07Nathan Bassett False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood
1 1 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1977-09-04 Adelaide 61 1977-09-04Rhett Biglands False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood
2 2 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1979-06-29 Adelaide 78 1979-06-29Matthew Bode False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood
3 3 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1978-05-04 Adelaide 97 1978-05-04Brett Burton False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood
4 4 2006 1 2006-04-03 Collingwood 77 Adelaide 111 1973-09-18 Adelaide 64 1973-09-18Matthew Clarke False False False True 2006-04-03CollingwoodAdelaide Adelaide Collingwood

In [24]:
data_wrangled = pd.DataFrame(columns=['Game Code','Winteam Players', 'Lossteam Players','GameDraw','Winteam Players %time','Lossteam Players %time'])
data_wrangled.head()


Out[24]:
Game Code Winteam Players Lossteam Players GameDraw Winteam Players %time Lossteam Players %time

In [25]:
data_wrangled['Game Code'] = data_cut['Game Code'].unique()

In [26]:
data_wrangled.head()


Out[26]:
Game Code Winteam Players Lossteam Players GameDraw Winteam Players %time Lossteam Players %time
0 2006-04-03CollingwoodAdelaide NaN NaN NaN NaN NaN
1 2006-04-09AdelaideWest Coast NaN NaN NaN NaN NaN
2 2006-04-16MelbourneAdelaide NaN NaN NaN NaN NaN
3 2006-04-22FremantleAdelaide NaN NaN NaN NaN NaN
4 2006-04-29AdelaideWestern Bulldogs NaN NaN NaN NaN NaN

In [27]:
#gamecode = data_wrangled.loc[1,'Game Code']
def packdata(gamecode):
    # Get all players who played in the game that matches gamecode
    played = data_cut.loc[data_cut['Game Code']==gamecode]
    
    # Split all players into two DataFrames: those in the home team and those in the away team
    home = played.loc[played['Played at home']==True]
    away = played.loc[played['Played at home']==False]
    
    # Check if it was a home win - returns a Boolean
    homewin = played['Home win'].unique()[0]
    
    # Check if it was a draw - returns a Boolean
    isdraw = played['Is draw'].unique()[0]
    
    # Create two new DataFrames based on whether or not the home team won
    # If it was a draw, it will assume that the away team won BUT the IsDraw flag also exists
    if homewin:
        won = home
        lost = away
    else:
        won = away
        lost = home

    # Create four new Series, splitting up the relevant columns from the won and lost dataframes
    wonplayers = won['PlayerUniqueID']
    lostplayers = lost['PlayerUniqueID']
    wonplaytime = won['Time on Ground %']
    lostplaytime = lost['Time on Ground %']
    
    # Pack this mess of Series in to an array and output that
    return [wonplayers,lostplayers,wonplaytime,lostplaytime,isdraw]

In [28]:
data_wrangled['Packed Data'] = data_wrangled['Game Code'].apply(packdata)
data_wrangled.head()


Out[28]:
Game Code Winteam Players Lossteam Players GameDraw Winteam Players %time Lossteam Players %time Packed Data
0 2006-04-03CollingwoodAdelaide NaN NaN NaN NaN NaN [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...
1 2006-04-09AdelaideWest Coast NaN NaN NaN NaN NaN [[1978-03-24Michael Braun, 1978-06-30Ben Cousi...
2 2006-04-16MelbourneAdelaide NaN NaN NaN NaN NaN [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...
3 2006-04-22FremantleAdelaide NaN NaN NaN NaN NaN [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...
4 2006-04-29AdelaideWestern Bulldogs NaN NaN NaN NaN NaN [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...

In [29]:
# Unpack the packed data
for i in range(0,len(data_wrangled.index)):
    # Unpacking the winning players
    data_wrangled['Winteam Players'][i] = data_wrangled.loc[i,['Packed Data'][0]][0]

    # Unpacking the losing players
    data_wrangled['Lossteam Players'][i] = data_wrangled.loc[i,['Packed Data'][0]][1]

    # Unpacking the winteam play %
    data_wrangled['Winteam Players %time'][i] = data_wrangled.loc[i,['Packed Data'][0]][2]

    # Unpacking the lossteam play %
    data_wrangled['Lossteam Players %time'][i] = data_wrangled.loc[i,['Packed Data'][0]][3]

    # Unpacking the "isdraw" flag
    data_wrangled['GameDraw'][i] = data_wrangled.loc[i,['Packed Data'][0]][4]

In [30]:
data_wrangled.head()


Out[30]:
Game Code Winteam Players Lossteam Players GameDraw Winteam Players %time Lossteam Players %time Packed Data
0 2006-04-03CollingwoodAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 11000 1972-07-26Nathan Buckley 11001 ... False 0 100 1 61 2 78 3 97 4 ... 11000 81 11001 59 11002 71 11003 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...
1 2006-04-09AdelaideWest Coast 78166 1978-03-24Michael Braun 78167 ... 22 1976-12-07Nathan Bassett 23 1977-... False 78166 91 78167 92 78168 79 78169 ... 22 100 23 69 24 96 25 90 26 ... [[1978-03-24Michael Braun, 1978-06-30Ben Cousi...
2 2006-04-16MelbourneAdelaide 44 1976-12-07Nathan Bassett 45 1977-... 44990 1988-02-16Clint Bartram 44991 ... False 44 100 45 49 46 90 47 90 48 ... 44990 81 44991 90 44992 100 44993 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...
3 2006-04-22FremantleAdelaide 66 1976-12-07Nathan Bassett 67 1977-... 27808 1976-03-01Peter Bell 27809 ... False 66 100 67 66 68 94 69 95 70 ... 27808 100 27809 69 27810 88 27811 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...
4 2006-04-29AdelaideWestern Bulldogs 88 1976-12-07Nathan Bassett 89 197... 22242 1982-08-27Matthew Boyd 22243 ... False 88 100 89 54 90 86 91 52 92... 22242 56 22243 100 22244 75 22245 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...

In [31]:
# reindexing all the series that are embedded in the dataframe for referencing purposes
# gotta use df['column'][row] for setting it because df.loc[row,'column'] doesn't work for some reason?
for i in range(0,len(data_wrangled.index)):
    winplayers = data_wrangled.loc[i,'Winteam Players']
    winplayers = winplayers.reset_index()
    winplayers = winplayers['PlayerUniqueID']
    data_wrangled['Winteam Players'][i] = winplayers

    lossplayers = data_wrangled.loc[i,'Lossteam Players']
    lossplayers = lossplayers.reset_index()
    lossplayers = lossplayers['PlayerUniqueID']
    data_wrangled['Lossteam Players'][i] = lossplayers
    
    lossplaypercent = data_wrangled.loc[i,'Lossteam Players %time']
    lossplaypercent = lossplaypercent.reset_index()
    lossplaypercent = lossplaypercent['Time on Ground %']
    data_wrangled['Lossteam Players %time'][i] = lossplaypercent
    
    winplaypercent = data_wrangled.loc[i,'Winteam Players %time']
    winplaypercent = winplaypercent.reset_index()
    winplaypercent = winplaypercent['Time on Ground %']
    data_wrangled['Winteam Players %time'][i] = winplaypercent
    
    
data_wrangled.head()


Out[31]:
Game Code Winteam Players Lossteam Players GameDraw Winteam Players %time Lossteam Players %time Packed Data
0 2006-04-03CollingwoodAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 0 1972-07-26Nathan Buckley 1 ... False 0 100 1 61 2 78 3 97 4 ... 0 81 1 59 2 71 3 68 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...
1 2006-04-09AdelaideWest Coast 0 1978-03-24Michael Braun 1 1978... 0 1976-12-07Nathan Bassett 1 1977-... False 0 91 1 92 2 79 3 98 4 ... 0 100 1 69 2 96 3 90 4 ... [[1978-03-24Michael Braun, 1978-06-30Ben Cousi...
2 2006-04-16MelbourneAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 0 1988-02-16Clint Bartram 1 1... False 0 100 1 49 2 90 3 90 4 ... 0 81 1 90 2 100 3 100 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...
3 2006-04-22FremantleAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 0 1976-03-01Peter Bell 1 19... False 0 100 1 66 2 94 3 95 4 ... 0 100 1 69 2 88 3 70 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...
4 2006-04-29AdelaideWestern Bulldogs 0 1976-12-07Nathan Bassett 1 1977-... 0 1982-08-27Matthew Boyd 1 ... False 0 100 1 54 2 86 3 52 4 ... 0 56 1 100 2 75 3 76 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi...

In [32]:
for i in range(0,len(data_wrangled.index)):
    # Check the winteam player counts
    winteam_players = data_wrangled.loc[i,'Winteam Players']
    data_wrangled.loc[i,'Winteam Player Count'] = int(len(winteam_players))
    
    # Check the lossteam player counts
    lossteam_players = data_wrangled.loc[i,'Lossteam Players']
    data_wrangled.loc[i,'Lossteam Player Count'] = int(len(lossteam_players))
    
data_wrangled.head()


Out[32]:
Game Code Winteam Players Lossteam Players GameDraw Winteam Players %time Lossteam Players %time Packed Data Winteam Player Count Lossteam Player Count
0 2006-04-03CollingwoodAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 0 1972-07-26Nathan Buckley 1 ... False 0 100 1 61 2 78 3 97 4 ... 0 81 1 59 2 71 3 68 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi... 22.0 22.0
1 2006-04-09AdelaideWest Coast 0 1978-03-24Michael Braun 1 1978... 0 1976-12-07Nathan Bassett 1 1977-... False 0 91 1 92 2 79 3 98 4 ... 0 100 1 69 2 96 3 90 4 ... [[1978-03-24Michael Braun, 1978-06-30Ben Cousi... 22.0 22.0
2 2006-04-16MelbourneAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 0 1988-02-16Clint Bartram 1 1... False 0 100 1 49 2 90 3 90 4 ... 0 81 1 90 2 100 3 100 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi... 22.0 22.0
3 2006-04-22FremantleAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 0 1976-03-01Peter Bell 1 19... False 0 100 1 66 2 94 3 95 4 ... 0 100 1 69 2 88 3 70 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi... 22.0 22.0
4 2006-04-29AdelaideWestern Bulldogs 0 1976-12-07Nathan Bassett 1 1977-... 0 1982-08-27Matthew Boyd 1 ... False 0 100 1 54 2 86 3 52 4 ... 0 56 1 100 2 75 3 76 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi... 22.0 22.0

In [33]:
# So we have some games where the winteam player count is zero
# Should probably drop those games
# More accurately, there should always be 22 players in either winteam or lossteam
data_wrangled = data_wrangled[data_wrangled['Winteam Player Count'] == 22.0]
data_wrangled = data_wrangled[data_wrangled['Lossteam Player Count'] == 22.0]
print(data_wrangled['Winteam Player Count'].unique())
print(data_wrangled['Lossteam Player Count'].unique())


[ 22.]
[ 22.]

In [34]:
# Reindexing data_wrangled because you need to do that after you drop values
data_wrangled.reset_index()
data_wrangled.head()


Out[34]:
Game Code Winteam Players Lossteam Players GameDraw Winteam Players %time Lossteam Players %time Packed Data Winteam Player Count Lossteam Player Count
0 2006-04-03CollingwoodAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 0 1972-07-26Nathan Buckley 1 ... False 0 100 1 61 2 78 3 97 4 ... 0 81 1 59 2 71 3 68 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi... 22.0 22.0
1 2006-04-09AdelaideWest Coast 0 1978-03-24Michael Braun 1 1978... 0 1976-12-07Nathan Bassett 1 1977-... False 0 91 1 92 2 79 3 98 4 ... 0 100 1 69 2 96 3 90 4 ... [[1978-03-24Michael Braun, 1978-06-30Ben Cousi... 22.0 22.0
2 2006-04-16MelbourneAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 0 1988-02-16Clint Bartram 1 1... False 0 100 1 49 2 90 3 90 4 ... 0 81 1 90 2 100 3 100 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi... 22.0 22.0
3 2006-04-22FremantleAdelaide 0 1976-12-07Nathan Bassett 1 1977-... 0 1976-03-01Peter Bell 1 19... False 0 100 1 66 2 94 3 95 4 ... 0 100 1 69 2 88 3 70 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi... 22.0 22.0
4 2006-04-29AdelaideWestern Bulldogs 0 1976-12-07Nathan Bassett 1 1977-... 0 1982-08-27Matthew Boyd 1 ... False 0 100 1 54 2 86 3 52 4 ... 0 56 1 100 2 75 3 76 4 ... [[1976-12-07Nathan Bassett, 1977-09-04Rhett Bi... 22.0 22.0

In [35]:
# Do this for every game
iterations = len(data_wrangled.index)

for i in range(0,iterations):
    # create some empty dicts+lists, or if they exist clear them
    winplayers = {}
    lossplayers = {}
    winplaypercent = []
    lossplaypercent = []
    
    for j in range(0,22):
        try:
        # Extract all the winning/losing players and their percent playtime
            winplayers[data_wrangled.loc[i,'Winteam Players'][j]]=playerskill[data_wrangled.loc[i,'Winteam Players'][j]]
            lossplayers[data_wrangled.loc[i,'Lossteam Players'][j]]=playerskill[data_wrangled.loc[i,'Lossteam Players'][j]]
            winplaypercent.append(data_wrangled.loc[i,'Winteam Players %time'][j])
            lossplaypercent.append(data_wrangled.loc[i,'Lossteam Players %time'][j])
        except KeyError:
            # KeyErrors are really annoying and I couldn't fix one here that kept popping up so I just used the Except clause
            # This is probably bad but I think it only happened a couple of times in all of the games so I'm not too worried
            None
    try:
        IsDraw = data_wrangled.loc[i,'GameDraw']
        if IsDraw:
            teamranks = ([1 for x in range(0,22)],[1 for x in range(0,22)])
        else:
            teamranks = ([0 for x in range(0,22)],[1 for x in range(0,22)])
        winplaypercent[:]=[x/100.0 for x in winplaypercent]
        lossplaypercent[:]=[x/100.0 for x in lossplaypercent]
        rated_teams = [winplayers,lossplayers]
        winplayers,lossplayers = ts.rate(rated_teams,weights = [winplaypercent,lossplaypercent], ranks = teamranks)
        playerskill.update(winplayers)
        playerskill.update(lossplayers)
    except KeyError:
        # This was included for the same reason as above: to ignore the KeyErrors that kept popping up
        # Also the fact that it was pretty late and I just wanted it to work
        None

In [36]:
# Break up the dictionary in to a dataframe for analysis
playerskill_df = DataFrame(playerskill.items(),columns=['Player','Rating'])
for i in range(0,len(playerskill_df.index)):
    playerskill_df.loc[i,'mu']=playerskill_df['Rating'][i].mu
    playerskill_df.loc[i,'sigma']=playerskill_df['Rating'][i].sigma
    playerskill_df.loc[i,'skill99CI'] = playerskill_df['Rating'][i].mu - 3*playerskill_df['Rating'][i].sigma
    playerskill_df.loc[i,'Player Name'] = playerskill_df.loc[i,'Player'][10:]
    playerskill_df.loc[i,'Player DOB'] = playerskill_df.loc[i,'Player'][:10]

In [37]:
# Write the playerskill dataframe to csv for further analysis if required
playerskill_df.to_csv('player skill 2006-2016.csv')