I feel like I say this every year around this time — but I LOVE keeper leagues. Especially all the crazy rules and context to them. “If you drafted him in the 13th round, he becomes a 10th round keeper next year, then a 4th round keeper the year after that, then a 1st the year after that. And if you keep him in the 1st you can’t keep anyone else with a 1st.” or “If you bought him for $5 his inflation becomes $18 in 2022. Then in 2023 he’ll be $31.43” or “You can’t keep anyone in the first 5 rounds, because one year Smitty somehow kept Miggy, A-Rod, Barry Bonds, Albert Pujols and Roy Halladay and broke the league.” And let me tell you — I love ALL of it. Your league’s crazy rules are what make it unique and interesting. Navigating this craziness is part of the fun. So these are just my rankings for your standard, vanilla 5×5 roto league. But my favorite part of this article — is always in the comments helping you guys breaking down your crazy keeper rules and making the best choices. So get down there and tell me your league’s crazy keeper system and how I can help you make your best decision! 


How I like to view keepers in this vanilla format is by how many categories they’re contributing to in your standard 5×5 league. Due to this, you’ll see I suppress pitcher’s values a little bit because even Jacob deGrom can only help in 4 categories. For closers, it takes someone truly elite to crack my top-100 and this year there are only two of them. High-K, great ratio, elite save potential is what it takes to make the top-100. I also try to group similar players together for ease of use. Don’t take these as keeper gospel — more as guidelines. Leave me a comment if you have a direct question. 




Rank Player Team Position Age
1 Ronald Acuna Jr. ATL OF 23
2 Fernando Tatis Jr. SD SS 22
3 Juan Soto WSH OF 22
4 Mookie Betts LAD OF 28
5 Trevor Story COL SS 28
6 Jose Ramirez CLE 3B 28


5 cats — get it?! 5 LOUD categories — get it?! I’m embarrassed, yet not deterred. 

The realistic floor for each of these hitters is 100 runs, 30 HRs, 100 RBI, 20 SB, .285 AVG. Insanity.

The pair of Jr.’s at the top should probably be in a tier to themselves because with health and in their lineups, they could reach 120/35/100/30/.290. Ridiculous numbers — but not really when you think about how good they are. 

For Soto we’re getting word out of Nationals camp that he wants to steal more bases. If this comes true this year Soto is your NL MVP and clear 1.01 for 2022. His elite plate discipline, power, and hypothetically SBs aren’t fair. 

The two things holding back Story and Ramirez are their lineups and their step-below batting averages. Story’s teammates still playing in Coors should help the loss of Arenado and the diminishing skills of Charlie Blackmon. For Ramirez’s sake he could be out of Cleveland if the Cleveland baseball team continues their fire sale — and why wouldn’t they? He’ll probably go to a competitor and thrive there too.



Rank Player Team Position Age
7 Mike Trout LAA OF 29
8 Cody Bellinger LAD 1B/OF 25
9 Christian Yelich MIL OF 29
10 Bryce Harper PHI OF 28
11 Trea Turner WSH SS 27
12 Francisco Lindor NYM SS 27
13 Bo Bichette TOR SS 23
14 Ozzie Albies ATL 2B 24


4.5 strong cats! “How long will he keep this cat motif going?” Too long already. 

Trout will battle Nelson Cruz for the AL HR crown, but his issue is obviously the SBs. He has the skill to get back to the 20 stolen base benchmark and be atop Group 1 — but his SBs have been on the decline for years now. Which is crazy considering his spring speed is still in the 94th percentile. He’s still the best all-around baseball player on the planet though y’all. 

Bellinger and Yelich are on the comeback trail. Of the two I could see Yelich re-emerging as a member of Group 1, but I think Bellinger is right where he belongs. 50 HR potential, but the speed should decline a bit as he goes on. Think of him as a stronger Goldschmidt. As a young man Goldy was stealing 20-30 bases, but he hit a STEEP cliff as he aged. 

I know you’re all mad at me for ranking Albies this high, but I really see 25+/20+ potential in Albies with a .280 average and great team stats depending on where he hits in the Braves lineup.  


Group 3: Strong 4 category hitters.

