Looking through past editions of this article, I've tied myself in pretzels attempting to explain the methodology, using more words than probably anyone cared to read. So I'm going to try to keep at as simple as possible this time and let the chips fall where they may.

Bottom line is no keeper rank list can be one-size-fits-all. Every league can tweak any number of variables to its own liking, but to put together a rank list, I need one set of variables to work with. I can't straddle the fence between formats and still parse the difference between players. So I've made out this list with a particular format in mind.

I'm presuming that ...

  • Players are kept relative to where they were drafted, making value as important of a factor as quality. Naturally, I'm using 2023 average draft position to determine this. If your league allows you to keep every player at the same cost (or no cost at all), then you'll obviously just want to keep your best, which is pretty easy to determine from conventional redraft rankings.
  • Players can be kept from that same starting point for multiple years.
  • There's some sort of markup from one year to the next, usually like 1-3 rounds. So a fourth-round pick last year wouldn't cost a fourth-round pick this year, but a third-round pick, a second-round pick or maybe even a first-round pick.
  • Only a handful of players are kept -- say, 4-6. It's not a dynasty league, after all.

The rankings are necessarily wonky, in other words, so you'll want to take them more as a helpful hint than gospel truth. In them, I do pay deference to youth, upside, and my overall confidence in a player's capabilities, which is why the obvious first-rounders are so high on the list. If you have the opportunity to hold onto a player for years and years, at a cost commensurate to where you drafted him, then you should look to reap as many high-impact seasons as you can out of it. You should also take care not to keep a one-hit wonder.

No ad available

Of course, the bigger the discount, the higher the risk of that.

I should note that these are only the best keepers. I wouldn't doubt there are others worth keeping, depending on the context.

I should also note that the ADP data, for both Roto and H2H (points) scoring, was pulled from CBS Sports leagues.

No ad available
Top 50 keepers for 2024
Ronald Acuna RF
ATL Atlanta • #13 • Age: 27

1

Roto ADP

Round 1

H2H ADP

Round 1
No player in the history of Fantasy Baseball has ever had a year like Acuna just did, and he's only entering his prime at age 26. What better use of a first-round pick is there?
Bobby Witt SS
KC Kansas City • #7 • Age: 24

2

Roto ADP

Round 2

H2H ADP

Round 4
Witt came within a stolen base of having the fourth ever 30-homer, 50 steal season, which would have enshrined it as one of the all-time greats if not for what Acuna just did. Since we know Acuna will be kept everywhere, Witt should probably be, too.
Corbin Carroll LF
ARI Arizona • #7 • Age: 24

3

Roto ADP

Round 6

H2H ADP

Round 8
Carroll's rookie season established him as an obvious first-rounder, so even if your league uses a three-round markup, you're getting him at a discount based on 2023 cost. Kind of a no-brainer.
Julio Rodriguez CF
SEA Seattle • #44 • Age: 23

4

Roto ADP

Round 1

H2H ADP

Round 2
Even while being hampered by slow starts, Rodriguez is 2 for 2 in delivering first-round production to begin his career. At age 23, he's worth locking in at whatever the cost.
Fernando Tatis RF
SD San Diego • #23 • Age: 25

5

Roto ADP

Round 2

H2H ADP

