Top-100 Hitter Rankings
It’s time for my top-100 hitter ranks. While more is expected to be available on the website (in production), I went through and ranked my top 100 guys… for now. The rankings could change at any time as players get traded or sign with a team, but I feel good about this top group. Besides the actual ranks, I have explained each up and down ranking after the table. Finally, here are the caveats for today’s rankings.
Notes:
- The rankings started with a weighted average of several available projections.
- I had to pick one format to rank off of and I went with 5×5 Roto this time.
- No catchers were ranked (article coming soon).
- I did not take any position scarcity into account (besides catchers). There hasn’t been any for at least a dozen years, so I don’t expect any this season.
- I didn’t give any player a multi-position boost or DH hit with each hosting site having its own settings.
- Replacement level is not included since that value will change based on each league’s settings. Bryce Harper is not ranked without any replacement level.
- For AVG and OBP leagues, I usually drop guys for not hitting enough to be better than the last-place team, but I didn’t with all three systems being ranked.
- I ding highly drafted guys (top-75) who aren’t good hitters (projected OPS under .750). After that point, all the hitters are average or worse.
Name | Proj PA | Roto Rank (AVG) | Roto Rank (OBP) | Points (ESPN) | PA | Talent |
---|---|---|---|---|---|---|
Aaron Judge | 640 | 1 | 2 | 8 | ||
Jose Ramirez | 660 | 2 | 3 | 1 | ||
Kyle Tucker | 620 | 3 | 6 | 4 | Down | |
Trea Turner | 680 | 4 | 14 | 16 | ||
Ronald Acuña Jr. | 610 | 5 | 4 | 34 | ||
Vladimir Guerrero Jr. | 680 | 6 | 8 | 3 | ||
Julio Rodriguez | 650 | 7 | 9 | 31 | Down | |
Shohei Ohtani | 650 | 8 | 7 | 18 | ||
Juan Soto | 670 | 9 | 1 | 2 | ||
Bo Bichette | 670 | 10 | 20 | 21 | Down | |
Freddie Freeman | 680 | 11 | 10 | 6 | ||
Bobby Witt Jr. | 640 | 12 | 22 | 29 | ||
Pete Alonso | 660 | 13 | 12 | 5 | ||
Yordan Alvarez | 680 | 14 | 11 | 7 | ||
Mookie Betts | 650 | 15 | 15 | 14 | ||
Manny Machado | 660 | 16 | 17 | 10 | ||
Rafael Devers | 660 | 17 | 21 | 12 | ||
Paul Goldschmidt | 660 | 18 | 16 | 15 | ||
Mike Trout | 600 | 19 | 13 | 23 | ||
Austin Riley | 680 | 20 | 23 | 19 | ||
Fernando Tatis Jr. | 520 | 21 | 6 | 48 | Down | |
Matt Olson | 680 | 22 | 18 | 11 | ||
Randy Arozarena | 640 | 23 | 24 | 60 | ||
Francisco Lindor | 680 | 24 | 26 | 22 | ||
Michael Harris II | 580 | 25 | 27 | 51 | Down | |
Jose Altuve | 640 | 26 | 25 | 24 | ||
Marcus Semien | 680 | 27 | 30 | 27 | ||
Kyle Schwarber | 640 | 28 | 19 | 41 | ||
George Springer | 590 | 29 | 29 | 33 | ||
Nolan Arenado | 640 | 30 | 36 | 9 | ||
Luis Robert Jr. | 550 | 31 | 34 | 44 | Down | |
Eloy Jiménez | 610 | 32 | 58 | 37 | Up | Up |
Adolis García | 650 | 33 | 40 | 77 | Down | |
Starling Marte | 560 | 34 | 43 | 104 | ||
Corey Seager | 640 | 35 | 35 | 17 | ||
Andrés Giménez | 610 | 36 | 41 | 83 | ||
Teoscar Hernández | 600 | 37 | 48 | 73 | ||
Oneil Cruz | 550 | 38 | 31 | 89 | Down | |
Ozzie Albies | 610 | 39 | 61 | 37 | ||
Dansby Swanson | 650 | 40 | 46 | 68 | Down | |
Gunnar Henderson | 580 | 41 | 32 | 65 | ||
Trevor Story | 620 | 42 | 45 | 96 | ||
Jazz Chisholm Jr. | 525 | 43 | 38 | 112 | Down | |
Jake McCarthy | 550 | 44 | 44 | 111 | Down | |
Bryan Reynolds | 650 | 45 | 39 | 43 | ||
Alex Bregman | 650 | 46 | 28 | 13 | ||
Cedric Mullins II | 580 | 47 | 33 | 63 | Down | |
Tim Anderson | 580 | 48 | 89 | 130 | ||
Gleyber Torres | 600 | 49 | 66 | 71 | ||
Wander Franco | 600 | 50 | 68 | 26 | ||
Willy Adames | 630 | 51 | 67 | 84 | ||
Taylor Ward | 630 | 52 | 74 | 80 | Up | Up |
José Abreu | 640 | 53 | 51 | 32 | ||
Mitch Haniger | 610 | 54 | 79 | 79 | Up | |
Carlos Correa | 620 | 55 | 47 | 34 | ||
Xander Bogaerts | 640 | 56 | 54 | 40 | ||
Nathaniel Lowe | 630 | 57 | 55 | 54 | ||
Tyler O’Neill | 530 | 58 | 69 | 138 | Up | |
Rhys Hoskins | 650 | 59 | 42 | 45 | ||
Ryan Mountcastle | 620 | 60 | 86 | 69 | ||
Tommy Edman | 610 | 61 | 52 | 75 | Down | Down |
Brandon Lowe | 580 | 62 | 56 | 75 | ||
Amed Rosario | 630 | 63 | 110 | 91 | ||
Seiya Suzuki | 600 | 64 | 57 | 87 | ||
Vinnie Pasquantino | 580 | 65 | 50 | 20 | ||
Anthony Santander | 610 | 66 | 65 | 30 | Down | |
Byron Buxton | 480 | 67 | 82 | 136 | ||
Christian Yelich | 650 | 68 | 37 | 113 | ||
Corbin Carroll | 500 | 69 | 53 | 131 | ||
Christian Walker | 630 | 70 | 49 | 35 | Down | |
Jeremy Peña | 610 | 71 | 105 | 129 | ||
Steven Kwan | 620 | 72 | 76 | 49 | ||
Jorge Polanco | 600 | 73 | 77 | 54 | ||
Ty France | 630 | 74 | 84 | 47 | ||
Matt Chapman | 640 | 75 | 63 | 93 | ||
Nico Hoerner | 610 | 76 | 95 | 66 | ||
Will Smith | 550 | 77 | 64 | 39 | ||
Ian Happ | 640 | 78 | 75 | 85 | ||
Javier Báez | 600 | 79 | 112 | 147 | Down | |
Rowdy Tellez | 570 | 80 | 81 | 46 | ||
Oscar Gonzalez | 570 | 81 | 126 | 61 | ||
Thairo Estrada | 580 | 82 | 96 | 106 | ||
Hunter Renfroe | 550 | 83 | 93 | 77 | ||
Josh Bell | 620 | 84 | 71 | 31 | ||
Joey Meneses | 610 | 85 | 138 | 98 | Up | Down |
Ke’Bryan Hayes | 590 | 86 | 94 | 132 | ||
Anthony Rizzo | 570 | 87 | 62 | 64 | ||
Giancarlo Stanton | 520 | 88 | 85 | 102 | Up | |
Alex Verdugo | 640 | 89 | 109 | 52 | ||
Jake Cronenworth | 650 | 90 | 87 | 48 | ||
Triston Casas | 560 | 91 | 60 | 58 | Down | |
Nick Castellanos | 600 | 92 | 119 | 94 | ||
Eugenio Suárez | 620 | 93 | 83 | 117 | ||
Seth Brown | 580 | 94 | 106 | 119 | ||
Austin Hays | 610 | 95 | 125 | 89 | ||
Brandon Nimmo | 620 | 96 | 78 | 80 | ||
Jeff McNeil | 610 | 97 | 113 | 56 | ||
Alec Bohm | 630 | 98 | 134 | 101 | ||
Riley Greene | 600 | 99 | 99 | 138 | ||
Max Muncy | 570 | 100 | 59 | 72 |
Notes
• Kyle Tucker: Where in the lineup he bats is going to be huge for his value. I dropped him to fifth in the lineup but if he bats second or third, he could be the overall top bat. Hitting leadoff might drop him down for the lack of RBI.
• Julio Rodriguez: After stealing 21 bases in the first half, he only stole four in the second. Rodriguez put the stop sign on himself.
The club and Rodríguez himself are being more strategic about when to steal. Early in the season, Servais said, it was probably easier for Julio to run because people probably didn’t assume a player of his size was going to run as often as he did. So, effectively, Julio has sort of put the stop sign on himself. This isn’t something the team has mandated or anything like that. Opposing pitchers know he can run, so they’ll pay more attention to him, throw over more and vary their set time on the mound. Doesn’t mean he won’t run more, but he’ll just be smarter/more strategic about it.
I dinged him a bit but if his second-half pace is done for the entire season (projected ~16 SB), it could even be even more of a drop.
• Bo Bichette: I’m not sure the stolen bases are coming back after going 13 for 21 (62%) last season.
• Fernando Tatis Jr.: I dinged him for the unknown screwup. I have zero faith that he has done his rehab and not endangered his shoulder again while riding dirt bikes.
• Mike Trout: I just can’t put over 600 PA on him with 550 PA seeming reasonable. Here are his ranks at the different plate appearance thresholds.
PA: Rank
650: 10
600: 21
550: 28
500: 48
• Michael Harris II: There is a chance he might get platoon after hitting .238/.284/.365 with just 2 of his 19 home runs against lefties.
• Luis Robert Jr.: He has always been hurt and never accumulated over 550 PA (547 PA across three minor league levels in 2019), so I can’t put him over that number this year.
• Eloy Jimenez: I like that Jimenez will have the DH spot all to himself this year to stay healthy thereby staying 100% and in the lineup.
• Adolis Garcia: I never feel good about rostering an early bat projected for a sub-.300 OBP (.284 on Steamer) and a near .700 OPS (.712 on Steamer). I try to roster good baseball players and I’m not 100% sure Garcia is one.
• Oneil Cruz: I don’t know how to rank a guy with just 370 career plate appearances but with a 20/20 projection. I don’t believe the narrative that he improved in September. The team just stopped playing him against lefties who he struggled massively against (53% K% vs LHP) so I dinged his playing time. If a person assumes his projection holds and he gets more playing time, here are his ranks.
PA: Rank
650: 11
600: 24
550: 31
500: 54
If he gets some helium, there are some managers hoping for these extra plate appearances.
• Dansby Swanson: His plate appearances could head south depending on where he hits in his new lineup.
• Gunnar Henderson: His 580 PA seemed light since the Orioles plan on playing time while hitting in the heart of the order. If he hits there, I’d have him up. The issue is that he has never hit lefties in the minors (.956 OPS vs RHP, .697 vs LHP) and in his short MLB time (.872 OPS vs RHP, .448 vs LHP). He was not really platooned by just sitting against three of the eight lefty starters. It’s just something to track.
• Jazz Chisholm Jr.: He has never hit lefties with a career .661 OPS against them (.616 OPS vs LHP in the minors). The deal is that the Marlins were sitting him against lefties. Of the 17 lefty starters the team faced before he went on the IL, he only started in eight of them.R
• Jake McCarthy: I’m not 100% sure he is even an average hitter as seen by his .753 OPS Steamer projection. The 550 PA is a hedge, but here are his rank at different plate appearances
PA: Rank
650: 16
600: 24
550: 39
500: 57
• Cedric Mullins II: Another guy with major platoon issues (career .813 OPS vs RHP, .646 vs LHP). From July 28th on, the Orioles face 15 left-handed starters with Mullins only starting against four of them. I’m not sure if 580 is the right number of PA, but I am dropping him from some near 650 PA projections.
• Taylor Ward: Projections don’t like his playing time (sub 600 PA), so a small boost there. Also, they don’t know about him playing through a shoulder injury.
• Mitch Haniger: I don’t see him with sub-600 PA as a DH.
• Tyler O’Neill: I can’t argue too much with a 530 PA projection but if he ever gets over it he has a nice upside based on more volume.
• Tommy Edman: Not a great hitter (career .732 OPS) especially against righties (career .701 OPS). Sometimes he struggles and then gets buried in the ninth spot. When batting later in the lineup, he doesn’t steal as much with 21 SB in 400 PA while leading off and 2 SB in 112 PA batting ninth.
• Anthony Santander: For a 28-year-old nearing 200 career IL days to be projected for over 650 PA seems high.
• Christian Walker: I dinged him down on the +650 PA projection but his ability to hit 30 HR has him way higher than expected in my rankings.
• Thairo Estrada: He is not a good hitter (.733 OPS Steamer Projection) so he might lose playing time if he struggles.
• Javier Báez: I don’t know how to rank him… at all. Anyone with the potential for 20 HR and 10 SB is going to have decent Roto value. Baez’s projection is similar to Jeremy Peña and Ian Happ’s and I don’t have a problem with their ranks.
• Joey Meneses: I think he’s going to get an everyday chance to play next season, so I moved up the playing time. What I don’t agree with is his 25 to 30 HR projection with a ~.265 AVG. Some fantasy managers are getting a Frank Schwindel vibe while I’m seeing some similarities to Jose Bautista. The right course of action is to be in between.
• Giancarlo Stanton: If he’s healthy and the plate appearances jump, he would leap up to about 50th with just 600 PA.
• Triston Casas: I’m worried that the Red Sox will bring in a decent first-base option or play Hosmer if Casas struggles for a week or two.
Jeff, one of the authors of the fantasy baseball guide,The Process, writes for RotoGraphs, The Hardball Times, Rotowire, Baseball America, and BaseballHQ. He has been nominated for two SABR Analytics Research Award for Contemporary Analysis and won it in 2013 in tandem with Bill Petti. He has won four FSWA Awards including on for his Mining the News series. He's won Tout Wars three times, LABR twice, and got his first NFBC Main Event win in 2021. Follow him on Twitter @jeffwzimmerman.
Really seems that Haniger is being undervalued in the draft and holds I’ve been doing-I’m bumping him up!
I love Mitch and admire his work ethic but makes me nervous that he will play a full season. He took forever to come back both from COVID and the ankle sprain last year and he wasn’t the usual Haniger. After the All Star game last year, Mitch struck out 56 times in 186 ABs–over 30% of the time vs a career average of less than 27%. His power was down, too, with a slugging % of .418 vs his career mark of .476. I sure hope he does well as Giant, but at 32, despite his manic conditioning, he may be on the downside of this career. An an M’s fan, I’m sorry to see him go, but Teo Hernandez is a clear upgrade.