Elo Ratings#

[1]:
import penaltyblog as pb
[2]:
elo = pb.ratings.Elo()

New Teams Default to 1500 Elo#

[3]:
elo.get_team_rating("Team A"), elo.get_team_rating("Team B")
[3]:
(1500.0, 1500.0)

Predict Match Results#

[4]:
elo.calculate_match_probabilities("Team A", "Team B")
[4]:
{'home_win': np.float64(0.5060806246811322),
 'draw': np.float64(0.20932932618252026),
 'away_win': np.float64(0.28459004913634756)}

Update Ratings#

[5]:
elo.update_ratings("Team A", "Team B", 0)

Get New Ratings#

[6]:
elo.get_team_rating("Team A")
[6]:
1507.1987000039423