elo v2.1.1


Monthly downloads



Elo Ratings

A flexible framework for calculating Elo ratings and resulting rankings of any two-team-per-matchup system (chess, sports leagues, 'Go', etc.). This implementation is capable of evaluating a variety of matchups, Elo rating updates, and win probabilities, all based on the basic Elo rating system. It also includes methods to benchmark performance, including logistic regression and Markov chain models.


The elo Package

CRAN_Status_Badge Total Downloads Downloads Travis-CI Build Status

The elo package includes functions to address all kinds of Elo calculations.

  • elo.prob(): calculate probabilities based on Elo scores

  • elo.update(): calculate Elo updates

  • elo.calc(): calculate post-update Elo values

  • elo.run() and elo.run2(): calculate "running" Elo values for a series of matches

It also includes comparable models for accuracy (auc, MSE) benchmarking:

  • elo.glm() which fits a logistic regression model

  • elo.markovchain() which fits a Markov chain model

  • elo.colley() for a method based on the Colley matrix.

  • elo.winpct() which fits a model based on win percentage

Please see the vignette for examples.

Naming Schema

Most functions begin with the prefix "elo.", for easy autocompletion.

  • Vectors or scalars of Elo scores are denoted "elo.A" or "elo.B".

  • Vectors or scalars of wins by team A are denoted by "wins.A".

  • Vectors or scalars of win probabilities are denoted by "p.A".

  • Vectors of team names are denoted "team.A" or "team.B".

Functions in elo

Name Description
elo.markovchain elo.markovchain
elo.mse Calculate the mean square error
elo The Elo Package
elo.colley elo.colley
elo.model.frame Interpret formulas in elo functions
elo.prob Elo functions
elo.glm elo.glm
elo.mov Create a "margin of victory" column
favored.elo Classify teams that are favored to win
fitted.elo Extract model values
elo.update Elo functions
elo.winpct elo.winpct
predict.elo Make Predictions on an elo Object
tournament tournament: Mock data for examples
players Details on elo formulas and the specials therein
summary.elo Summarize an elo Object
elo.run elo.run
elo.run.helpers Helper functions for elo.run
score Create a 1/0/0.5 win "indicator"
rank.teams Rank teams
auc.elo Calculate AUC on an elo.run object
elo.calc Elo functions
No Results!

Vignettes of elo

No Results!

Last month downloads


Date 2020-01-14
VignetteBuilder knitr
License GPL (>= 2)
URL https://github.com/eheinzen/elo, https://cran.r-project.org/package=elo, https://eheinzen.github.io/elo/
BugReports https://github.com/eheinzen/elo/issues
RoxygenNote 7.0.2
LazyData true
LinkingTo Rcpp
Encoding UTF-8
NeedsCompilation yes
Packaged 2020-01-14 16:28:30 UTC; m144326
Repository CRAN
Date/Publication 2020-01-14 17:00:03 UTC

Include our badge in your README