Fantasy Baseball Tiers (beta)

Last August, I developed a machine learning model for fantasy football which naturally ranks players into tiers.  Today, I'm introducing the model for fantasy baseball.

The model works like so. Consider an aggregation of expert analysts, each with their own sources and methodologies, ranking all players. Then pass each of their rankings into a clustering algorithm (I use one called the Gaussian mixture model), which identifies which players are ranked similarly with others, thus forming a tier. The result can be plotted on a two dimensional graph which lets people visualize the tiers the algorithm finds.

Why does it work well? First, what we're essentially doing is taking a panel of 100 experts, each of whom does thorough research every week, then average their research findings. Secondly, we're removing a flawed assumption that is inherent in any ranked list -- a ranked list assumes #1 > #2 > #3, where as in reality, sometimes #1 >>> #2 = #3. This models helps us see that.

This is all possible thanks to Fantasypros, one of the best resources available for fantasy sports. Match-ups, injuries, strength of schedule are all accounted for, since the experts account for that in their rankings.

Below are the charts and tiers for each position for current preseason rankings as of February 24, 2014.

Feel free to reach out to me with any comments or questions. You can find me on twitter here. Code will be posted soon.


1B

Tier 1: Paul Goldschmidt, Chris Davis, Prince Fielder, Joey Votto, Edwin Encarnacion, Freddie Freeman
Tier 2: Albert Pujols, Eric Hosmer, Adrian Gonzalez, Buster Posey, Allen Craig
Tier 3: Mark Trumbo, Anthony Rizzo, Carlos Santana, David Ortiz, Joe Mauer
Tier 4: Jose Dariel Abreu, Billy Butler, Matt Adams, Brandon Belt, Michael Cuddyer, Mike Napoli
Tier 5: Brandon Moss, Jonathan Lucroy, Kendrys Morales, Mark Teixeira, Victor Martinez, Daniel Murphy
Tier 6: Corey Hart, Ryan Howard, Nick Swisher
Tier 7: Justin Morneau, Chris Carter, Adam Lind, Chris Johnson, Adam LaRoche
Tier 8: Mitch Moreland, Daniel Nava, Logan Morrison, Justin Smoak, Adam Dunn, Yonder Alonso, James Loney, Ike Davis
Tier 9: Paul Konerko, Juan Francisco, Mike Olt, Garrett Jones, Chris McGuiness, Darin Ruf


2B

Tier 1: Robinson Cano, Jason Kipnis, Dustin Pedroia, Matt Carpenter, Ian Kinsler
Tier 2: Jose Altuve, Brandon Phillips, Ben Zobrist
Tier 3: Aaron Hill, Jedd Gyorko, Martin Prado, Chase Utley, Brett Lawrie
Tier 4: Daniel Murphy, Jurickson Profar, Howie Kendrick, Jed Lowrie
Tier 5: Anthony Rendon, Brian Dozier, Neil Walker, Bradley Miller
Tier 6: Kelly Johnson, Omar Infante, Kolten Wong, Alexander Guerrero
Tier 7: Dan Uggla, Scooter Gennett, Josh Rutledge, Emilio Bonifacio, Gordon Beckham, Dustin Ackley, Marco Scutaro
Tier 8: Nick Franklin, DJ LeMahieu, Brian Roberts, Rickie Weeks, Rafael Furcal, Jordy Mercer
Tier 9: Mark Ellis, Alberto Callaspo, Jemile Weeks
Tier 10: Logan Forsythe, Maicer Izturis, Eric Sogard, Ryan Flaherty, Tommy La Stella, Darwin Barney, Derek Dietrich
Tier 11: Jonathan Schoop, Danny Espinosa


3B

Tier 1: Miguel Cabrera, Adrian Beltre, David Wright, Evan Longoria, Edwin Encarnacion
Tier 2: Ryan Zimmerman, Josh Donaldson, Matt Carpenter, Pedro Alvarez
Tier 3: Kyle Seager, Manny Machado, Martin Prado, Brett Lawrie, Pablo Sandoval, Aramis Ramirez, Jedd Gyorko
Tier 4: Chase Headley, Xander Bogaerts, Nolan Arenado, Jurickson Profar
Tier 5: Will Middlebrooks, Todd Frazier, Anthony Rendon
Tier 6: David Freese, Chris Johnson, Mike Moustakas, Matt Dominguez, Kelly Johnson, Emilio Bonifacio
Tier 7: Cody Asche, Trevor Plouffe, Matt Davidson, Mark Reynolds, Miguel Sano
Tier 8: Jose Iglesias, Juan Uribe, Lonnie Chisenhall, Michael Young, Mike Aviles, Alberto Callaspo
Tier 9: Juan Francisco, Maikel Franco, Luis Valbuena, Eric Chavez, Marcus Semien, Casey McGehee, Maicer Izturis, DJ LeMahieu
Tier 10: Mike Olt, Kris Bryant


