Towards A Better Way To Rank Players

It’s not a secret – I hate rankings. I’ve been writing this post once a winter since 2014. I’m pleased to finally see a few others in the industry publicly eschewing the rankings-based mentality. My quest against rankings is finally gaining some momentum. So, contrarian that I am, let’s work on making rankings actually, uh, work.

There are many reasons why traditional attempts at rankings are broken. The biggest is simply this – they’re one size fits all. Running a team is about managing categories. Rankings aggregate all that information ordinally in perhaps the least useful way conceivable. Attempts to use tiers scarcely help matters, especially since the location of those tiers often has more to do with name recognition than expected output.

A projection-based rankings system isn’t sufficiently novel, but it does at least take us a step in the right direction. And it’s what we’ll use for today’s thought experiment as we try to take a second step along the path towards relevance.

Let’s start with the “best” way to build a team – know everything. If all information is fully internalized, then every decision can be made to maximize roto-output. In reality, the closest we can get to that is “be a fantasy professional.” And that’s impractical for most of you out there in Readerland.

It strikes me that categorizing players by position by profile might offer a reasonable middle ground. We’ll still have rankings of a sort but they’ll be bucketed in a way that helps us to manage our statistical needs.

I’ve taken the 56 top-rated second basemen by Steamer and ATC projections. I’ve averaged every category which is technically incorrect for batting average and OBP categories (AB and PA projections are close enough not to fuss around).

The first step is sorting each category. Behold, the ugliest table! (Apologies, this doesn’t quite fit and isn’t sortable. Ideally, you want this information in separate tables – I have each in their own tab – but that looks even worse for our purposes. I removed plate appearances for a hint of cleanliness.)

