This offseason's free-agent class didn't end up as glamorous as projected a couple of years ago. Yes, we have Bryce Harper and Manny Machado, but Harper isn't coming off a great season. Clayton Kershaw decided to stay with the Dodgers rather than opt out. Andrew McCutchen is no longer an MVP candidate. Josh Donaldson and Andrew Miller are coming off injury-plagued seasons.
Donaldson was the first big signing of the offseason, and as we wait to see what else unfolds, it's always important to note next year's free agents because that can influence what a team does now and how it spends its money. Players in their final year also are potential trade bait -- either in the offseason or during the season.
So keep this in your back pocket -- my top-30 free agents for the 2019-20 offseason (the player's seasonal age for 2020 is included in parentheses):
1. Nolan Arenado, Colorado Rockies (29)
2018 stats: .297/.374/.561, 38 HR, 5.6 WAR
The Rockies would obviously love to extend their franchise player, a six-time Gold Glove winner who has finished eighth, fifth, fourth and third in the MVP balloting the past four seasons. If the season begins with Arenado unsigned, the odds are he hits free agency -- and once that happens, the player almost always signs with a new team. Arenado, however, probably will want to wait to see what Harper and Machado get in free agency before he talks extension. The Rockies aren't going to trade him, but his situation complicates their offseason: Do they try to improve the team for one last run with Arenado without knowing whether he'll be on the roster beyond 2019?
Trade bait? Unlikely, unless the Rockies fall out of the race in July.
2. Gerrit Cole, Houston Astros (29)
2018 stats: 15-5, 2.88 ERA, 200.1 IP, 276 SO, 5.3 WAR
Cole went to the Astros, started throwing his four-seam fastball up in the zone more often and had the season everyone dreamed he could put together after the Pirates drafted him No. 1 overall in 2011. He fanned 34.5 percent of the batters he faced -- the eighth-highest single-season rate for a starter in major league history -- and if he does that again, he could be looking at a $200 million-plus deal.
Trade bait? No.
3. Chris Sale, Boston Red Sox (31)
2018 stats: 12-4, 2.11 ERA, 158 IP, 237 SO, 6.9 WAR
I rate Cole ahead of Sale because he's two years younger and Sale's shoulder problems that sidelined him much of the final two months of 2018 are a concern heading into 2019. The Red Sox would love to extend Sale, but they also need to find out if he's healthy before making a large commitment, so he probably heads into the 2019-20 offseason as a free agent.
Trade bait? No.
4. Xander Bogaerts, Boston Red Sox (27)
2018 stats: .288/.360/.522, 23 HR, 3.8 WAR
The Red Sox could have four impact free agents after the 2019 season if J.D. Martinez opts out, and you could argue that re-signing Bogaerts should be the top priority. No, he's not in the Francisco Lindor or Carlos Correa class, but he'll be reaching free agency at 27, is coming off a 135 OPS+ season and has averaged 3.6 WAR the past four years. His defense took a hit in 2018 (minus-19 defensive runs saved), so the only red flag is that he might have to move off shortstop in a few years.
Trade bait? No.
5. Anthony Rendon, Washington Nationals (30)
2018 stats: .308/.374/.535, 24 HR, 4.2 WAR
FanGraphs liked Rendon's season even more than Baseball-Reference did, crediting him with 6.3 WAR, second to Christian Yelich among National League position players. Baseball-Reference WAR totals since 2014, Rendon's first full season with the Nationals:
Rendon: 21.1
Harper: 18.6
Rendon holds a similar edge in FanGraphs WAR. He won't get $300 million because of his age, but he has been the Nationals' best player the past five seasons, not Harper.
Trade bait? Only if the Nationals fall out of the race.
6. J.D. Martinez, Boston Red Sox (32)
2018 stats: .330/.402/.629, 43 HR, 6.4 WAR
If Martinez has another monster season, he'll almost certainly exercise his opt-out clause and forgo the remaining three years and $62.5 million on his contract. Edwin Encarnacion got three years and $60 million from the Indians for his age-34-to-36 seasons, and Martinez is better.
Trade bait? No.
7. Paul Goldschmidt, Arizona Diamondbacks (32)
2018 stats: .290/.389/.533, 33 HR, 5.4 WAR
He hasn't been as good the past three seasons (138 OPS+, 15.9 WAR) as during his 2013-15 peak (162 OPS+, 20.4 WAR), but he was still good enough to finish third and sixth in the MVP balloting the past two seasons. There are some small red flags here: His strikeout rate this year was his highest since his rookie season, and he has gone from 32 steals in 2016 to seven in 2018. He has hit just as well on the road as at home in his career, so changing parks shouldn't be an issue.
Trade bait? Yes, maybe the most likely guy on this list to be dealt (the Cardinals and Astros are possible landing spots).
8. Justin Verlander, Houston Astros (37)
2018 stats: 16-9, 2.52 ERA, 214 IP, 290 SO, 6.2 WAR
If you didn't know his age, you'd be willing to give Verlander a long-term deal at a mega-millions amount. He has finished second, fifth and second in the past three Cy Young votes and just recorded a career-high 290 strikeouts. He'll be 37 in 2020, but he has posted 30 starts and 200 innings every season of his career except 2015.
Trade bait? No.
9. Josh Donaldson, Atlanta Braves (34)
2018 stats: .246/.352/.449, 8 HR, 1.2 WAR
He has already signed a one-year deal with the Braves for $23 million. If he's healthy and productive, he'll get a longer-term deal next offseason even though he'll be 34.
Trade bait? No.
10. Madison Bumgarner, San Francisco Giants (30)
2018 stats: 6-7, 3.26 ERA, 129.1 IP, 109 SO, 2.4 WAR
He could rise much higher or fall even further on this list based on his 2019 performance. He still had a solid ERA in 2018, but his strikeout rate was the lowest since his rookie season, and his swing-and-miss rate is down more than 5 percent from 2015, suggesting an overall decline in stuff.
Trade bait? It might seem anathema to trade Bumgarner, but new GM Farhan Zaidi doesn't have the emotional ties to the franchise. A trade is possible, although the return might not be enough to warrant one.
11. Didi Gregorius, New York Yankees (30)
2018 stats: .268/.335/.494, 27 HR, 4.2 WAR
He'll miss at least the first half of 2019 after Tommy John surgery. He has topped 20 home runs three seasons in a row, and he's a better defensive shortstop than Bogaerts. He has been helped by Yankee Stadium -- 42 of his 72 home runs the past three seasons have come at home -- and he'll hit free agency at an age when many shortstops start to lose their range.
Trade bait? Not while he's injured. He's expected to earn about $12.4 million in arbitration (via MLB Trade Rumors), and there's a chance the Yankees decide to nontender him. (The deadline to offer players a 2019 contract is Friday.)
12. Zack Wheeler, New York Mets (30)
2018 stats: 12-7, 3.31 ERA, 182.1 IP, 179 SO, 3.9 WAR
After missing two full seasons and struggling with a 5.21 ERA in 2017, Wheeler finished strong in 2018 with a 1.68 ERA over his final 11 starts. He always has had premium stuff and averaged 96.5 mph with his fastball, but he threw more strikes than ever in that stretch. If he does it again, he'll get a handsome reward.
Trade bait? The rumors are swirling around Noah Syndergaard, but those might be media-created fetishes more than anything. Wheeler certainly becomes trade bait at the July deadline if the Mets haven't signed him and they're out of the race.
13. Marcell Ozuna, St. Louis Cardinals (29)
2018 stats: .280/.325/.433, 23 HR, 2.9 WAR
Who is the real Ozuna? He had a monster first half in 2016 but struggled in the second half. He had a huge 2017, hitting .312/.376/.548 with 37 home runs. Traded to the Cardinals, his slugging percentage fell off 125 points in 2018 as he had only 40 extra-base hits in 582 at-bats. A nagging shoulder injury certainly might have affected his production -- he finally received a cortisone injection in late August, and had a short stint on the DL. His 2019 season will determine what type of long-term offers he'll get, but he'll be an interesting gamble regardless. While he's a good defensive left fielder right now, he's not particularly fast, he doesn't walk much (career .329 OBP) and he's topped 23 home runs only once.
Trade bait? No. The Cardinals are looking to add, not subtract.
14. Rick Porcello, Boston Red Sox (31)
2018 stats: 17-7, 4.28 ERA, 191.1 IP, 190 SO, 3.1 WAR
He has been extremely durable, and he's no longer just the groundball specialist he was with the Tigers. Nothing too fancy here, but he projects as a dependable mid-rotation starter.
Trade bait? No.
15. Aaron Hicks, New York Yankees (30)
2018 stats: .248/.366/.467, 27 HR, 4.7 WAR
The former first-round pick has blossomed with the Yankees after failing to break through with the Twins, and I could be underrating him here, given his power numbers and walk rate (90 walks). His defensive metrics were outstanding in 2017 but less so in 2018 (minus-3 DRS), and he's kind of a thick-bodied guy, so I'm thinking he moves to right field in his early 30s.
Trade bait? No.
16. Miles Mikolas, St. Louis Cardinals (31)
2018 stats: 18-4, 2.83 ERA, 200.2 IP, 146 SO, 4.1 WAR
The command specialist who discovered himself in Japan signed with the Cardinals and led the NL with 18 wins and a sub-3.00 ERA. Like all pitchers who don't throw hard, he'll have to prove he can do it again, and the low strikeout rate suggests he'll be hard-pressed to match that 2.83 ERA.
Trade bait? No.
17. Scooter Gennett, Cincinnati Reds (30)
2018 stats: .310/.357/.490, 23 HR, 4.2 WAR
That's two good seasons in a row at the plate, and he hit better on the road in 2018, so the home run numbers aren't all park-inflated. He doesn't walk much, and he's limited to second base on defense, where he's not exactly a Gold Glove candidate, so all his value resides in his ability to keep hitting.
Trade bait? Yes. The Reds have prospect Nick Senzel on the cusp of the majors. The trouble is Gennett's trade value is limited because there is a glut of second basemen in free agency (Jed Lowrie, Daniel Murphy, DJ LeMahieu, Brian Dozier, Ian Kinsler, Josh Harrison, Asdrubal Cabrera). With Gregorius injured, the Yankees could be interested, with Gleyber Torres sliding over to shortstop.
18. Yasiel Puig, Los Angeles Dodgers (29)
2018 stats: .267/.327/.494, 23 HR, 2.7 WAR
More flash than substance, Puig was better at 22 and 23 (9.8 WAR) than he has been at 26 and 27 (6.4 WAR). He's very good in right field, but for whatever reason has struggled two years in a row against lefties (.197/.292/.320).
Trade bait? Yes. Trade Puig to clear room for Harper?
19. Khris Davis, Oakland Athletics (32)
2018 stats: .247/.326/.549, 48 HR, 2.9 WAR
Davis is a one-dimensional slugger who is limited to DH, but at least he's really good at it, with three straight 40-homer seasons and an MLB-best 48 in 2018. He also has hit exactly .247 four straight seasons, which is maybe the greatest baseball oddity of all time. How about a two-year contract for $24.7 million? (He'll get a lot more than that if he hits 40 again.)
Trade bait? No, unless the A's are struggling at the July deadline.
20. Francisco Cervelli, Pittsburgh Pirates (34)
2018 stats: .259/.378/.431, 12 HR, 2.6 WAR
He has a .368 OBP in his four seasons with the Pirates and even added a little power for the first time. He even had his best season throwing out runners (39 percent vs. a career rate of 23 percent). Nothing about him blows you away, but about 25 teams could use him behind the plate.
Trade bait? Not yet. But the Pirates have one of the best backups in the league in Elias Diaz, so Cervelli could be available in July.
21. Dellin Betances, New York Yankees (32)
2018 stats: 4-6, 2.70 ERA, 66.2 IP, 115 SO, 1.7 WAR
He's older than you might think since it took him so long to reach the majors, but the four-time All-Star is still one of the most intimidating relievers in the majors with his size, fastball and occasional pitch that gets away (he has hit 16 batters the past two seasons). The control problems that plagued him down the stretch in 2017 weren't an issue in 2018, however, and he dominated with 15.5 K's per nine. Even given his age, he seems to be a safe bet to remain productive on a multiyear contract.
Trade bait? No.
22. Cole Hamels, Chicago Cubs (36)
2018 stats: 9-12, 3.78 ERA, 190.2 IP, 188 SO, 3.7 WAR
He'll be on the wrong side of 35 when he hits free agency, but he has made 30 starts every season since 2008, except 2017, when he had only 24 because of an oblique injury. His strikeout rate jumped back up in 2018 after a big dip in 2017 (maybe related to the injury), and he was extremely homer-prone with the Rangers before posting a 2.36 ERA with the Cubs (he also hit 19 batters). Still, he's the type of veteran presence clubs love to have, and while he's on the downturn, he hasn't had a bad season yet.
Trade bait? No.
23. Jonathan Schoop, Milwaukee Brewers (28)
2018 stats: .233/.266/.416, 21 HR, 1.4 WAR
So far, it has been one big season (5.2 WAR in 2017) and a whole lot of meh. He's solid at second base but not good enough that he's helping much with a .266 OBP. As a free agent, he'll be young enough to attract some interest if he bounces back, but the 2017 season looks more like a fluke to me.
Trade bait: Not much trade value after his poor season, although it will be interesting to see if the Brewers nontender him and find a more reliable second baseman via trade (how about Gennett?) or free agency.
24. Jhoulys Chacin, Milwaukee Brewers (32)
2018 stats: 15-8, 3.50 ERA, 192.1 IP, 156 SO, 2.0 WAR
He has had two solid years in a row, and while the peripheral numbers aren't exciting (the walks are a little high, the strikeouts a little low), his slider has become a big weapon. He projects as a solid back-end starter for a few more years if he stays healthy.
Trade bait? Not with the Brewers looking to defend their NL Central title.
25. Nicholas Castellanos, Detroit Tigers (28)
2018 stats: .298/.354/.500, 23 HR, 2.9 WAR
He was a bad third baseman and now is a bad right fielder, so all his value is with the bat. He won't be an old free agent, however, so there should interest from AL teams who want to use him primarily as a DH. The strikeout-to-walk ratio (151 to 49) is a little disconcerting. I'd be wary about a heavy investment here.
Trade bait: Yes. The Tigers aren't going anywhere in 2018, and Miguel Cabrera needs to move to DH, so I don't see a long-term home for Castellanos in Detroit.
26. Sonny Gray, New York Yankees (30)
2018 stats: 11-9, 4.90 ERA, 130.1 IP, 123 SO, 0.6 WAR
Gray was good on the road (3.17 ERA) but lousy at Yankee Stadium (6.98 ERA), and Buster Olney wrote the other day that the Yankees believe he's one of those guys who just couldn't handle New York. His fastball velocity was the same as always, although as Olney pointed out, he threw it a lot less (35 percent) than he has in the past. He needs a change of scenery, and if he bounces back, he'll move up this list.
Trade bait: Yes. Pretty much a sure thing the Yankees find a taker for him (Reds or A's are good bets).
27. Starlin Castro, Miami Marlins (30)
2018 stats: .278/.329/.400, 12 HR, 3.3 WAR
I can't imagine the Marlins picking up his $16 million option for 2019. No, he has never lived up to that Sports Illustrated cover hype, but he has rebounded from a couple of sub-.300 OBP seasons earlier in his career to hit .288/.333/.423 the past two seasons. The 3.3 WAR was his best since 2012, and he'll still be only 30 when he hits free agency.
Trade bait: Yes. As with Gennett, however, there might not be much of a trade market for second basemen.
28. Corey Dickerson, Pittsburgh Pirates (31)
2018 stats: .300/.330/.474, 13 HR, 3.8 WAR
He was a totally different player with the Pirates, sacrificing power for a higher average by cutting down his strikeouts and suddenly transforming from a below-average left fielder to a Gold Glove winner. Still, he never walks, and I'm not sure I'm buying the defense.
Trade bait: Like Cervelli, he'll be available if the Pirates are floundering in July.
29. Jose Abreu, Chicago White Sox (33)
2018 stats: .265/.325/.473, 22 HR, 1.7 WAR
The White Sox probably should have traded him after a strong 2017, but they kept him in part because of his status as a mentor to Yoan Moncada. Unfortunately, he just produced the C.J. Cron starter kit, and that got Cron designated for assignment (and claimed on waivers by the Twins).
Trade bait: In theory, yes, but there isn't a lot of demand for the 2018 version of Abreu.
30. Hyun-Jin Ryu, Los Angeles Dodgers (33)
2018 stats: 7-3, 1.97 ERA, 82.1 IP, 89 SO, 2.2 WAR
The 1.97 ERA was a stone-cold fluke, but he did have a 3.00 FIP and a career-high strikeout rate. He has had a sizable reverse platoon split over his career, which I always like from a lefty, and owns a 3.20 career ERA. Health and conditioning make him a risk, but he has been a good pitcher.
Trade bait: No. The Dodgers were probably a little surprised he accepted their qualifying offer.
Players with team options for 2020 that probably would be exercised: Matt Carpenter, Anthony Rizzo, Jose Quintana, Starling Marte, Chris Archer, Carlos Carrasco, Corey Kluber, Adam Eaton, Sean Doolittle
Players unlikely to exercise opt-out clauses: Elvis Andrus, Jason Heyward, Stephen Strasburg, Kenley Jansen