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.
Top-100 Hitter Rankings
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.

38 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
rthompsonmember
1 year ago

Really seems that Haniger is being undervalued in the draft and holds I’ve been doing-I’m bumping him up!

MontanaMariner
1 year ago
Reply to  rthompson

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.