Second Basemen Categorical Rankings
Name AVGR Name AVGRBI Name AVGHR Name AVGSB Name AVGAVG Name AVGOBP
Jose Altuve 98.5 Javier Baez 98 Gleyber Torres 33.5 Adalberto Mondesi 48 Luis Arraez 0.3115 Luis Arraez 0.37
DJ LeMahieu 96 Gleyber Torres 97 Javier Baez 31.5 Jonathan Villar 33 Howie Kendrick 0.308 Jose Altuve 0.363
Ozzie Albies 93 Jose Altuve 87.5 Max Muncy 30 Whit Merrifield 22 Jose Altuve 0.2985 Max Muncy 0.3605
Yoan Moncada 90.5 Keston Hiura 87.5 Rougned Odor 28.5 Dee Gordon 18 Ketel Marte 0.2955 Ketel Marte 0.36
Whit Merrifield 89 Yoan Moncada 83 Keston Hiura 28.5 Tommy Edman 17.5 Jeff McNeil 0.292 Howie Kendrick 0.36
Jeff McNeil 88.5 Max Muncy 81.5 Yoan Moncada 26 Garrett Hampson 17 DJ LeMahieu 0.29 Jeff McNeil 0.3525
Javier Baez 88 Ozzie Albies 81 Jonathan Schoop 25 Kolten Wong 16 Daniel Murphy 0.2885 Cavan Biggio 0.352
Ketel Marte 88 Ketel Marte 80.5 Jose Altuve 24 Ozzie Albies 15.5 Ozzie Albies 0.287 Cesar Hernandez 0.3505
Gleyber Torres 87.5 Rougned Odor 77.5 Ozzie Albies 23.5 Cavan Biggio 14.5 Hanser Alberto 0.2865 DJ LeMahieu 0.347
Max Muncy 86 DJ LeMahieu 75 Ketel Marte 23.5 Niko Goodrum 14 Whit Merrifield 0.2845 Kolten Wong 0.344
Keston Hiura 81.5 Jonathan Schoop 74.5 Brandon Lowe 23.5 Javier Baez 13.5 Wilmer Flores 0.2835 Ozzie Albies 0.343
Cavan Biggio 78 Ryan McMahon 74 Michael Chavis 21 Keston Hiura 12.5 Starlin Castro 0.281 Daniel Murphy 0.34
Jonathan Villar 78 Brandon Lowe 73.5 Ryan McMahon 20.5 Rougned Odor 12 David Fletcher 0.2805 Yoan Moncada 0.3395
Adalberto Mondesi 76 Daniel Murphy 73.5 Cavan Biggio 20.5 Mauricio Dubon 12 Jose Peraza 0.2785 Adam Frazier 0.3385
Cesar Hernandez 73 Jeff McNeil 72.5 Jeff McNeil 20 Yoan Moncada 11.5 Adam Frazier 0.276 Tommy La Stella 0.3385
Rougned Odor 71.5 Adalberto Mondesi 71.5 DJ LeMahieu 19 Jose Altuve 11 Tommy Edman 0.276 Gleyber Torres 0.338
Brandon Lowe 70.5 Robinson Cano 69.5 Robinson Cano 18.5 Cesar Hernandez 10 Tommy La Stella 0.276 Whit Merrifield 0.337
Niko Goodrum 68.5 Starlin Castro 69.5 Jurickson Profar 18 Gavin Lux 9.5 Cesar Hernandez 0.2745 Brock Holt 0.3365
Luis Arraez 67 Cavan Biggio 67.5 Daniel Murphy 18 Jose Peraza 9.5 Javier Baez 0.274 Eric Sogard 0.3355
David Fletcher 66.5 Jurickson Profar 66 Adalberto Mondesi 18 Ketel Marte 9 Keston Hiura 0.274 Keston Hiura 0.3345
Jonathan Schoop 66.5 Michael Chavis 64.5 Niko Goodrum 17.5 Shed Long 8.5 Dee Gordon 0.2735 Ryan McMahon 0.3345
Adam Frazier 66 Whit Merrifield 64 Isan Diaz 17.5 Joey Wendle 8.5 Gleyber Torres 0.2725 Luis Urias 0.3345
Ryan McMahon 65.5 Niko Goodrum 64 Jonathan Villar 16.5 Jeff McNeil 8 Robinson Cano 0.2715 David Fletcher 0.334
Daniel Murphy 65 Gavin Lux 61.5 Gavin Lux 16.5 Jurickson Profar 8 Garrett Hampson 0.2715 Gavin Lux 0.333
Gavin Lux 65 Jonathan Villar 61 Brian Dozier 16.5 David Fletcher 7.5 Nicky Lopez 0.2705 Asdrubal Cabrera 0.3325
Robinson Cano 64.5 Isan Diaz 60 Starlin Castro 16 Nicky Lopez 7.5 Gavin Lux 0.2675 Wilmer Flores 0.332
Jurickson Profar 64 Kolten Wong 58.5 Shed Long 14.5 Brandon Lowe 7 Yoan Moncada 0.267 Garrett Hampson 0.3305
Tommy Edman 64 Cesar Hernandez 57 Whit Merrifield 14 DJ LeMahieu 6 Mauricio Dubon 0.2665 Robinson Cano 0.328
Starlin Castro 63 Hanser Alberto 57 Tommy La Stella 13.5 Gleyber Torres 6 Kolten Wong 0.265 Brian Dozier 0.3275
Hanser Alberto 61.5 Luis Arraez 54.5 Wilmer Flores 13 Adam Frazier 6 Ryan McMahon 0.2645 David Bote 0.327
Kolten Wong 61.5 Adam Frazier 53 Tommy Edman 12.5 Isan Diaz 5.5 Asdrubal Cabrera 0.264 Jurickson Profar 0.3265
Isan Diaz 60.5 Tommy Edman 52.5 Mauricio Dubon 12.5 Eric Sogard 5.5 Scooter Gennett 0.2615 Jonathan Villar 0.325
Michael Chavis 58 Luis Urias 52 Luis Urias 12 Luis Arraez 5 Jonathan Schoop 0.2605 Tommy Edman 0.3245
Shed Long 58 Shed Long 51.5 Enrique Hernandez 12 Ryan McMahon 5 Jonathan Villar 0.2575 Nicky Lopez 0.3245
Luis Urias 56 Tommy La Stella 50 Hanser Alberto 11.5 Hanser Alberto 5 Eric Sogard 0.2575 Jed Lowrie 0.323
Tommy La Stella 55.5 Mauricio Dubon 50 Cesar Hernandez 11.5 Jason Kipnis 4.5 Joey Wendle 0.2575 Starlin Castro 0.322
Nicky Lopez 54.5 David Fletcher 48.5 Kolten Wong 11 Franklin Barreto 4.5 Brock Holt 0.2545 Enrique Hernandez 0.3215
Mauricio Dubon 51.5 Brian Dozier 47.5 Jason Kipnis 11 Max Muncy 4 Adalberto Mondesi 0.2525 Brandon Lowe 0.321
Brian Dozier 49.5 Nicky Lopez 45.5 Brandon Drury 11 Brian Dozier 4 Luis Urias 0.251 Jose Peraza 0.3195
Eric Sogard 44.5 Wilmer Flores 44.5 Asdrubal Cabrera 11 Luis Urias 3.5 Michael Chavis 0.249 Shed Long 0.3155
Asdrubal Cabrera 41.5 Howie Kendrick 44 Scooter Gennett 10 David Bote 3.5 Brandon Lowe 0.2485 Javier Baez 0.314
Howie Kendrick 41.5 Jason Kipnis 43.5 Howie Kendrick 10 Starlin Castro 3 Shed Long 0.2485 Hanser Alberto 0.314
Garrett Hampson 41 Asdrubal Cabrera 43 Adam Frazier 10 Michael Chavis 3 Max Muncy 0.2445 Michael Chavis 0.313
Jason Kipnis 40.5 Scooter Gennett 41 David Bote 9 Howie Kendrick 2.5 Enrique Hernandez 0.2445 Isan Diaz 0.3125
Jose Peraza 40.5 Brandon Drury 40 Franklin Barreto 8.5 Enrique Hernandez 2.5 Jurickson Profar 0.244 Jason Kipnis 0.311
Brandon Drury 39 Enrique Hernandez 39.5 Jed Lowrie 8 Brock Holt 2.5 David Bote 0.2435 Niko Goodrum 0.31
Enrique Hernandez 39 Garrett Hampson 35.5 Garrett Hampson 7.5 Jonathan Schoop 1.5 Jason Kipnis 0.2425 Joey Wendle 0.3095
Dee Gordon 38.5 Jose Peraza 35.5 Eric Sogard 7.5 Daniel Murphy 1.5 Niko Goodrum 0.242 Scooter Gennett 0.308
Scooter Gennett 38.5 David Bote 35 Nicky Lopez 6.5 Tommy La Stella 1.5 Jed Lowrie 0.2415 Dee Gordon 0.3065
Wilmer Flores 38.5 Eric Sogard 34.5 Luis Arraez 6.5 Asdrubal Cabrera 1.5 Franklin Barreto 0.2385 Mauricio Dubon 0.306
Brock Holt 34.5 Jed Lowrie 32.5 Jose Peraza 6.5 Brandon Drury 1.5 Brandon Drury 0.238 Jonathan Schoop 0.3035
David Bote 34.5 Brock Holt 32 David Fletcher 5.5 Scooter Gennett 1.5 Cavan Biggio 0.2355 Rougned Odor 0.2995
Joey Wendle 34.5 Joey Wendle 30.5 Brock Holt 5.5 Robinson Cano 1 Brian Dozier 0.235 Franklin Barreto 0.296
Jed Lowrie 32.5 Dee Gordon 30 Joey Wendle 5 Wilmer Flores 0.5 Isan Diaz 0.231 Brandon Drury 0.295
Franklin Barreto 31 Franklin Barreto 29.5 Dee Gordon 3 Jed Lowrie 0.5 Rougned Odor 0.231 Adalberto Mondesi 0.2905