Rank Player Team Position Age
15 Freddie Freeman ATL 1B 31
16 Rafael Devers BOS 3B 24
17 Eloy Jimenez CWS OF 24
18 Anthony Rendon LAA 3B 30
19 Alex Bregman HOU 3B 26
20 Yordan Alvarez HOU UTIL 23
21 Nolan Arenado STL 3B 29


A 100/30/100/.280 line is on the table for each of these guys. Stolen bases really aren’t part of the equation though which is why they’re just a step below. 

However, I think there could be some stolen base upside with Devers (he stole 18 in the minors in 2016.) If he can even just reach 10 could consider bumping him up to group 2. Although the counting stats might take a hit — I like Bogaerts, I like Verdugo — but that’s really it. 

Jimenez is a dark horse for AL MVP. In my opinion, the White Sox have the best offense in all of baseball. Don’t expect more than the accidental 2 SBs though.

Look, I get it. Arenado is leaving the best hitter’s park of all time — but let’s not act like he didn’t have some of the best bat to ball skills in the league. Last year he had the 8th best contact rate on balls in the zone and 21st-best contact rate on pitches out of the zone. He also upped his fly ball rate to the highest mark of his career (47% – 7th best in the league) Unfortunately, his hard contact rate was the lowest since 2014. If he keeps the fly ball gains, and starts making better contact — the HR dip might not be that dramatic. 


Group 4: The Big 3 Ace Starting Pitchers

Rank Player Team Position Age
22 Jacob deGrom NYM SP 32
23 Shane Bieber CLE SP 25
24 Gerrit Cole NYY SP 30


This is just a matter of preference as these three are your clear cut top arms. If you are still using wins as a category in your league — Bieber may drop a little bit. He might actually get a bit of the deGrom treatment: elite ratios and K’s — but not that many wins. deGrom is actually due for a wins increase with the off season additions the Mets made. I’m never as high on pitchers due to the higher risk of injury and the fact that you might only get 1 game per week out of them. 


Group 5: Solid 5 category hitters.

Rank Player Team Position Age
25 Manny Machado SD 3B 28
26 Xander Bogaerts BOS SS 28
27 Luis Robert CWS OF 23
28 Kyle Tucker HOU OF 24


Some would argue that these guys belong in group 2 — and some of you might be right. For Machado and Bogaerts it’s the stolen base ceiling. It’s more likely they fall to 5 or less stolen bases than increasing to 10+. 

For Robert and Tucker it’s the batting average. They both have 25/20 potential and are in great lineups, but they’ll both be taking their sophomorish lumps this year. The potential is there for upward mobility to group 2 — maybe even group 1 if their growth comes earlier than 2022. 


Group 6: Former #1 Prospect Club


Rank Player Team Position Age
29 Corey Seager LAD SS 26
30 Vladimir Guerrero Jr. TOR 1B/3B 22
31 Yoan Moncada CWS 3B 25


I expect all three of these guys to take big steps forward this year. 

Seager after an injury-ruined 2018 took 2019 as his recovery year. But came out crushing in 2020 hitting 15 HRs in only 52 games. 

Unmatched contact has always been Vlad’s calling card and now it seems like he’s gotten himself in great shape and should start to deliver on that #1 prospect promise. 

Moncada had a nifty 25/10/.315 season in 2019 and seemed on his way to a breakout, but COVID unfortunately had other plans. I’ll say it again — I think the White Sox have the best offense in baseball and if Moncada is fully healed up he should bounce back to pre-COVID numbers. 


Group 7: Second Tier Aces.


Rank Player Team Position Age
32 Aaron Nola PHI SP 27
33 Lucas Giolito CWS SP 26
34 Walker Buehler LAD SP 26
35 Jack Flaherty STL SP 25
36 Luis Castillo CIN SP 28


The second batch of starting pitchers are not bad consolation prizes if you miss out on the big 3. Of these five the one I could see taking a leap into the deGrom/Bieber/Cole stratosphere is Lucas Giolito. He’s already got the sexy K/9 (12.1) of an upper-echelon ace, and this season he should reach 16+ wins with the White Sox. Buehler could also get there, but for 2021 his innings will be what hold him back. Watch for a Castillo trade as well — his value could take a huge boost if he ends up on say — the Yankees. For Clint Frazier and Deivi Garcia maybe? 