SS

Tier 1: Hanley Ramirez, Troy Tulowitzki, Ian Desmond, Jose Reyes, Jean Segura
Tier 2: Elvis Andrus, Everth Cabrera, Ben Zobrist, Starlin Castro
Tier 3: Andrelton Simmons, J.J. Hardy, Asdrubal Cabrera, Alexei Ramirez, Jed Lowrie, Jimmy Rollins, Xander Bogaerts, Jurickson Profar
Tier 4: Jhonny Peralta, Bradley Miller, Jonathan Villar, Erick Aybar, Alcides Escobar
Tier 5: Derek Jeter, Stephen Drew, Zack Cozart
Tier 6: Rafael Furcal, Josh Rutledge, Jose Iglesias, Chris Owings, Yunel Escobar, Didi Gregorius, Javier Baez, Jordy Mercer, Brandon Crawford
Tier 7: Adeiny Hechavarria, Eduardo Nunez, Dee Gordon, Mike Aviles, Ruben Tejada, Pedro Florimon, Addison Russell
Tier 8: Miguel Sano, Maicer Izturis, Eric Sogard
Tier 9: Francisco Lindor, Cliff Pennington, Eduardo Escobar, Brendan Ryan, Nick Punto, Daniel Descalso


C

Tier 1: Buster Posey, Carlos Santana, Joe Mauer, Yadier Molina, Wilin Rosario, Brian McCann
Tier 2: Jonathan Lucroy, Salvador Perez, Matt Wieters, Evan Gattis, Wilson Ramos, Jason Castro
Tier 3: Yan Gomes, Miguel Montero, A.J. Pierzynski, Jarrod Saltalamacchia
Tier 4: Travis d'Arnaud, Russell Martin, Devin Mesoraco, Alex Avila, Carlos Ruiz, Dioner Navarro, Mike Zunino
Tier 5: Welington Castillo, Ryan Doumit, A.J. Ellis, Yasmani Grandal, Geovany Soto, J.P. Arencibia, Josmil Pinto, John Jaso
Tier 6: Josh Phegley, Derek Norris, Tyler Flowers, Chris Iannetta, Kurt Suzuki
Tier 7: Nick Hundley, Jesus Montero, Hank Conger, Ryan Hanigan, Stephen Vogt, Max Stassi, Jose Lobaton, David Ross, John Buck
Tier 8: Tim Federowicz


OF

Tier 1: Mike Trout, Andrew McCutchen, Carlos Gonzalez, Adam Jones, Bryce Harper, Ryan Braun
Tier 2: Jacoby Ellsbury, Carlos Gomez, Giancarlo Stanton, Yasiel Puig
Tier 3: Jose Bautista, Jay Bruce, Justin Upton, Shin-Soo Choo, Alex Rios
Tier 4: Matt Holliday, Starling Marte, Hunter Pence
Tier 5: Matt Kemp, Wil Myers, Yoenis Cespedes, Jason Heyward, Allen Craig
Tier 6: Alex Gordon, Carlos Beltran, Domonic Brown, Mark Trumbo, Jayson Werth, Billy Hamilton, Josh Hamilton
Tier 7: Shane Victorino, Ben Zobrist, Curtis Granderson, Desmond Jennings, Michael Cuddyer
Tier 8: Coco Crisp, Austin Jackson, Alfonso Soriano, Nelson Cruz, Martin Prado, Leonys Martin
Tier 9: Brandon Moss, Brett Gardner, Carl Crawford, Dexter Fowler, Norichika Aoki
Tier 10: Evan Gattis, Torii Hunter, Michael Bourn, Alejandro De Aza


RP