This is where I start to get stuck. Beyond simply digesting all of this information wholesale, we need to figure out a way to bucket into profiles. For instance, we might call one bucket “Power.” Let’s imagine it’s a middle round and we have identified a need for home runs and/or RBI. We want to focus on the Muncies, Odors, and Biggioes of the world.

We shouldn’t completely discard other categories in our bucketing attempt. Perhaps we give a one-half weight to runs and average/OBP with a 0ne-tenth weight to stolen bases. But that’s a job for another day. We’ll focus on just pure power stats for now.

It sounds like I’ve unwittingly set us up to use something like weighted z-scores. If we have to, we can cross that bridge later. My inclination is always to use the least mathematically complex option. If you want complexity, talk to Alex, Jeff, and Podhorzer. And so, here’s one overly simplistic attempt at a Power Second Baseman bucket.

-Please note: these next two tables should be considered illustrative only.-

Second Basemen Power
Rank Name AVGR AVGRBI AVGHR AVGSB AVGAVG AVGOBP
1 Gleyber Torres 87.5 97 33.5 6 0.2725 0.338
2 Javier Baez 88 98 31.5 13.5 0.274 0.314
3 Keston Hiura 81.5 87.5 28.5 12.5 0.274 0.3345
4 Max Muncy 86 81.5 30 4 0.2445 0.3605
5 Jose Altuve 98.5 87.5 24 11 0.2985 0.363
6 Yoan Moncada 90.5 83 26 11.5 0.267 0.3395
7 Rougned Odor 71.5 77.5 28.5 12 0.231 0.2995
8 Ozzie Albies 93 81 23.5 15.5 0.287 0.343
9 Ketel Marte 88 80.5 23.5 9 0.2955 0.36
10 Jonathan Schoop 66.5 74.5 25 1.5 0.2605 0.3035
11 Brandon Lowe 70.5 73.5 23.5 7 0.2485 0.321
12 Ryan McMahon 65.5 74 20.5 5 0.2645 0.3345
13 DJ LeMahieu 96 75 19 6 0.29 0.347
14 Jeff McNeil 88.5 72.5 20 8 0.292 0.3525
15 Daniel Murphy 65 73.5 18 1.5 0.2885 0.34
16 Adalberto Mondesi 76 71.5 18 48 0.2525 0.2905
17 Cavan Biggio 78 67.5 20.5 14.5 0.2355 0.352
18 Robinson Cano 64.5 69.5 18.5 1 0.2715 0.328
19 Michael Chavis 58 64.5 21 3 0.249 0.313
20 Starlin Castro 63 69.5 16 3 0.281 0.322
21 Jurickson Profar 64 66 18 8 0.244 0.3265
22 Niko Goodrum 68.5 64 17.5 14 0.242 0.31
23 Gavin Lux 65 61.5 16.5 9.5 0.2675 0.333
24 Whit Merrifield 89 64 14 22 0.2845 0.337
25 Isan Diaz 60.5 60 17.5 5.5 0.231 0.3125
26 Jonathan Villar 78 61 16.5 33 0.2575 0.325
27 Shed Long 58 51.5 14.5 8.5 0.2485 0.3155
28 Tommy Edman 64 52.5 12.5 17.5 0.276 0.3245
29 Brian Dozier 49.5 47.5 16.5 4 0.235 0.3275
30 Tommy La Stella 55.5 50 13.5 1.5 0.276 0.3385
31 Wilmer Flores 38.5 44.5 13 0.5 0.2835 0.332

