I’m attempting something new with this year’s top 100 keepers article. It’s something I’ve always thought about doing but never had the time or brainpower to figure out. I want to try to objectively (impossible) rank each player on how many projected categories they provide for your team. 

I broke each standard 5×5 category down into five statistical outcome ranges. Take runs for example.


Points 0 .25 .5 .75 1
Runs Under 54 55-69 70-84 85-99 Over 100
HRs Under 16 17-23 24-30 31-37 Over 38
RBI Under 54 55-69 70-84 85-99 Over 100
SBs Under 8 9-13 14-18 19-23 Over 23
AVG Under .254 .255-.269 .270-.284 .285-.299 Over .300
W Under 7 8-10 11-13 14-16 Over 17
K Under 159 160-184 185-209 210-234 Over 235
ERA Over 4.45 3.96 – 4.44 3.46-3.95 2.96-3.45 Under 2.95
WHIP Over 1.33 1.24-1.32 1.15-1.23 1.06-1.14 Under 1.05
SV Under 11 12-17 18-23 24-30 Over 30


It isn’t a perfect system by any means, but here’s how it works: Ronald Acuna, by all projection models, is expected to score over 100 runs so he gets 1 point for the runs category. While Marcell Ozuna’s average projection expects him to score around 83 runs so he gets a .5 for that category. So I did this with all 10 standard 5×5 categories. This method is with the understanding of the fact that few people are projected for over 100 runs — but many players will fall in the 70-84 range. That helps explain why only three elite players got perfect scores as you’ll see below.

“But Kerry! How does your system take into account age, regression, lineup slot, the team the player is on and injury-prone players?” 

Most of that is baked into their projections. We know that Giancarlo Stanton is going to miss games. (Surprise! He already is!) That’s why Steamer only has him projected for 494 ABs and his stats reflect those decreased ABs. If he reaches 600 ABs — he’s got maybe the best chance of reaching 60+ HRs in the league — but will he? Probably not. We also know that no matter where Trey Mancini hits in the Orioles lineup his runs and RBI totals are going to take a hit this year because there aren’t many solid major leaguers around him. 

Age is a bit of a trickier “category” to track and it’s one that I’m definitely going to try and quantify more in the future. Statistics dictate that most players reach their primes in the 27-29 age range, but don’t tell that to Justin Verlander, Nelson Cruz or Juan Soto! Verlander and Cruz’s ages continue to have us devalue them because Father Time and Mother Nature are undefeated and we’re waiting for the regression. However, you can’t deny their production even as Verlander recently turned 37 and Cruz turns 40(!) this year. And Juan Soto can’t even ride the bumper boats at Disney World, but he could hit 40 HRs this year!

Regression is an even HARDER “category” to figure out because while luck can be quantified in RPG video games — they can’t in baseball. A strong, windy day in Chicago might turn your 110 MPH exit velocity HR into the longest F8 in the scorebook. However, we can look at a player’s prior year’s stats (if available) and try to determine if something is realistic or not. Is Jose Ramirez going to hit .218 in the first half, but .327 in the second-half again? Do you feel lucky? Well, do ya, AJ Puk

Don’t even get me started on the juiced ball “category” — right now only Rob Manfred and that guy who collects all the baseball mud know how that is going to impact player performance in 2020 and I fully expect a TON of overreaction from fantasy and real baseball analysts alike during every at-bat this year. 

“But starting pitchers can only contribute 4 categories in any given season! This isn’t fair!” 

You’re right — and such is life. That’s why I’m probably a bit lower on starting pitcher as keepers instead of hitters. That’s also why you’ll only find one reliever on this entire ranking. They can provide wins, sure — but it’s a bit unpredictable. They might contribute 60 or so innings of ERA/WHIP/K help on a week-to-week basis, but over the entirety of a season, it’s less impactful than the 180 innings you’ll get from a great starter. Josh Hader is the one reliever who should provide enough innings and strike-outs to have a meaningful impact. Truly elite starting pitchers like Gerrit Cole are almost guaranteed to give you 4 category production and his ranking reflects that.

The Shohei Ohtani problem. 

The player who was the most difficult for me to rank was the Japanese Babe Ruth, Shohei Ohtani. As a hitter alone I have him in the 50-60 keeper range. (His average projections show him hitting roughly 74 runs/26 HRs/80 RBI/12 SBs/.278 AVG.) But how should I incorporate the 98 IP, 7 wins, 3.67 ERA, 1.24 WHIP and 118 Ks he could also contribute as a reliever? In my opinion, that’s a huge boost if he counts as one player in your daily moves league. That makes him a solid contributor in about 7 categories. 

