Weighting stats for pre-draft fantasy rankings

Chojin

Tiny Panger...
Apr 6, 2011
4,301
573
I know there's a separate forum for fantasy hockey, but this particular topic seems more suited to this forum.

I'm trying to produce rankings for skaters in preparation for the draft in my H2H fantasy league. Each category is worth a single win, so in that respect, goals are no more important than, say, hits. However, actual goals are clearly more important than hits, not only due to the relative scarcity of goal-scorers as compared to guys who hit a lot, but also due to the impact a goal has on other categories. For example, a goal also gives you a point, a shot on goal (probably), and will likely improve +/- as well. And a PPG is ever better, as it improves goals, points, shots, and PP points.

So, assuming my rankings are just the dot product of a player's average stats and a vector of weights, what would be a good method of weighting? Initialize each category to 1, and then increment each category by the number of other categories it impacts? Maybe take into account that some stats affect others in varying amounts, e.g. a shot on goal should increase goals by an amount equal to the player's shooting percentage?
 

Frank the Tank

The Godfather
Aug 15, 2005
15,920
12,604
Chicago, IL
Since each category is worth 1 win it would just be the sum of a player's production for each category, where the value of the player's production in each category is expressed as a percentage of the maximum value achieved.

For example, Ovechkin would be worth 1 in goals, shots, powerplay goals, and perhaps a 0.8 in hits (the number of his hits/game divided by Matt Martin's hits/game), and so on. If you add up all the category values he would then be assigned, for example, a value of 6.8 out of 8 (assuming you had 8 categories). You could then rank players based on their total contribution from past seasons; however, prediction of future production would be limited by past performance.

This requires collection of each player's data for each of the categories, but it is readily available from numerous sources.
 

Chojin

Tiny Panger...
Apr 6, 2011
4,301
573
Since each category is worth 1 win it would just be the sum of a player's production for each category, where the value of the player's production in each category is expressed as a percentage of the maximum value achieved.

That's a good idea. I was stuck on the idea of category ranks following the natural numbers, but obviously that doesn't take into account that top goal scorer #27 could score twice as many goals as #28, or that shot leader #50 might only have 10 more shots per season that #100. Obviously, your idea is much more reasonable.

I wonder if it would help to take into account the distribution of values as well (I imagine most categories fit a normal distribution, rather than uniform), but that might be overthinking it.

EDIT: I should mention that I already have a jupyter notebook crunching the last 3 years of stats from War on Ice, with more recent seasons having a more weight than earlier ones. So I'm already fairly fair along.
 
Last edited:

Doctor No

Registered User
Oct 26, 2005
9,250
3,971
hockeygoalies.org
In addition to what's already been said well above, you need to consider each category relative to what's freely available on the waiver wire.

For instance, if Ovechkin will get you 52 goals, and you can get 10 goals from a player freely-available, that may not be worth as much as a player who can get you 210 hits where the freely-available level is 10 hits. Hypothetically (and highly sensitive to your categories and league size).
 

Chojin

Tiny Panger...
Apr 6, 2011
4,301
573
In addition to what's already been said well above, you need to consider each category relative to what's freely available on the waiver wire.

For instance, if Ovechkin will get you 52 goals, and you can get 10 goals from a player freely-available, that may not be worth as much as a player who can get you 210 hits where the freely-available level is 10 hits. Hypothetically (and highly sensitive to your categories and league size).

Sort of like "wins above replacement", then. Makes sense, as long as something like the Yahoo average draft position gets me close enough to projecting who's on the waiver wire post-draft.
 

flountown

Registered User
Dec 30, 2008
1,434
35
Philadelphia
Since each category is worth 1 win it would just be the sum of a player's production for each category, where the value of the player's production in each category is expressed as a percentage of the maximum value achieved.

For example, Ovechkin would be worth 1 in goals, shots, powerplay goals, and perhaps a 0.8 in hits (the number of his hits/game divided by Matt Martin's hits/game), and so on. If you add up all the category values he would then be assigned, for example, a value of 6.8 out of 8 (assuming you had 8 categories). You could then rank players based on their total contribution from past seasons; however, prediction of future production would be limited by past performance.

This requires collection of each player's data for each of the categories, but it is readily available from numerous sources.

This is how I put together my ranks last year.

I basically started with combining Yahoo and ESPN's rankings to create my player pool, and then brought in stats for each category indexed to the highest value player in each category. Then I added them up. I also did the same with draft rankings, ADP and projections to better account for rookies that don't have previous year stats to rely upon.

Also, on a separate sheet, I'd do the same stat categories on a per game basis to highlight players who won't show up near the guys with full season stats and then adjust my rankings accordingly.
 

The Old Master

come and take it.
Sep 27, 2004
17,597
4,878
burgh
This is how I put together my ranks last year.

I basically started with combining Yahoo and ESPN's rankings to create my player pool, and then brought in stats for each category indexed to the highest value player in each category. Then I added them up. I also did the same with draft rankings, ADP and projections to better account for rookies that don't have previous year stats to rely upon.

Also, on a separate sheet, I'd do the same stat categories on a per game basis to highlight players who won't show up near the guys with full season stats and then adjust my rankings accordingly.

I'm just too lazy.....could you just send me a copy. :)
 

geofff

Registered User
Aug 12, 2014
252
245
www.makeitsostudios.com
Years ago i used to make an excel spreadsheet every year calculating players' fantasy values. I would take, lets say the top-200 scorers from last year, and rank each player out of 100 for each stat-category similar to what you guys were talking about above. For the base number (worth 0 points), I would use the lowest value out of those 200 players on my list. I should mention that I did the stats on a per-game basis to be fair to players who were hurt last year.

The points above waiver replacement is a better idea than what I did, though it may be difficult to calculate what number that is. Maybe I'll try something like that this year.

Another thing I would do is give players extra points based on their age. The idea is that a younger player is more likely to improve than an older player.

Also, (maybe you are already doing this but) it would be a good idea to compare players only to players of their own position.
 

geofff

Registered User
Aug 12, 2014
252
245
www.makeitsostudios.com
Actually I'm not sure that comparing to the top-waiver replacement actually works. First of all, a hypothetical player with stats equal to the top waiver player for each category would actually be a one of the top fantasy players in the game. And for a stat like PIM, the top waiver replacements (like Steve Downie) will be much higher than the top drafted player.

Maybe a better base value would be the average of the top-10 waiver players in all of their stats. (using the same 10 players for every category) This way you are comparing to the average waiver replacement.

EDIT: so i just made up a quick excel sheet. I used all per-game stats. I compared the top drafted player, ie for pims i used Byfuglien (124/69) worth 1.0 and for the base stat i used an average of the consensus top-10 available players in my 12-man default yahoo league (Anders Lee, Mikko Koivu.... Pominville), which I eyeballed. For PIM I used (35/80) worth 0.0.

Stats used (G, A, +/-, PIM, PPP, SOG). Also I ignored differences in the players' positions.

Here are the top results:
(I'm surprised Shattenkirk is so high, but looking closer, he put up some really good stats in only 56 games)

Alex Ovechkin, LW WSH 3.26
Sidney Crosby, C PIT 2.7
Kevin Shattenkirk, D STL 2.63
Tyler Seguin, C DAL 2.56
John Tavares, C NYI 2.54
Jakub Voracek, RW PHI 2.44
Evgeni Malkin, C PIT 2.38
Patrick Kane, RW CHI 2.29
Vladimir Tarasenko, RW STL 2.29
Kris Letang, D PIT 2.27
Jamie Benn, LW DAL 2.22
Pavel Datsyuk, C DET 2.19
Claude Giroux, C PHI 2.16
Max Pacioretty, LW MTL 2.06
Tyler Johnson, C TB 2.05
Rick Nash, LW NYR 2.02
Nick Foligno, LW CBJ 2.01
Erik Karlsson, D OTT 1.96
Joe Pavelski, C SJ 1.95
Zach Parise, LW MIN 1.93
Dustin Byfuglien, D WPG 1.87
Nicklas Backstrom, C WSH 1.82
Blake Wheeler, RW WPG 1.79
Alexander Steen, LW STL 1.77
Steven Stamkos, C TB 1.71
Patric Hornqvist, RW PIT 1.7
Ryan Getzlaf, C ANA 1.64
Jonathan Toews, C CHI 1.57
Nikita Kucherov, RW TB 1.57
Daniel Sedin, LW VAN 1.55
 
Last edited:

flountown

Registered User
Dec 30, 2008
1,434
35
Philadelphia
(I'm surprised Shattenkirk is so high, but looking closer, he put up some really good stats in only 56 games)

I am glad two of my keepers fall onto this list. Shattenkirk is ridiculous is my league where we also take into account Def Points as it's own category.

It really ups the value of D in my league as high scoring defensemen can bolster offensive production across the normal categories and dominate a separate category.

Also, to the guy who asked for my sheet above, I'm working on it now since my draft is tomorrow. I'll try and post it later if I manage to get it all done.
 

Chojin

Tiny Panger...
Apr 6, 2011
4,301
573
The categories in my league are goals, points, PIM, PPG, PPP, shots, faceoffs won, and hit. I took a weighted average of the past three seasons (weighting each season twice as much as the previous one, as well as projecting the 2012-2013 season to 82 games), re-normalized each category to be in the range [0, 1], and then took the sum. Here's what I got for the top 25 forwards:

Code:
[FONT="Courier New"]
[B]Rank[/B]  [B]Name[/B]              [B]Pos[/B] [B]Rating[/B]
1     Alex Ovechkin     LR  6.306888
2     Claude Giroux     C   5.198937
3     Sidney Crosby     C   4.864192
4     John Tavares      C   4.789979
5     Joe Pavelski      RC  4.688597
6     Nicklas Backstrom C   4.396060
7     Jamie Benn        L   4.290735
8     David Backes      RC  4.279325
9     Steven Stamkos    CR  4.118916
10    Tyler Seguin      CR  3.995516
11    Patrice Bergeron  C   3.978793
12    Ryan Getzlaf      C   3.941361
13    Ryan Johansen     C   3.933467
14    Jonathan Toews    C   3.861616
15    Evgeni Malkin     CR  3.855175
16    Wayne Simmonds    RL  3.795869
17    Ryan Kesler       C   3.743561
18    Eric Staal        CL  3.740644
19    Jakub Voracek     R   3.713681
20    Andrew Ladd       L   3.659758
21    Scott Hartnell    L   3.652263
22    Tomas Plekanec    C   3.636187
23    Kyle Turris       C   3.612383
24    Chris Kunitz      L   3.593908
25    Anze Kopitar      C   3.587480
[/FONT]

There are some surprising results here, such as Tomas Plekanec at 22, and Taylor Hall and Vladimir Tarasenko ranked much lower than I'd have thought at at 72 and 76, respectively.

Obviously, these rankings reward all-around players; I'm wondering if that's the right thing to do though, given that some categories are harder to draft for than others. For example, all other things being equal, should I rank the best goalscorer the same as the best hitter, given that goals are much more scarce than hits?

If you're wondering what my defense rankings look like, here they are (not taking into account faceoffs):

Code:
[FONT="Courier New"]
[B]Rank[/B] [B]Name[/B]                   [B]Pos[/B]  [B]Rating[/B]
1    Dustin Byfuglien       D    5.772978
2    P K..Subban            D    5.530674
3    Erik Karlsson          D    5.439250
4    Oliver Ekman-Larsson   D    5.386375
5    Shea Weber             D    5.164734
6    Brent Burns            DR   5.067764
7    Drew Doughty           D    4.339538
8    Keith Yandle           D    4.207632
9    Marek Zidlicky         D    4.047359
10   Justin Faulk           D    3.998919
11   Mark Streit            D    3.903106
12   Aaron Ekblad           D    3.885432
13   Alexander Edler        D    3.870565
14   James Wisniewski       D    3.863755
15   Kris Letang            D    3.833068
16   Dion Phaneuf           D    3.819546
17   Niklas Kronwall        D    3.810890
18   Andrei Markov          D    3.787753
19   Jack Johnson           D    3.787695
20   Kevin Shattenkirk      D    3.736517
21   Zdeno Chara            D    3.711717
22   John Carlson           D    3.682570
23   Dennis Wideman         D    3.638048
24   Mike Green             D    3.586476
25   Cody Franson           D    3.576892
[/FONT]
 

Kane One

Moderator
Feb 6, 2010
43,358
11,041
Brooklyn, New NY
How do you account for leagues where one category awards more points than another? Let's data goal is 5 points and an assist is 3. Can someone fudge with the above formula to include an example like this?
 

Chojin

Tiny Panger...
Apr 6, 2011
4,301
573
How do you account for leagues where one category awards more points than another? Let's data goal is 5 points and an assist is 3. Can someone fudge with the above formula to include an example like this?

I'd assume that you could just take the weighted sum of the categories. Is there a reason why that couldn't work?
 

flountown

Registered User
Dec 30, 2008
1,434
35
Philadelphia
How do you account for leagues where one category awards more points than another? Let's data goal is 5 points and an assist is 3. Can someone fudge with the above formula to include an example like this?

I think that makes your life even easier, as you know exactly the worth of 1 goal vs. 1 assist vs. 1 win vs. 1 save, etc.

Imagine it as in Fantasy Football. You can basically evaluate how many points it took to win match ups the prior years, and then build a team based off projections in yards, TDs, PPR, etc. to build a roster that is predicted to score the average points per week you came up with based on your league's historical data.
 

Ad

Upcoming events

Ad

Ad