That’s home runs + RBI sorted.

Similarly, if we’re hunting speed, it’s probably a mix of stolen bases, runs, and batting average we crave. I whipped together a pseudo-speed score using just those three categories (10*AVG+3*SB+R) and came up with…

Second Basemen Speed
Rank Name AVGR AVGRBI AVGHR AVGSB AVGAVG AVGOBP
1 Adalberto Mondesi 76 71.5 18 48 0.2525 0.2905
2 Jonathan Villar 78 61 16.5 33 0.2575 0.325
3 Whit Merrifield 89 64 14 22 0.2845 0.337
4 Ozzie Albies 93 81 23.5 15.5 0.287 0.343
5 Jose Altuve 98.5 87.5 24 11 0.2985 0.363
6 Javier Baez 88 98 31.5 13.5 0.274 0.314
7 Yoan Moncada 90.5 83 26 11.5 0.267 0.3395
8 Cavan Biggio 78 67.5 20.5 14.5 0.2355 0.352
9 Keston Hiura 81.5 87.5 28.5 12.5 0.274 0.3345
10 Tommy Edman 64 52.5 12.5 17.5 0.276 0.3245
11 Ketel Marte 88 80.5 23.5 9 0.2955 0.36
12 DJ LeMahieu 96 75 19 6 0.29 0.347
13 Jeff McNeil 88.5 72.5 20 8 0.292 0.3525
14 Niko Goodrum 68.5 64 17.5 14 0.242 0.31
15 Rougned Odor 71.5 77.5 28.5 12 0.231 0.2995
16 Gleyber Torres 87.5 97 33.5 6 0.2725 0.338
17 Max Muncy 86 81.5 30 4 0.2445 0.3605
18 Gavin Lux 65 61.5 16.5 9.5 0.2675 0.333
19 Brandon Lowe 70.5 73.5 23.5 7 0.2485 0.321
20 Jurickson Profar 64 66 18 8 0.244 0.3265
21 Shed Long 58 51.5 14.5 8.5 0.2485 0.3155
22 Ryan McMahon 65.5 74 20.5 5 0.2645 0.3345
23 Isan Diaz 60.5 60 17.5 5.5 0.231 0.3125
24 Starlin Castro 63 69.5 16 3 0.281 0.322
25 Jonathan Schoop 66.5 74.5 25 1.5 0.2605 0.3035
26 Daniel Murphy 65 73.5 18 1.5 0.2885 0.34
27 Robinson Cano 64.5 69.5 18.5 1 0.2715 0.328
28 Michael Chavis 58 64.5 21 3 0.249 0.313
29 Brian Dozier 49.5 47.5 16.5 4 0.235 0.3275
30 Tommy La Stella 55.5 50 13.5 1.5 0.276 0.3385
31 Wilmer Flores 38.5 44.5 13 0.5 0.2835 0.332

