Keith Law ranked his top 50 free agents.
Hayward came in at #1, Upton #4
1. Jason Heyward, RF/CF
Age: 26 | DOB: 8/9/1989
HT: 6-5 | WT: 245
2015 Stats
AVG OBP SLG HR SB WAR
.293 .359 .439 13 23 6.5
Heyward has already produced 31.1 WAR in his career (baseball-reference version), the 31st-best total for any position player through his age-25 season in major league history -- he's between Lou Gehrig and Roberto Alomar -- but I'd argue he hasn't even reached his full potential yet. Heyward's value so far as a big leaguer has been primarily on the defensive side, where he has been one of the most valuable fielders at any position in baseball for the past several years, starring in right field with the occasional stint in center.
I wrote last offseason when he was traded to St. Louis that getting out of Atlanta, where numerous position players stagnated or regressed during the Frank Wren era, was the best thing for him, and it played out that way, as the Cardinals tweaked his swing enough to get him to improve the quality of his contact so that he could post the best batting average and second-best OBP of his career. It's hard to pinpoint the start of his "new" swing, but after a dismal April, he hit .306/.375/.455 the rest of the way, and hit .318/.397/.469 after the All-Star break.
That said, the changes worked out in a way I didn't expect: Instead of getting Heyward to hit for more power, the changes made Heyward even more of a ground ball hitter, raising his BABIP but not his home run production.
This version of Heyward is comfortably a 5-6 WAR per year player, and he should hold that value for the length of whatever contract he gets, even if it runs seven years. But there's no physical reason he can't find 20-25 homer power again; he hit 27 in 2012 and 18 (in 142 games) in 2010. Shoulder problems caused him to shorten his swing -- specifically the path from his loaded position to the ball -- and more mechanical work might turn him into a 7 or 8 WAR player, especially with his peak offensive years ahead of him based on his age.
If a team can find a way to pay Heyward for what he's been rather than what he might be, it could actually come out ahead on the deal, a rarity at the top end of the free-agent market. I'd be fine giving him seven years and more than $150 million.