Round 2
While he's been through the ringer already, Tatis will only turn 25 at the start of 2024. Even if we treat his 2021 like an impossible peak he'll never reach again (which I don't think is necessarily true), he has the look of a franchise player worth permanently stapling to your first-round pick.
Juan Soto LF
NYM N.Y. Mets • #22 • Age: 26

6

Roto ADP

Round 1

H2H ADP

Round 1
Soto's past two seasons weren't as gratifying as his first four, but like Tatis, he's only 25 and has his whole career ahead of him still. In points leagues, he should probably slot directly behind Acuna still given the superlative plate discipline.
Shohei Ohtani DH
LAD L.A. Dodgers • #17 • Age: 30

7

Roto ADP

Round 1

H2H ADP

Round 2
There's a case to be made that Ohtani isn't the best use of a first-round keeper selection given that he'll turn 30 in 2024 and isn't even a two-way player right now. Still, I don't think I could forgive myself if he went on to rewrite the record books after I threw him back because he wasn't discounted enough or whatever.
Gunnar Henderson 3B
BAL Baltimore • #2 • Age: 23

8

Roto ADP

Round 8

H2H ADP

Round 10
Now may be your last chance to lock in at some sort of discount what looks like a franchise player -- a discount that you may be able to savor for a couple more years, even, if the markup from year to year is only a round or two.
Jackson Holliday SS
BAL Baltimore • #7 • Age: 21

9

Roto ADP

N/A

H2H ADP

N/A
If you had the foresight to grab Holliday off the waiver wire at some point in 2023, then you have every reason to tie your fate to him now, with him sitting atop most prospect rankings and expected to compete for a job this spring. The discount you'd be locking in could set you up for years to come.
Jackson Chourio CF
MIL Milwaukee • #11 • Age: 20

10

Roto ADP

N/A

H2H ADP

N/A
See Holliday, Jackson. Chourio's opening day chances are perhaps even more likely after signing an eight-year, $82 million deal this offseason, and while the floor is a little lower than Holliday's, he also brings the power/speed combo that could vault him to first-round status someday.
Bryce Harper DH
PHI Philadelphia • #3 • Age: 32

11

Roto ADP

Round 11

H2H ADP

Round 11
Harper was probably drafted earlier in established keeper leagues than in redraft leagues, which are mostly what comprise this ADP, but the discount figures to multiple rounds either way for a guy who could easily deliver first-round numbers now that his Tommy John surgery is behind him.
Kyle Tucker RF
CHC Chi. Cubs • #30 • Age: 27

12

Roto ADP

Round 1

H2H ADP

Round 2
Though Tucker has the numbers of a slam-dunk first-rounder, the underlying skills (namely the speed) aren't as loud as for some of those ahead of him here, which might make some think twice when weighing the keeper cost. Nonetheless, I'm ranking him 12th.
Spencer Strider SP
ATL Atlanta • #99 • Age: 26

13

Roto ADP

Round 3

H2H ADP

Round 3
The top pitcher on this list will cost a pretty penny to keep but may at least come at a discount of a round or so. At a time when starting pitcher looks especially weak at the top, nobody approaches Strider's strikeout upside.
Yordan Alvarez DH
HOU Houston • #44 • Age: 27

14

Roto ADP

Round 1

H2H ADP

Round 2
The bat is unquestionably first round-caliber, and at 27, he theoretically has years of elite production ahead of him. But his all-too-frequent health scares do set him back a few spots when projecting for the long haul.
Elly De La Cruz SS
CIN Cincinnati • #44 • Age: 22

15

Roto ADP

N/A

H2H ADP

N/A
It's possible (though maybe not probable) that De La Cruz's contact and launch angle issues prevent him from ever being an out-and-out stud. But the tools are so loud that it's hard to imagine him being an out-and-out flop, which he'd pretty much have to be not to live up to this keeper cost.
Wyatt Langford OF
TEX Texas • #36 • Age: 23

16

Roto ADP

N/A

H2H ADP

N/A
Langford was drafted fourth overall in July and then plowed through the Rangers' entire minor league system in the months that followed, putting himself at the precipice of a call-up already. The only way you could have him is by grabbing him off the waiver wire, so now is your chance to lock in a potential stud for dirt cheap.
Corey Seager SS
TEX Texas • #5 • Age: 30

17

Roto ADP

Round 4

H2H ADP

Round 4
Seager finally put it all together with an MVP-caliber season, and chances are you can keep him without paying a first-round cost. He's on the verge of his 30th birthday, though, and has enough of an injury history that you might prefer to keep some of the younger options ahead of him here.
Mookie Betts RF
LAD L.A. Dodgers • #50 • Age: 32

18

Roto ADP

Round 1

H2H ADP

Round 1
After setting a career high in home runs each of the past two years, the 31-year-old Betts is probably due for a downturn soon, but seeing as he's been a slam-dunk first-rounder for the better part of the last decade, there's no sense in jumping ship now.
Matt Olson 1B
ATL Atlanta • #28 • Age: 30

20

Roto ADP

Round 4

H2H ADP

Round 4
The monster output that many predicted for Olson when he came to Atlanta indeed happened in Year 2. The slight delay gives you a chance to secure him at a round or two discount.
Freddie Freeman 1B
LAD L.A. Dodgers • #5 • Age: 35

19

Roto ADP

Round 2

H2H ADP

Round 2
Yeah, he's getting old, but with all the other first-round bats being kept, it's just not likely that you'll find a better use of that pick than Freeman, who's been as reliable of a stud as there is.
Trea Turner SS
PHI Philadelphia • #7 • Age: 31

21

Roto ADP

Round 1

H2H ADP

Round 1
Though Turner's first season in Philadelphia ended much better than it started, some underlying plate discipline readings raise the question of whether he's still a shoo-in for first-round production. But again, how else are you going to use that pick with so many other first-rounders being kept?
Junior Caminero 3B
TB Tampa Bay • #13 • Age: 21

22

Roto ADP

N/A

H2H ADP

N/A
Among what looks to be a loaded prospect class, Caminero is sometimes overlooked due to his lack of base-stealing, but imagine if he delivers on the Adrian Beltre comp and you got in while the cost was still a late-round pick.
Aaron Judge RF
NYY N.Y. Yankees • #99 • Age: 32

23

Roto ADP

Round 1

H2H ADP

Round 1
Yes, he'll be 32 in 2024 and has a frustrating injury history, but it was only two years ago that Judge was far and away the best player in Fantasy. He's an obvious first-rounder, and we're running out of those at this point.
Jose Ramirez 3B
CLE Cleveland • #11 • Age: 32

24

Roto ADP

Round 1

H2H ADP

Round 1
By my count, Ramirez is the last first round-caliber bat to be named here (17 in all), and it stands to reason that if all the others are being kept, he needs to be, too. You don't want to be the only team who doesn't have one because you got too cute with your keepers.
Gerrit Cole SP
NYY N.Y. Yankees • #45 • Age: 34

25

Roto ADP

Round 2

H2H ADP

Round 1
Neither pitchers nor 33-year-olds make for the most enticing keepers, particularly when the cost is what it is for Cole. But after a year of hair-raising unpredictability at the position, there's something comforting about starting out with the most reliable ace, particularly if the cost gets pushed to Round 2 or 3 because of the hitters you're also keeping.
Ozzie Albies 2B
ATL Atlanta • #1 • Age: 27

26

Roto ADP

Round 4

H2H ADP

Round 5
Feels like Albies has been a fixture on these lists ever since I started making them. Forever young and forever underestimated, the production is always so bankable for the cost. The exception was his injury-plagued 2022, which is why the discount is a round or two better this time.
Austin Riley 3B
ATL Atlanta • #27 • Age: 27

27

Roto ADP

Round 2

H2H ADP

Round 3
Whatever markup your league uses likely pushes Riley's keeper cost into Round 1, and for redraft purposes, I rank him just outside that group of 17 first round-caliber hitters. But if you aren't already keeping one of those, it's all the more pressure to keep a hitter like Riley, and if you are already keeping one, well, his cost isn't actually a first-round pick, is it?
Rafael Devers 3B
BOS Boston • #11 • Age: 28

28

Roto ADP

Round 2

H2H ADP

Round 2
The same logic for Riley also applies for his slightly lesser counterpart, Devers, but I'll add that both are heading into their age-27 season. So while they miss the first-round cutoff this year, there are probably future years where they won't, at which point you'll be glad you stuck with them.
C.J. Abrams SS
WAS Washington • #5 • Age: 24

29

Roto ADP

Round 21

H2H ADP

N/A
Abrams is still pretty flawed as a hitter, which makes it possible he could go belly up, but he's doing well enough for 23. And his 38 steals over the final three months gives you some idea what his upside is, particularly for Rotisserie leagues.
Tarik Skubal SP
DET Detroit • #29 • Age: 28

30

Roto ADP

N/A

H2H ADP

N/A
Skubal is far from proven, but he was a revelation after coming back from elbow flexor surgery midseason, gaining a couple ticks on his fastball while lapping the field in xERA and FIP. If he can sustain that over a full season, you'll be glad you locked him up at this price.
Royce Lewis 3B
MIN Minnesota • #23 • Age: 25

31

Roto ADP

N/A

H2H ADP

N/A
Lewis has done nothing but hit when he's been able to take the field and went on a massive power binge to end 2023. Durability remains a concern, but that's the only reason you were able to get him at this keeper-friendly cost.
Matt McLain SS
CIN Cincinnati • #9 • Age: 25

32

Roto ADP

N/A

H2H ADP

N/A
McLain didn't enter 2023 with much prospect hype but surged in the minors and continued to deliver good power and speed numbers in the majors. The strikeout rate was a bit concerning, and it might have eventually dragged him down if an oblique injury hadn't ended his season early.
Evan Carter LF
TEX Texas • #32 • Age: 22

33

Roto ADP

N/A

H2H ADP

N/A
As for the question of how his power would play in the majors, Carter has mostly answered in the affirmative, which makes him pretty close to the complete package. He doesn't impact the ball the way some of the prospects further up the list do, though, which suggests a lower ceiling overall.
Eury Perez SP
MIA Miami • #39 • Age: 21

34

Roto ADP

N/A

H2H ADP

N/A
You could argue for more proven pitchers at slightly lesser discounts here, but Perez stands apart for his upside, as evidenced by his 15.7 percent swinging-strike rate as a rookie. Durability isn't a given, but you're getting in cheap here.
Cody Bellinger CF
NYY N.Y. Yankees • #24 • Age: 29

35

Roto ADP

Round 17

H2H ADP

Round 18
Bellinger returned to a near-MVP level at about the point when everyone gave up on him, which makes him heavily discounted here. Since some of the underlying data is suspect, his keeper appeal is somewhat contingent on where he signs -- but only somewhat.
Tyler Glasnow SP
LAD L.A. Dodgers • #31 • Age: 31

36

Roto ADP

Round 15

H2H ADP

Round 15
Glasnow was already on the mend from Tommy John surgery when he suffered an oblique injury in spring training, which apparently turned off drafters to the point that he's all too easy to keep now, even acknowledging the dreadful injury history.
Pablo Lopez SP
MIN Minnesota • #49 • Age: 28

37

Roto ADP

Round 14

H2H ADP

Round 14
With a new sweeper and a couple extra ticks on his fastball, Lopez became a strikeout machine in 2023, putting him on the verge of ace status in Fantasy. He doesn't have the track record, but he's young enough at 28 that you might get to enjoy the discount for a few years.
Jose Altuve 2B
HOU Houston • #27 • Age: 34

38

Roto ADP

Round 9

H2H ADP

Round 10
You can thank a fractured thumb for Altuve's tumble down draft boards last season, and while that tumble would normally be less in keeper leagues, Altuve's chances for decline at age 33 might have further contributed to it in that format. Turns out he's a borderline second-rounder for 2024.
Nolan Jones LF
COL Colorado • #22 • Age: 26

39

Roto ADP

N/A

H2H ADP

N/A
If we're taking at face value Jones' .297 batting average, 20 homers and 20 steals in just 106 games -- and Coors Field theoretically makes it possible -- then he's a no-brainer keeper at a late-round cost. But between his high strikeout rate and the Rockies', uh, rockiness, there's a chance it doesn't work out.
Joshua Lowe RF
TB Tampa Bay • #15 • Age: 26

40

Roto ADP

N/A

H2H ADP

N/A
Lowe's across-the-board production in 2023 came as a surprise after an underwhelming rookie season, and of course, those who bought in post-hype will want to savor their victory all over again. Playing for the Rays, with their playing-time chicanery, drops him further down this list.
Noelvi Marte 3B
CIN Cincinnati • #16 • Age: 23

41

Roto ADP

N/A

H2H ADP

N/A
At first glance, Marte isn't the sort of can't-miss prospect that would take priority over more proven major-leaguers, but he absolutely clobbered the ball in a late-season trial and showed an eagerness to run as well. I like the upside enough to lock him in at this low cost.
Cole Ragans RP
KC Kansas City • #55 • Age: 27

42

Roto ADP

N/A

H2H ADP

N/A
With the addition of a slider after joining the Royals rotation, Ragans' arsenal is truly dominant and made him a strikeout artist down the stretch. You should be delighted to lock in the ace upside at such a low cost, but his past struggles with health and control have moved him down this list.
Nico Hoerner 2B
CHC Chi. Cubs • #2 • Age: 27

43

Roto ADP

Round 15

H2H ADP

Round 19
Hoerner's lack of power hinders his upside, but there comes a point where you can overthink these things. He was the No. 4 second baseman in both points and Rotisserie leagues last year, and you might have to draft him 10 rounds earlier than you could keep him.
Blake Snell SP
LAD L.A. Dodgers • #7 • Age: 32

44

Roto ADP

Round 9

H2H ADP

Round 8
After years of frustrating inconsistency, Snell is now a reigning Cy Young winner. His strikeout rate bought him enough benefit of the doubt in years past that the keeper discount is a fairly modest one, particularly if there's any sort of markup in your league, but clearly the impact potential justifies even a round or two discount.
Freddy Peralta SP
MIL Milwaukee • #51 • Age: 28

45

Roto ADP

Round 13

H2H ADP

Round 14
Something to keep in mind as we savor the discounted rate for these high-strikeout hurlers is that they're mostly discounted because they failed us in the past. Volatility is inherent to the role, which is why Peralta, who's my 14th-ranked pitcher for 2024, is this far down the list.
Logan Webb SP
SF San Francisco • #62 • Age: 28

46

Roto ADP

Round 9

H2H ADP

Round 8
Webb offers the stability lacking in several of the pitchers ahead of him here, but he doesn't offer the big strikeout upside and, well, isn't as heavily discounted. Still, for a Cy Young runner-up with a workhorse reputation, it's discount enough.
Triston Casas 1B
BOS Boston • #36 • Age: 24

47

Roto ADP

Round 17

H2H ADP

Round 19
Casas won't be a stud unless he begins playing against left-handers more consistently, but after he slashed .317/.417/.617 in the second half, homering 15 times in 54 games, I have a feeling that's coming and want to lock in this discount for when it does.
Grayson Rodriguez SP
BAL Baltimore • #30 • Age: 25

48

Roto ADP

Round 18

H2H ADP

Round 17
Rodriguez was actually a couple spots higher on last year's list even though he's now tasted some success in the majors. It was a mixed rookie season, but he finished strong and still has ace upside, to the extent you can trust in such things.
Bryson Stott 2B
PHI Philadelphia • #5 • Age: 27

49

Roto ADP

Round 24

H2H ADP

N/A
I'm not totally comfortable with the gap between Hoerner and Stott given that Stott has a little more pop in his bat and delivered similar numbers otherwise. But he's not as established of a hitter and carries more bust risk even though the price tag is lower.
Kodai Senga SP
NYM N.Y. Mets • #34 • Age: 31

50

Roto ADP

Round 14

H2H ADP

Round 13
Not everyone was bought into Senga at this time a year ago given his durability and control issues in Japan, and those issues are still in play today. But his "ghost fork" has proven to be such an effective bat-misser that the risk is more tolerable, sending the price way up.

Others receiving consideration

Justin Steele
CHC • SP • #35
Roto ADPRound 23
H2H ADPRound 21
View Profile
Kyle Bradish
BAL • SP • #38
Roto ADPN/A
H2H ADPN/A
View Profile
Bobby Miller
LAD • SP • #70
Roto ADPN/A
H2H ADPN/A
View Profile
Tanner Bibee
CLE • SP • #28
Roto ADPN/A
H2H ADPN/A
View Profile
Walker Buehler
LAD • SP • #21
Roto ADPN/A
H2H ADPN/A
View Profile
Spencer Torkelson
DET • 1B • #20
Roto ADPRound 24
H2H ADPRound 21
View Profile
Ha-seong Kim
SD • 2B • #7
Roto ADPRound 24
H2H ADPRound 22
View Profile
Josh Jung
TEX • 3B • #6
Roto ADPRound 20
H2H ADPRound 21
View Profile
Zach Eflin
BAL • SP • #24
Roto ADPRound 23
H2H ADPRound 17
View Profile

I'd also like to give a special shout-out to Vladimir Guerrero, who would probably cost you a first-round pick to keep even though he's fallen short of that standard two years in a row now. He's still only 24 with a Statcast page decked in red and that incredible 2021 season on his resume. He has best-in-Fantasy-type upside and his whole career ahead of him still, so if you can keep him for anything less than a first-round pick -- maybe you're already keeping a first-rounder or two and it pushes his keeper cost to Round 2 or 3 -- you should probably do it lest he become some other team's Hercules for the next decade.