Again this system isn’t perfect (none are!) but I’m going to keep tweaking it to get it to work better every year. And remember — this is for keeper rankings for 2020. There’s a little bit of 2021 cooked into the rankings, but a lot of this ranking has to do with 2020.

Enough banter — let’s get into it!


5 Categories:


1 Ronald Acuna Jr. ATL OF 22
2 Mike Trout LAA OF 28
3 Christian Yelich MIL OF 28
4 Francisco Lindor CLE SS 26


Rank ‘em how you want ‘em — but there’s your top four! All four of these players are almost guaranteed to give you 5 category production. I’m giving Acuna the nod based on his age and the strength of the top of the Braves lineup. I have Lindor at 4 because there was a major injury last year and his lineup (right now) isn’t as strong. Plus, I’m getting the feeling he will be traded — probably to a more competitive team. However, maybe it takes him some time to adjust to a new team, park, pitchers etc. Just a few more questions than the other three. Although I am a little worried about Yelich’s knee. 


4.5 Categories


5 Juan Soto WSH OF 21
6 Mookie Betts LAD OF 27
7 Cody Bellinger LAD OF/1B 24
8 Jose Ramirez CLE 3B 27
9 Shohei Ohtani LAA DH/SP 25
10 Trevor Story COL SS 27
11 Trea Turner WSH SS 26


All of these guys are phenomenal players — but there are just a few more question marks than the top-4. However, I still anticipate a lot of vitriol in the comment section! 

Will Soto continue to steal double-digit bases despite never really doing so in the minors? 

How long will Bellinger steal double-digit bases until he goes the way of Paul Goldschmidt? He’s much younger than Goldy was when the steals dwindled though. 

Betts I think has the best bet to move into the 5 category arena — but it depends on what the balls are like this year. It also depends on where he hits in the lineup and if he’s more of a 16 stolen base hitter — or 30 SB. 

Which Ramirez half will we see this season? I was very tempted to put Jose Ramirez in the 5 category group, but his average and the aforementioned first half gave me some pause. However, 95/30/95/30/.280? Wow. 

Why do we continue to disrespect Trevor Story? I (along with many other people) are still not forgiving Trevor Story for his 2017 average. However, he’s hit over .290 in both of the last two seasons with fantastic team and individual stats. 

Where will Trea Turner be hitting in the lineup this year? Early reports are 3rd — does this impact his stolen base numbers? 


4 Categories


12 Nolan Arenado COL 3B 28
13 Gerrit Cole NYY SP 29
14 Walker Buehler LAD SP 25
15 Jacob deGrom NYM SP 31
16 Alex Bregman HOU 3B/SS 25
17 Anthony Rendon LAA 3B 29
18 Yordan Alvarez HOU DH 22
19 Javier Baez CHC SS 27
20 Ozzie Albies ATL 2B 23
21 Jack Flaherty STL SP 24
22 Yoan Moncada CWS 3B 24
23 Freddie Freeman ATL 1B 30
24 Rafael Devers BOS 3B 23
25 Justin Verlander HOU SP 37
26 J.D. Martinez BOS OF 32
27 Max Scherzer WAS SP 35


There are the pitchers! Gerrit Cole, Walker Buehler, and Jacob deGrom are very close. Their age and performance are elite and will contribute at a high level in all 4 starting pitcher categories. 

And there’s Nolan Arenado! A 12 ranking feels disrespectful even to me — but he just doesn’t steal the bases we need. In TGFBI I grabbed Juan Soto with the last pick in the first round and followed it up with Nolan Arenado with the first pick in the second round. Every subsequent pick I made was trash — but I was king of the world for two hours! 

Alex Bregman, Javier Baez, Ozzie Albies and Yoan Moncada are a lot closer than I expected. They all contribute well in all 5 categories, but not without their warts. Bregman: dwindling stolen bases, Baez: sub-elite average, Albies & Moncada: sub-elite RBI totals, sub-elite average.

If Devers can continue to grow past the 30 HR mark and even touch double-digit SBs I’ll move him up.


3.5 Categories


27 Fernando Tatis Jr. SD SS 21 3.5
28 Keston Hiura MIL 2B 23 4
29 Bryce Harper PHI OF 27 3.5
30 Eloy Jimenez CWS OF 23 3.5
31 Bo Bichette TOR SS 22 3.5
32 Aaron Judge NYY OF 27 3.5
33 Austin Meadows TB OF 24 3.5
34 Pete Alonso NYM 1B 25 3.25
35 Xander Bogaerts BOS SS 27 3.25
36 Jose Altuve HOU 2B 29 3.25
37 George Springer HOU OF 30 3.25
38 Starling Marte ARI OF 31 3.25
39 Ketel Marte ARI OF/2B 26 2.75
40 Gleyber Torres NYY SS/2B 23 3