Group 8: New York hitters


Rank Player Team Position Age
37 Pete Alonso NYM 1B 26
38 Aaron Judge NYY OF 28
39 DJ LeMahieu NYY 2B 32
40 Gleyber Torres NYY SS 24


I didn’t plan for these 4 to be right next to each other, but when I saw they were close I decided to run with the New York theme. Each has different upsides that could move them up into different groups, but downsides that are holding them down. 

Alonso: 50 HRs! .220 AVG…

Judge: 50 HRs! 50 ABs…

LeMahieu: .330 AVG! 15 HRs…

Torres: 40 HRs! .240 AVG…


Group 9: Veteran Pitchers


Rank Player Team Position Age
41 Trevor Bauer LAD SP 30
42 Yu Darvish SD SP 34
43 Blake Snell SD SP 28
44 Max Scherzer WSH SP 36


I had to be convinced to put Scherzer here. In reality I think he should be down in group 12. A 36 year old pitcher  with 2,300+ innings pitched in the past 12 seasons having the worst season of his career. “But — it’s Max Scherzer!” Mother Nature is undefeated y’all. 

I know I’m not breaking any new ground when I say that Bauer is just as likely to have an ERA over 4.00 as he is to have an ERA under 2.00. 


Group 10: Solid 5ish category hitters


Rank Player Team Position
45 Javier Baez CHC SS
46 Tim Anderson CWS SS
47 Keston Hiura MIL 2B
48 Austin Meadows TB OF
49 Cavan Biggio TOR 2B/3B/OF
50 Starling Marte MIA OF


There are 5 categories to be had from each of these guys — but each has his warts. 

Baez: did his plate discipline finally catch up with him? Highest K% of his career, lowest BB% — and there are rumors that his infield is about to become a lot less friendly. 

I’m not too worried about Hiura’s average — his minor league history was that of a .300 hitter. 

Marte is on the wrong side of 30 — how long do we see 25+ SBs? 

A fully healthy Austin Meadows is a sleeper MVP candidate in Tampa Bay in my opinion. He could rise up to group 2 territory with a bounceback season. 


Group 11: 4ish category veterans


Rank Player Team Position Age
51 Marcell Ozuna ATL OF 30
52 George Springer TOR OF 31
53 Jose Abreu CWS 1B 34
54 J.T. Realmuto PHI C 30


There’s a bit of volatility with these guys based on their age. 

Ozuna isn’t so far removed from that .241 season in 2019. 

Spring finds himself on a new team — it’s not the pressure-cooker of NY, but you never know how players will respond to new environs. 

Abreu is 34. Who knows if he starts to lose a little zip on his bat speed at this age. 

Realmuto is already down with a broken thumb. Yea, he should be fine for Opening Day, but who knows how that impacts him in the early going. 


Group 12: Young pitchers (and Clayton Kershaw)


Rank Player Team Position Age
55 Zac Gallen ARI SP 25
56 Max Fried ATL SP 27
57 Jesus Luzardo OAK SP 23
58 Brandon Woodruff MIL SP 28
59 Clayton Kershaw LAD SP 33
60 Tyler Glasnow TB SP 27
61 Stephen Strasburg WSH SP 32
62 Sixto Sanchez MIA SP 22
63 Chris Paddack SD SP 25


You want me to say that Tyler Glasnow should be the biggest riser in this group — but for my money it’s Zac Gallen. In his first 152 career big league innings he’s got a 2.78 ERA and a 10.5 K/9. I’m hoping the Diamondbacks pitching coaches are taking a look at the effectiveness of Gallen’s pitches. His highest thrown breaking pitch is his cutter and it is honestly his worst pitch. While his changeup has a .218 XBA in 2020 and his curveball has a .144 XBA — that cutter has a .311 XBA. This seems obvious to me. 

The only thing holding Sixto back is his sub-elite K/rate. He’s never had a K/9 over 9 at any point in his career. However, he’s never had a HR/9 over 0.8 or a walkrate over 2.5 so he doesn’t need huge strikeout numbers to be an effective real life pitcher. Fantasy though? You’d like to see more strikeouts. 