For a bit of fun, locate Mondesi (16), Villar (26), and Merrifield (24) in the power table. This is a good example of how statistical need can greatly affect player value and why vanilla rankings are built to mislead their users.

It’s at this point I’ll turn things over to you. Maybe we just need better formulae? While I prefer constructive feedback, feel free to rip this completely to shreds. Just remember that everything above is illustrative. If your grief is my use of HR+RBI as a sorting criteria – yes, I agree it’s stupid. It was, however, something I could do with a couple keystrokes. We need to get the theory tight before it’s worth spending hours on Excel work.

We hoped you liked reading Towards A Better Way To Rank Players by Brad Johnson!

Please support FanGraphs by becoming a member. We publish thousands of articles a year, host multiple podcasts, and have an ever growing database of baseball stats.

FanGraphs does not have a paywall. With your membership, we can continue to offer the content you've come to rely on and add to our unique baseball coverage.

Support FanGraphs




You can follow me on twitter @BaseballATeam

newest oldest most voted
DustyColorado
Member
DustyColorado

If you want to improve the way you’re ranking players, start by listing Wander Javier #1 and go from there.

TheRuckus
Member

Daniel Castro #2

shirley temple of doom
Member
Member
shirley temple of doom

Never change my man, I don’t know the point of this but I’ve come to love it.