There’s definitely some upward mobility in these players. Tatis, Hiura, Jimenez, Bichette, and Meadows are all destined for the upper tiers if their performance continues to match their pedigree. With Tatis, I want to see that 29.6% K/rate come down. With Hiura I’m a little worried about the power ceiling and he was never a huge stolen base threat in the minors. If Jimenez’s power profile continues he’ll at least move up 1 tier — but he’s completely opposed to stealing bases. I can see him in the Nolan Arenado territory though. I’m interested to see where Bichette’s power numbers settle in — but I’m confident he can steal 20-25 bases. Meadows is somehow the old man of this group at only 24, so I’m actually most confident in his resisting a regression. Was that 33 HR outburst in 2019 aided by the juiced ball though? We’ll have to see. 

Based on hype alone Bryce SHOULD be a lot higher — but his average is holding him down and I think he knows that. 100/35/100 should be a lock at this point — but his high-risk Eric Byrnes motor makes me nervous for his health and what that could mean for his stolen base totals. Sprained ankle here, a twisted knee there — and we could be facing another low SB season. 

40 HRs is the floor for Pete Alonso — unfortunately, .260 feels like his ceiling.

If Gleyber played for the Royals would we love him as much? The team production numbers should be fine on the Yankees — but I just get the feeling he’s more of a 30 HR player than 40 HR. Plus that .270 average is solid — but not elite.  

I love the Marte cousins hitting right next to each other atop the Diamondbacks lineup (no relation.) However, we have to see how many bases Ketel can swipe and how many ABs Starling can accumulate. Under 10 SBs? Ketel is accurately ranked. Under 550 ABs? Starling is accurately ranked. Anything over those numbers and they’ve earned you value.


3 Categories


41 Manny Machado SD 3B/SS 27
42 Chris Sale BOS SP 30
43 Josh Bell PIT 1B 27
44 Eugenio Suarez CIN 3B 28
45 Charlie Blackmon COL OF 33
46 Paul Goldschmidt STL 1B 32
47 Nelson Cruz MIN DH 38
48 Anthony Rizzo CHC 1B 30
49 Vladimir Guerrero Jr. TOR 3B 21
50 Victor Robles WSH OF 22
51 Shane Bieber CLE SP 24
52 Luis Robert CWS OF 22
53 Matt Chapman OAK 3B 26
54 Kris Bryant CHC 3B/OF 28
55 Matt Olson OAK 1B 25
56 Joey Gallo TEX OF 26
57 Tim Anderson CWS SS 26
58 Clayton Kershaw LAD SP 32
59 Whit Merrifield KC 2B/OF 31
60 Tommy Pham SD OF 32
61 Jeff McNeil NYM OF/2B/3B 27


Josh Bell has a lot of upward mobility here. But the wild drop off from April & May to June to September was worrying.  

Charlie Blackmon’s SBs predictably disappeared last year, but don’t extrapolate that dip to his other stats. 112/32/86/.314 is still a great player to have. Same goes for Goldschmidt — I think the average rebounds. He had 7 straight seasons of a .290+ batting average — the .260 was an aberration. 

Anthony Rizzo is the most boring fantasy contributor due to his consistency. 90 runs, 28 HRs, 98 RBI, 5 SB, .288 AVG. QUOTE ME! 

For Vlad I think the average will be over .300 in his sophomore year. But with no steals and 20-25 power I think this is where he belongs for now. If he starts getting into the 30+ HR territory I will move him up next year.

Matt Chapman is also boring — mainly due to his name. His average is the main thing holding him back from the upper tiers. 100 runs, 100 RBI, 30+ RBI are a lock — but .250ish average? Miss me with that. 

20/30 Robles is a fantastic fantasy piece. 70 RBI, .260 AVG Robles is not. I’ll just split the difference and pair him with Yelich! 

45 SB in 2018, 20 in 2019. How far do Merrifield’s stolen bases fall in 2020? I think he can still get 18-22 — but he’ll remain a HR and RBI liability on your team. 

McNeil lacks top tier name-value sex appeal — but depending on his lineup slot I love the 85/20/75/10/.300 potential. 


2.5 Categories


62 Blake Snell TB SP 27
63 Stephen Strasburg WSH SP 31
64 Andrew Benintendi BOS OF 25
65 Michael Conforto NYM OF 27
66 Giancarlo Stanton NYY OF 30
67 Eddie Rosario MIN OF 28
68 Jorge Soler KC OF 28
69 Josh Hader MIL RP 25
70 Marcus Semien OAK SS 29
71 Jose Abreu CWS 1B 33
72 Nicholas Castellanos CIN OF 28
73 DJ LeMahieu NYY 2B/3B/1B 31
74 Trey Mancini BAL OF/1B 28
75 Franmil Reyes CLE OF 24


