Saturday, September 14, 2019

Elo-based approach to point-scoring fantasy

One of the challenges of Elo rating and ranking of hockey players with regard to fantasy sports is that the given rating only characterizes the given stat it describes. Many fantasy games - head-to-head and rotisserie require a player, or a team to excel at a variety of such stats, and the superposition of many ratings is neither easy nor necessarily answering the question of which player is preferable over another.

However, in points-based fantasy, where separate single-stat scores combine through a formula into a performance is naturally and relatively easily evaluated through Elo through the following steps:


  1. For a season three years ago (you can go further but you don't really need to) calculate the performance of each player in every game.
  2. Calculate the average, the best and the worst performances, averaged over each six consecutive games (so that we get about 13-14 rating time points)
  3. Set the half-span of the performance range according to this formula:
$s = max (max-avg, avg-min)$

Now, for each game, we accumulate the performances by six games, once a player has played six games, we apply his average performance over these six:
  • We can scale all the performance $P$ into a [0,1] score $S$:
$S = 0.5 + (P-avg)/(2*s)$
  • And then translate the performance into the change of the rating:
$ΔR = N_{games} * 32 * (R - 1 / (1 + 10^((2500-R_0) /200))) $
$R = R_o + ΔR$

The initial rating $R_0$ is set to 2500, too. As the rating of the player grows, it becomes much harder to maintain, as it falls, it's easier to climb back up. The averages become rolling and are being updated after each game day.

And then from each rating at the end of the calculation, we can derive the expected performance in a single game in two steps:

Expected result:
$R_x = 1 / (1 + 10^((2500-R_0) /200))$
Expected performance:
$P_x = avg + 2*s(R_x-0.5)$

The total performance would be the expected performance multiplied by 82 games.

Please note, that we do not need to take into account the opponents the players are going to face over a long span of games, it's safe enough assume the opponents are just average.

Here are the top ten lists per position when ranking the points system used by Daily Yahoo Fantasy:
Goalies: × wins + 0.6 × saves - 3 × ga + 5 × SHO
Skaters: × G + 4 × A + 2 × +/- + 0.9 × Sh + 1 × B + 2 × PPP

Goaltenders
NameEloExp.
BEN BISHOP2,6301217.9
DARCY KUEMPER2,6191153.0
ANDREI VASILEVSKIY2,6171141.2
SERGEI BOBROVSKY2,6101100.2
MATT MURRAY2,6101099.1
ROBIN LEHNER2,6091092.3
PHILIPP GRUBAUER2,6071077.7
CONNOR HELLEBUYCK2,6051066.1
ANTTI RAANTA2,6001036.6
PETR MRAZEK2,6001035.8

Defense
NameEloExp.
MARK GIORDANO2,559781.2
ERIK KARLSSON2,558773.4
VICTOR HEDMAN2,557768.6
BRENT BURNS2,556762.6
KRIS LETANG2,553742.2
ALEXANDER EDLER2,551728.3
JOHN CARLSON2,549714.7
ERIK GUSTAFSSON2,547704.8
TYSON BARRIE2,547702.2
SHEA WEBER2,542671.3

Right Wing
NameEloExp.
NIKITA KUCHEROV2,593995.3
ALEXANDER RADULOV2,581923.4
PATRICK KANE2,577892.6
VLADIMIR TARASENKO2,573868.0
DAVID PASTRNAK2,571858.4
ANTHONY MANTHA2,553741.2
MATS ZUCCARELLO2,545689.6
MARK STONE2,540658.1
MIKKO RANTANEN2,535627.2
REILLY SMITH2,535624.5

Left Wing
NameEloExp.
BRAD MARCHAND2,581919.6
JONATHAN HUBERDEAU2,571855.5
TAYLOR HALL2,568836.9
ALEX OVECHKIN2,563809.0
GABRIEL LANDESKOG2,558775.6
VIKTOR ARVIDSSON2,543679.6
MAX DOMI2,542668.7
TEUVO TERAVAINEN2,539651.8
JOHNNY GAUDREAU2,537641.0
ARTEMI PANARIN2,536632.6

Center
NameEloExp.
STEVEN STAMKOS2,579905.9
ALEKSANDER BARKOV2,577896.6
TYLER SEGUIN2,576890.7
NATHAN MACKINNON2,573870.9
PATRICE BERGERON2,572864.1
CONNOR MCDAVID2,567830.5
LEON DRAISAITL2,566828.2
JOHN TAVARES2,561792.7
SIDNEY CROSBY2,557769.7
DYLAN LARKIN2,553742.6

The positions are projected as provided by the NHL player files. Since your fantasy game may have players in differing positions, modify the lists accordingly.

We provide a service of ranking all players according to any formula. For a small fee paid via paypal (\$1) you'll receive a full CSV list of players with their ratings and 82-game expected score. For any extra formula add \$0.5 . For example, for \$3 you can get five formulas processed. Contact us on Twitter or by email for more details.

Please note that this list is less applicable for the Daily Fantasy itself because of the budget limitations.






No comments:

Post a Comment