Tier 1: Craig Kimbrel, Aroldis Chapman, Kenley Jansen, Greg Holland, Koji Uehara, Trevor Rosenthal
Tier 2: Joe Nathan, Glen Perkins, Sergio Romo, David Robertson, Jason Grilli, Michael Wacha
Tier 3: Rafael Soriano, Jonathan Papelbon, Addison Reed, Jim Johnson, Casey Janssen, Anthony Cingrani
Tier 4: Ernesto Frieri, Steve Cishek, Grant Balfour, Andrew Cashner
Tier 5: Huston Street, Fernando Rodney, Bobby Parnell, Jim Henderson
Tier 6: John Axford, Neftali Feliz, Jose Veras, Nate Jones, Drew Smyly, Tommy Hunter, Alex Wood
Tier 7: Danny Farquhar, Rex Brothers, LaTroy Hawkins, Joaquin Benoit, Mark Melancon, Tyson Ross, Carlos Martinez
Tier 8: Jesse Crain, Joakim Soria, Cody Allen, Tyler Clippard, Brian Wilson, Chad Qualls, Jake McGee, Pedro Strop, J.J. Putz
Tier 9: Joshua Fields


SP

Tier 1: Clayton Kershaw, Yu Darvish
Tier 2: Adam Wainwright, Felix Hernandez, Max Scherzer, Stephen Strasburg, Cliff Lee, Jose Fernandez
Tier 3: Madison Bumgarner, Chris Sale, David Price, Justin Verlander, Zack Greinke
Tier 4: Anibal Sanchez, Cole Hamels, Mat Latos, Gio Gonzalez, Jordan Zimmermann, Matt Cain
Tier 5: Homer Bailey, Gerrit Cole, Mike Minor, James Shields, Alex Cobb
Tier 6: Hisashi Iwakuma, Shelby Miller, Julio Teheran, Matt Moore, Masahiro Tanaka
Tier 7: Kris Medlen, Jered Weaver, Hyun-Jin Ryu, Michael Wacha, Doug Fister, Francisco Liriano
Tier 8: Jeff Samardzija, Johnny Cueto, Anthony Cingrani, Sonny Gray
Tier 9: Danny Salazar, Jon Lester, Patrick Corbin, Hiroki Kuroda, Clay Buchholz, CC Sabathia
Tier 10: R.A. Dickey, Andrew Cashner, Justin Masterson, Lance Lynn, Matt Garza

A 2013 Season Retrospective

Let's rewind and look at the 2013 season. Here are the tier accuracies for each week since week 6 (accuracy = percent of time the higher tier ends up scoring more than a lower tier):

WeekQBRBWRTEKDST
6501009073.366.780
7908086.7805083.3
81009073.386.783.3100
98010086.79083.380
109086.771.46033.350
11909086.78066.783.3
127077.861.173.33080
136063.478.866.72070
148064.378.6607050
156090.586.7805030
166085.773.386.78030
Average75.584.479.476.157.667

Ranked by accuracy, we have:

1. RB - 84.4%
2. WR - 79.4%
3. TE - 76.1%
4. QB - 75.5%
5. DST - 67%
6. K - 57.6%

RB and WR are the most predictable. Next is TE and QB. Finally DST tiers hold 2 out of 3 times and predicting K is only slightly better than random.

Now let's look back at the top 32 draft ranks from pre-season (by fantasypros, full sheet here)

Rank Position Player Name Ave Rank std dev/2
1RBAdrian Peterson10.3
2RBDoug Martin30.8
3RBJamaal Charles41.0
4RBC.J. Spiller51.7
5RBLeSean McCoy71.5
6RBMarshawn Lynch71.9
7RBArian Foster82.0
8RBTrent Richardson81.6
9RBRay Rice81.2
10WRCalvin Johnson81.3
11RBAlfred Morris132.8
12WRDez Bryant152.0
13WRA.J. Green151.8
14WRBrandon Marshall171.7
15TEJimmy Graham172.8
16RBMatt Forte162.8
17WRJulio Jones202.1
18WRDemaryius Thomas212.0
19RBSteven Jackson193.6
20QBDrew Brees234.2
21QBAaron Rodgers234.2
22RBStevan Ridley214.7
23RBChris Johnson223.8
24WRLarry Fitzgerald262.9
25RBMaurice Jones-Drew244.3
26WRRoddy White292.7
27WRAndre Johnson303.3
28WRRandall Cobb323.2
29WRVincent Jackson323.0
30WRVictor Cruz322.4
31RBFrank Gore315.5
32RBReggie Bush314.8

Out of 32 players, we have 2 QB's and 1 TE and the rest are either RB or WR's. In hindsight, this top 32 list makes a lot of sense.

Thanks everyone for a following this season.  I'll be posting some tiered charts for fantasy baseball next week - stay tuned via twitter.