More pitching! With Snell and Strasburg, it comes down to innings. Snell only reached 107 last year and couldn’t replicate his 2018 when he was on the mound. I think there is huge bounceback potential here — but I can’t bank on it just yet. As for Strasburg, he pitched over 180 innings for the first time since 2014. Hopefully, this is a turning point for him health-wise. 

I want Benintendi to be better. I really do. He’s averaged 16 HRs and 17 SBs over his last 3 seasons. 4 more HRs and 3 SBs really aren’t much — but it would look so much better if he could just put together a 20/20 season. It’s looking like he’ll be leading off in 2020 which I really like for his fantasy numbers. 

Marcus Semien is too unpredictable in the power numbers to rank any higher this year. 27 HRs in 2016; 15 in 2018; 33 in 2019. It has been nice to see his average climb each year since 2016 however: .234, .249, .255, .285. His SBs you can set your watch to though. His totals since 2015: 11, 10, 12, 14, 10. 

Let me tell you about the juiced ball. It turned DJ Lemahieu into an MVP candidate. He couldn’t top 20 HRs in COORS FIELD. 2019 happens and he hits 26. Never hit over 70 RBI in 7 seasons with the Rockies. 2019 arrives and: 102! He’s always had great bat to ball skills — but deez balls turned him into a completely different player.  

I’m going to call my shot twice in these next two sentences Franmil is going to shock us all and hit 45 HRs with 100+ RBI and a .280 average and place in the top-5 in MVP. Also: next year I’ll write “Is this for real?” in my top 100 keepers article. 


2 Categories


76 Luis Castillo CIN SP 27
77 Lucas Giolito CWS SP 25
78 Carlos Correa HOU SS 25
79 Aaron Nola PHI SP 26
80 Adalberto Mondesi KC SS 24
81 Rhys Hoskins PHI 1B 27
82 Patrick Corbin WSH SP 30
83 Ramon Laureano OAK OF 25
84 Trevor Bauer CIN SP 29
85 J.T. Realmuto PHI C 29
86 Max Muncy LAD 2B/1B/3B 29
87 Yu Darvish CHC SP 33
88 Jonathan Villar MIA 2B/SS 28
89 Amed Rosario NYM SS 24
90 Marcell Ozuna ATL OF 29
91 Mike Moustakas CIN 3B/2B 31
92 Michael Brantley HOU OF 32
93 Chris Paddack SD SP 24
94 Noah Syndergaard NYM SP 27
95 Tyler Glasnow TB SP 26
96 Jose Berrios MIN SP 25
97 Corey Seager LAD SS 25
98 Max Kepler MIN OF 27
99 David Dahl COL OF 25
100 Byron Buxton MIN OF 26


Lightning Round! 


Castillo: Less sinkers, more sliders!

Giolito: HUGE 2018 – 2019 difference. Maintainable? 

Correa: Stay healthy! Steal bases? DUCK!

Nola: Cy Young upside — but was 2018 a fluke?

Mondesi: Stolen bases and? Stolen bases and? Health risk!

Hoskins: Up 4 tiers in OBP leagues. .226 AVG will be a fluke. 

Corbin: Forgotten ace behind Stras & Scherz. 

Laureano: Maintain AVG + 25/20? To the moon!

Bauer: Use the hatred flow through you to get your ERA back under 4!

Realmuto: SBs will fall — but still best C in the game by far.

Muncy: AVG holds him down — but 90/30/90 is fantastic.

Darvish: Jose Ramirez in pitcher form with half splits.

Villar: Lateral trade from Orioles. HOW?! 24 HRs unrealistic. 

Rosario: Top of lineup? STAR. Bottom of lineup? Fine.

Ozuna: So many ducks on the pond! .231 RISP in 2019 = yuck.

Moustakas: See the other MM 5 players above. 

Brantley: Two healthyish seasons. Solid, unspectacular. DUCK!

Paddack: Innings limit only thing hold him down.

Syndergaard: Best stuff, best hair, best nickname. COULD win Cy Young if all goes right.

Glasnow: Four seamer CHECK! Curve? Check!……

Berrios: More K’s = Cy Young conversation. 

Seager: Isn’t the #1 prospect we thought he was. And we let him off the hook. 

Kepler: Juiced ball beneficiary. But solid lineup for team stats. Think 25 HRs — not 35.
Dahl: Is he injured yet? 

Buxton: See Dahl.