Hindsight is 20/20, but halfway into the 2018 NFL season the best and worst moves of the offseason are starting to show. Here's a look at the 13 best and 13 worst moves, as of the results following Week 8.
Cousins received an unprecedented, guaranteed three-year, $84 million contract in the offseason after coming over from Washington. Minnesota has had issues on defense this year, but Cousins has clearly improved the quarterback situation, completing nearly 71 percent of his passes with 16/4 TD/INT in eight games.
It's been quite the struggle for Denver at quarterback since Peyton Manning retired. From taking Paxton Lynch in the first round to seeing Trevor Siemian fail last year, the Broncos haven't caught a break. That also looks to be the case this year after signing Keenum to a two-year deal. The former Vikings starter leads the league with 10 interceptions, throwing at least one each game in the team's 3-5 start to the year.
Smith has played well for Washington, but that's not the point. Kansas City risked trading a proven commodity at quarterback — and one who led the Chiefs to four playoff appearances in five seasons — to give the reins to 2017 first-round pick Patrick Mahomes. Now Mahomes is the current favorite to win league MVP.
Cleveland signed Taylor to be a placeholder for Baker Mayfield. Unfortunately, he only lasted a little more than two games, getting benched during Week 3 and completing less than 50 percent of his passes overall. Maybe Mayfield would have played early in the year anyway, but Taylor didn't give the team much choice.
New England had Cooks for only one season before trading him to the Rams for a first-round pick. The cost has been hefty, but Cooks has been a clear No. 1 wideout with 35 receptions for 643 yards and two scores in eight games.
It looked as if the 49ers were bidding against themselves when they signed McKinnon to a four-year, $30 million after his time in Minnesota as a backup. McKinnon tore his ACL in training camp after concerns he couldn't handle a full workload, and the 49ers have mixed and matched at running back since then.
Cleveland traded for Landry and signed him to a long-term deal after three straight Pro Bowl seasons. He's been an extremely reliable receiver for Baker Mayfield, with 49 receptions for 528 yards and two scores in eight games. Landry's importance was even greater after the team gave up on Josh Gordon.
After a good season in Indianapolis, albeit in only 10 games, the Raiders signed Melvin for $6.5 million this year. He was benched by Week 6 due to his struggles in coverage.
The signing of Michael Crabtree garnered most of the headlines among the Ravens offseason wide receiver moves, but Brown has been their greatest addition. Overcoming recent injury and sickle cell issues in Arizona, Brown has an elite 18.9 yards per reception and 586 yards through eight games. He could be set for a huge contract after this season.
Oakland's trade of a third-round pick to acquire Bryant from Pittsburgh was universally panned at the time, and the move continues to look worse. He was waived after training camp before re-signing but has done almost nothing in six games, with just 14 receptions for 220 yards.
The addition of Suh next to Aaron Donald sounded good on paper, and it looks even better in real life. The former Pro Bowler isn't the player he was earlier in his career, but he's been a huge force, with 22 tackles and three sacks in eight games.
L.A. got Peters for the low price of a second- and fourth-round draft pick, as the Chiefs apparently didn't want to extend him or deal with some of the distractions he provided last year. Peters has gutted out a calf injury but has also gotten routinely burned in coverage. Through eight games, he has only one pick and two passes defensed.
The Bucs defense has struggled, but Pierre-Paul can't take the blame. Acquired from the Giants in the offseason effectively for a third-round pick, JPP has sacks in six straight games and has totaled eight sacks in seven games. He also has 13 QB hits and nine tackles for loss.
Kansas City thought the addition of Hitchens would help fix its run defense. That certainly hasn't been the case through eight games, with the defense allowing a league-worst 5.4 yards per carry. Hitchens is among the league leaders with 72 tackles but could now miss time to a rib injury.
Houston's secondary needed help after struggling last year, and Mathieu has provided it. The playmaker has two picks, five passes defensed, two sacks and 46 tackles in only eight games. He's been quite the bargain on a one-year, $7 million deal.
Johnson signed a lucrative five-year, $72.5 million deal after coming over from the Rams in the offseason. The Jets hoped for a No. 1 corner in return, but Johnson has played only four games due to injury and had his struggles when he did play.
Minnesota's defense hasn't played up to par this year after an excellent 2017 season, but Richardson has fared well. Through eight games, he has 27 tackles, 11 QB hits, and one sack.
The Giants deserve credit for addressing the offensive line, but this move isn't working out so far. After signing a four-year, $62 million contract, Solder has struggled and Eli Manning has been sacked more than any quarterback in football.
The Jets have used a group effort to replace Matt Forte at running back with Crowell leading the way. He's been feast or famine from game to game but is averaging 5.1 yards per carry with 484 yards and five scores through eight games. His three-year, $12 million deal looks like a bargain.
Bradford signed a one-year, $20 million deal to be a placeholder for Arizona. He couldn't have played much worse in three games before giving way to Josh Rosen, throwing for only 400 yards and 2/4 TD/INT in three games.
Bears head coach Matt Nagy was clearly trying to emulate the Chiefs offense when he signed Gabriel, a speedster formerly with Atlanta. He's been a key part of the offense, with 34 receptions for 381 yards and two scores in seven games.
Hurns came over from Jacksonville on a two-year, $12 million contract, but he's done almost nothing in seven games. He had just 13 receptions for 158 yards and one score. Hurns could be set to lose playing time now that Dallas has traded for Amari Cooper.
A backup tight end in Philadelphia, Burton signed with Chicago to fill the Travis Kelce role in the Bears offense for new head coach Matt Nagy. He's been good through seven games, with 27 receptions for 343 yards and four interceptions.
It's tough to find fault with giving Davis a one-year, $5 million deal, even after playing only five games for the Colts last year. However, the cornerback really left Buffalo in a bind after effectively walking off the job and retiring at halftime during his only appearance of the year in Week 2.
Kennard signed a three-year, $18.75 million contract after coming over from the Giants in the offseason, and he's fit the Lions defense like a glove. Through seven games, the linebacker has five sacks, nine QB hits and 23 tackles.
Rather than bring back Ndamukong Suh, the Dolphins took on Quinn's huge contract for a fourth-round pick. The former All-Pro defensive end has really struggled with his new team, recording just one sack in eight games.
Seth Trachtman is a fantasy sports expert and diehard Kansas City Chiefs fan. He doesn't often Tweet, but when he does, you can find him on Twitter @sethroto.
More must-reads:
Get the latest news and rumors, customized to your favorite sports and teams. Emailed daily. Always free!