Group 13: Sluggers without average


Rank Player Team Position Age
64 Matt Olson OAK 1B 26
65 Eugenio Suarez CIN 3B 29
66 Giancarlo Stanton NYY OF 31
67 Nick Castellanos CIN OF 29
68 Luke Voit NYY 1B 30
69 Teoscar Hernandez TOR OF 28
70 Paul Goldschmidt STL 1B 33
71 J.D. Martinez BOS OF 33
72 Joey Gallo TEX OF 27
73 Carlos Correa HOU SS 26
74 Matt Chapman OAK 3B 27


In this latest dead ball era, you’re going to want one or two of these guys on your team regardless of the batting average hit. 

There’s 40 HRs in Olson’s bat, but as we saw last year — there’s also a sub-.200 batting average lurking in there too. 

Of this group the biggest mover I’m watching is Hernandez. In last year’s wonky season he was near the top of the leaderboard in exit velocity, hard hit rate, xBA, barrel % — and even spring speed?! How high could he fly if the power numbers are sustainable and he even chucks in a few extra SBs. 35/15? But with how low of an average — he was among the worst in whiff% and K%. 

I’m keeping Correa on this list for nostalgia’s sake, but this is his last chance to make an impact. He’s played over 111 games once in his career and has never touched 25 HRs or 15 SBs. I’m talking myself out of being on this list even now!


Group 14: Poor Man’s 5 Category Performers


Rank Player Team Position Age
75 Randy Arozarena TB OF 25
76 Trent Grisham SD OF 24
77 Dylan Carlson STL OF 22
78 Adalberto Mondesi KC SS 25
79 Whit Merrifield KC 2B/OF 32
80 Shohei Ohtani LAA SP/UTIL 26
81 Marcus Semien TOR SS 30


The player in this group I’m most optimistic about is Trent Grisham. Yea, he strikes out a lot, but you should be in an OBP league where he had a spicy 12.3% walk rate. One thing that worries me about Grisham though is the presence of Jake Cronenworth, Ha-Seong Kim, and Jurickson Profar. There are a lot of bats in that dugout and 27 outs. He could find himself sitting more than I’d like and one prolonged slump could turn into a season killer if his replacement gets hot. 


Group 15: Closers?!


Rank Player Team Position Age
82 Josh Hader MIL RP 26
83 Liam Hendriks CWS RP 32


I would never really recommend you keep closers, but if you can only pick two — these are the two I’d choose. Hendricks should flirt with 40-50 saves and Hader should again get a full Bruce Chen’s season worth of strikeouts while also getting near 40 saves. 


Group 16: Hitters I’d Rather Draft Than Keep


Rank Player Team Position Age
84 Michael Conforto NYM OF 28
85 Alec Bohm PHI 3B 24
86 Ketel Marte ARI 2B/OF 27
87 Brandon Lowe TB 2B/OF 26
88 Lourdes Gurriel Jr. TOR OF 27
89 Kyle Lewis SEA OF 25
90 Jarred Kelenic SEA OF 21


There’s nothing wrong with any of these guys — I’d just rather draft them than keep them. They’re all capable of 6-10 SBs, 25-30 HRs, a .275 AVG. Okay team stats. Kelenic obviously has upside TO THE MOON, but who knows if he’ll be up in late April like they said or if they manipulate his service time even more now just to prove a point. 


Group 17: Pitchers I’d Rather Draft Than Keep


Rank Player Team Position Age
91 Ian Anderson ATL SP 22
92 Jose Berrios MIN SP 26
93 Zach Plesac CLE SP 26
94 Corbin Burnes MIL SP 26
95 Nate Pearson TOR SP 24
96 Sonny Gray CIN SP 31
97 Dinelson Lamet SD SP 28
98 Kenta Maeda MIN SP 32
99 Lance Lynn CWS SP 33
100 Patrick Corbin WSH SP 31


Same story as group 16 — nothing inherently wrong with any of these pitchers. They should all get a high-3, low-4 ERA, 11-13 wins, a WHIP in the 1.25 range, and 170+ strikeouts, but they just don’t wow me for keeper eligibility.