The 2017 NFL Draft kicked off with an unforgettable night in Philadelphia on Thursday as three teams traded up to find prospects they hope will be franchise quarterbacks. But those deals were far from the only ones struck over the weekend, as the NFL saw a record 38 trades involving draft picks consummated during the three-day affair.

Time will tell who won and who lost these trades as prospects turn into players and players turn into potential mainstays on the field for the teams that invested more than just a single pick in them. But reacting to any draft class with a "¯\_(ツ)_/¯" is no fun, so let's use this space to definitively say in an entirely subjective way which decisions to move up were the best and which made no sense at all.

I'll save you the suspense and tell you now which trade was the worst move up, because you already know exactly which one it was. The Bears spent three mid-round picks to flip-flop with the 49ers at the top of the draft thanks to fear of missing out on quarterback Mitchell Trubisky. Insiders around the league scratched their heads as they continued to reach out to sources and found no other team willing to make the move up to No. 2, and San Francisco seemed unlikely at the time to draft Trubisky (Kyle Shanahan said later that the only signal caller in the draft he was targeting was the one he traded up for himself in the third round). So why trade? Good question, and it's one that has no good answer.

Simply put, the Bears could have stayed where they were and drafted Trubisky, who is nowhere near a safe bet to develop into a franchise quarterback anyway. Instead, they sacrificed three picks that could have been used to add depth on a roster that needs it. Thankfully for Chicagoans, the Bears were on the positive side of one of the other worst trades of the 2017 draft.

In ranking these 38 deals, I took into consideration the value of each package per Chase Stuart's trade value chart, but that wasn't the end-all, be-all in piecing together this list. The player targeted in each case is just as important, if not more so than the price paid to take him. Does he fit a need? Did he have a good chance of being on the board later, making the trade unnecessary? Did the deal sacrifice too many picks for a team that needs depth? And so on.

I look forward to defending these rankings in five years when Mitchell Trubisky is a Super Bowl MVP.

Here are the rankings:

1. 49ers jump three spots for Foster

I can't tell you if medical or character issues will sink Reuben Foster, but this was undeniably a masterstroke by rookie 49ers general manager John Lynch, maybe even more impressive than the fleecing of the Bears earlier in the round.

Putting aside the red flags, nearly everyone had the Alabama linebacker as a top-10 talent. The 49ers were reportedly set to take Foster at No. 3 if the Bears were intent on moving up one spot for Solomon Thomas, per Peter King. Many mock drafts had Foster landing with the Bengals at No. 9, even after the issues surfaced over the past two months. And even when taking into account those red flags, almost no one thought he would slip out of the first round entirely, as a string of teams in the 20s such as the Raiders, Dolphins and Chiefs figured to be excellent landing spots for his talent.

To get Foster at No. 31 was a coup for Lynch. And the trade up was a necessity to land Foster, as the Saints, who had the No. 32 pick, were on the phone with the linebacker welcoming him to the team as the 49ers pulled the trigger on the deal. One more hidden benefit to take into account: Drafting Foster at No. 31 means having a fifth-year option available down the road to keep him at a cost-controlled discount if he pays off as expected. That option isn't available to second-round picks.

The 49ers made the best move up to land Reuben Foster. USATSI

2. Texans pay up to find a quarterback

Ninety-nine times out of 100, when a team trades a future first-round pick to move up in the current first round for a particular guy, I'm not a fan. With so much uncertainty surrounding any single draft pick, why not spread the risk by getting two top-32 talents rather than one?

But this is a trade I can get behind. The Texans had no answer at quarterback after the epic free-agent flop that was Brock Osweiler, and once two of the three top-tier prospects at the position came off the board, they had no choice but to try and engineer a move up to land Deshaun Watson, who has plenty to like based on his college performance but also plenty of question marks in how he'll translate to the NFL.

But the Texans did well to sell the Browns on only taking their 2018 first to move down 13 spots, putting them ahead of a Cardinals team that also eyed all of the top quarterback prospects this draft season. By comparison, the Chiefs had to add an extra third-rounder to move up 17 spots for their quarterback, and Houston had a far greater need at the position. While not having their top two picks in 2018 could come back to haunt them, the Texans did what they had to do with this deal.

3. Vikings can't wait any longer on Cook

The fact that the first round came and went without Dalvin Cook's name being called was a shock to some, considering how dominant he looked at the college level, but combine off-field red flags with an abysmal predraft process in terms of athletic testing, and it should have been no big surprise. But with his on-field résumé, he made for a great pickup for any team on Day 2.

The Vikings didn't have a first-round pick after acquiring Sam Bradford from the Eagles last year, and it was those same Eagles that lurked as a perfect landing spot at No. 43, a pick that might have turned the festivities into a riot as Philadelphians celebrated their good fortune. Sitting at No. 48, the Vikings sacrificed a fourth-rounder to move up seven spots for Cook, keeping Philly fans in check while also finding the heir to Adrian Peterson.

4. Jaguars pay small price to hop one spot

Like Cook, Cam Robinson was another name that could have been called Thursday with no one batting an eye. Teams like the Giants and Seahawks that need line help seemed like perfect landing spots -- instead, he slipped out of the top 32 altogether.

Those same Seahawks were on the clock at No. 34 and could have easily taken Robinson and looked like geniuses for moving down twice before doing so. Instead they moved down a third time, with the Jaguars spending just a sixth-round pick to jump one spot and take Robinson, who gives the Jaguars Branden Albert insurance at left tackle but will be a starter somewhere on the line for a team that needed one.

5. Browns cash in picks for a third first-rounder

The wheeling-and-dealing Browns made a couple smart moves early Thursday, taking Myles Garrett over Trubisky at No. 1 then adding an extra first-rounder to move down from No. 12. That wasn't enough for Sashi Brown and the Browns braintrust though, as they surrendered an early fourth-round pick to jump from No. 33 to No. 29 and land a third first-round talent.

David Njoku didn't fill the biggest need for the Browns, but many considered him a top-20 talent who is one of the most athletically gifted tight ends to come into the league in a long time. He could help redefine the passing game for whoever's under center.

6. Falcons' pass-rush target doesn't come cheap

The Falcons traded a third-rounder and a seventh-rounder to move up five spots for Takkarist McKinley, which is a pretty steep price to pay. But I get it -- the Cowboys, Packers and Steelers all loomed as great fits for McKinley, so if the Falcons were set on having him, it was the right move to trade up. The Cowboys and Steelers both grabbed pass rushers in the next few picks, while the Packers traded out of the round altogether.

Drafting Takkarist McKinley cost a pretty penny, but it was a wise move up. USATSI

7. Dolphins stop talented lineman's slide on Day 3

As a senior, Isaac Asiata was voted the top offensive lineman in the Pac-12, a conference that also featured Utah tackle Garett Bolles, who the Broncos made the No. 20 pick. Projected to go on Day 2 after an excellent combine, Asiata was still on the board at No. 164, so the Dolphins hopped two spots to pass the Lions and take him, and it only cost them a 10-spot drop later in the draft. He could be the immediate answer at left guard with Laremy Tunsil kicking outside.

8. Chiefs plan for life after Alex Smith

I think Patrick Mahomes has a decent chance of developing into a quality NFL starter, and I wouldn't rule out him becoming one of the better quarterbacks in the league. He certainly wasn't going to be available at No. 27, so I can understand the Chiefs pulling the trigger on the trade to move up. But the deal undoubtedly came at a high cost, as the Chiefs surrendered not only their first-rounder next year but a third-rounder this year. They did have plenty of extra picks on Day 3, so losing that Day 2 pick wasn't terrible, but the Texans made a similar move up and only had to trade their 2018 first-round pick. If the Chiefs gave up one or even two later picks rather than the third-rounder, I would like this deal more.

9. Vikings give new running back some help

Already without a first-rounder, the Vikings surprised many by trading up a second time on Day 2, as finding depth for a roster that needs it is critical to their success. But it was worth the move to snag Pat Elflein, who for some was the clear top center in this draft. He should start immediately at center or right guard and be a starter for a while. The VIkings did alleviate some of the downside of trading up twice for Elflein and Dalvin Cook by later trading down five times, picking up five extra picks in the process. That's called having your cake and eating it too.

10. Browns jump 19 spots on Day 3 to fill a need

The Browns have been open for business when it comes to trading the past two seasons, and amassing such a large stockpile of picks allows them to be flexible to move up whenever a prospect of interest falls further than he should. That could be the case for cornerback Howard Wilson, who posted one of the best combine times on the three-cone drill, a measure of agility and explosiveness that's critical for defensive backs. Wilson's 6.68-second mark tied for the third best in the drill with first-rounder Gareon Conley. For a team desperate for cornerback help, swapping a fifth for a seventh to make the move up makes total sense.

11. Chiefs make a Day 2 move for a running back

Kareem Hunt is a sure-handed back who could come in and quickly have a big role for the Chiefs' offense. They paid three picks to take him, trading a fourth and seventh to hop 18 picks in the third round, but they had extra draft ammunition to spend and plenty of teams were targeting running backs in the middle rounds (just look at Round 4).

12. Panthers go back to the pass-rush well

It wouldn't be a Panthers draft without adding bodies to the defensive line, and Dave Gettleman decided against waiting in the third round to trade up for Daeshon Hall, who was projected by some to go in Round 2. They paid a similar fourth-round pick to the next trade on this list but made a much bigger jump, hopping 21 spots on land the pass-rusher.

13. Patriots make two quick picks after long wait

The Pats didn't have a first- or second-round pick, and then when they finally came on the clock, they traded down to No. 83. After finally taking a player (defensive end Derek Rivers), they decided not to wait any longer for another, spending a late fourth to move up 11 spots to No. 85 for Troy offensive tackle Antonio Garcia, who will serve as line depth but has a good shot to develop into a quality starter.

14. Buccaneers add sleeper nose tackle in late deal

It might have been the last deal of the draft, but don't overlook the Buccaneers trading seventh-rounders this year and next to take nose tackle Stevie Tu'ikolovatu, a massive presence on the interior of the defensive line who should have been taken 50-100 picks earlier. He's as good of a late-round dart throw as you'll find in this class.

15. Bills get receiving help for Tyrod Taylor

Many pegged the Bills to take one of the top receivers in the class at No. 10, but after all three first-round prospects came off the board in the first nine picks, they instead traded down and addressed a bigger position need at corner. They then paid a not insignificant price (swapping the 91st pick for a fifth-rounder) to move up seven spots in the second round for Zay Jones. I like Jones and think this move will pay off for the Bills, but with no fourth-rounders on the docket, I don't know if it was wise to pass on filling another need later on Day 2 at No. 91.

Zay Jones is the all-time career receptions record holder in the FBS. USATSI

16. 49ers pay virtually nothing to move up for QB

C.J. Beathard wasn't expected to be taken until late on Day 3, but the 49ers surprisingly moved up late in the third round to grab him. Does that make this a dumb trade? Well, Beathard was reportedly the only QB in the entire class that new coach Kyle Shanahan liked, and I'll trust him when it comes to evaluating signal callers. He likened the Iowa quarterback to Kirk Cousins, a player many expect to end up in San Francisco. Plus, they only sacrificed a seventh-rounder to hop from Day 3 to Day 2 and make the pick.

17. Cowboys surrender future pick for secondary help

The Cowboys did a great job finding two cornerbacks on Day 2 who could help a secondary that lost several key pieces this offseason, and they dealt a 2018 fifth-rounder to take another in Xavier Woods at No. 191, who could quickly battle for playing time at safety. It was a wise decision in the middle of a long wait for the Cowboys, who didn't have any picks between No. 133 and 211 before swinging this trade.

18. Giants finally address offensive line late

Taking a player like Cam Robinson or Ryan Ramcyzk in the first round who could come in and potentially be an answer rather than a slot tight end in Evan Engram would have been a much better decision on Day 1 for the Giants. As it was, they didn't address their line at all until their final pick, combining their sixth- and seventh-rounders to get to No. 200 for Adam Bisnowaty, who isn't going to protect Eil Manning's blind side but at least provides depth. Better late than never, I guess.

19. Titans double up on receivers after peculiar trade

The Titans did a good job addressing a pair of needs in the first round, even if both players might have been reaches at those spots. With no second-rounder, they faced a long wait and they decided to shorten it by moving 11 spots up to No. 72. Rather than get the secondary more help, or add some talent to the defensive line, they picked another receiver in Taywan Taylor. I think Taylor has a solid chance to emerge, but the receiver pool was deep (plenty went off the board in Round 4). No need to flip No. 124 for No. 200 to make this move, especially when considering they added another weapon for Marcus Mariota with their next pick, too, in tight end Jonnu Smith.

20. Browns keep adding to offensive line with value pick

The Browns spent big to build a top-notch offensive line this offseason, and they also turned an eye toward developing another potential starter by trading up for Roderick Johnson, who has immense upside to potentially unlock. He was projected to go in Round 4 or even on Day 2, but the Browns instead landed him in the middle of Round 5 after dealing No. 181 and No. 188 for No. 160 and No. 224. It pays to have the ammunition to make a move when a talent falls further than expected.

21. Bengals make late move for hybrid talent

A cornerback/running back/return man at Houston, Brandon Wilson saw interest from several teams and had multiple reported workouts with three clubs: Bengals, Raiders and Texans. With the Raiders looking like a prime landing spot at No. 208, the Bengals swapped the 217th and 227th picks to get to No. 207 and take him. The Raiders would then trade out of the spot for a similar package from the Cardinals. Wilson should contribute on special teams and could be a factor in the secondary eventually.

22. Eagles pay small price for even smaller runner

It's not surprising to see the Eagles exit the draft with a running back, as it was clearly one of their top needs heading into the weekend. But it is curious that rather than take a bigger guy who could handle a starter's workload, they instead opted for 5-foot-8 Donnel Pumphrey, who can apprentice under Darren Sproles for a year before eventually taking his role in 2018. Fortunately, the move from No. 139 to No. 130 only cost them a late seventh, making it one of the better value deals in the draft.

Will Donnell Pumphrey be the heir to Darren Sproles in the Eagles offense? USATSI

23. Bills fill big need with big talent, at a big price

Having already traded up once in the second round, the Bills made another move to get to No. 63 for Dion Dawkins, one of the better offensive linemen in a weak class for the position. He should be able to handle right tackle from Day 1, but at worst he should be a long-term starter inside. While he was a nice pickup, it cost the Bills three picks -- Nos. 75, 149 and 156 -- to get him. They would wait exactly 100 picks before making their next selection, missing out on the opportunity to bolster their depth with quality talent in the middle rounds. But the three guys they ultimately landed in Rounds 1 and 2 should offer big-time help.

24. Bears get value, address need with Jackson

The Bears only added five prospects to a roster in need of young talent thanks to their poor decision to trade up for Mitchell Trubisky, but that wasn't their only move up in this draft. They also sacrificed a sixth-rounder to hop five spots to No. 112 for Eddie Jackson, who is an excellent value for his talent but carries with him major injury red flags after tearing an ACL and fracturing a leg during his college career.

25. 49ers add veteran running back before Day 3

Kapri Bibbs briefly looked like he might be a difference-maker in Denver last season, but injuries limited him to just 31 touches. Still, Kyle Shanahan and John Lynch saw enough to snap him up before the start of Round 4, trading a 2018 fourth-rounder for Bibbs and a fifth this year. We see teams sacrifice a slightly earlier pick in the following draft to land a particular guy in the later stages each year, and the 49ers made a similar move in pick value while adding a back they obviously like.

26. Redskins make small jump for unheralded lineman

Were the Titans eyeing interior lineman Chase Roullier at No. 200? The Redskins must have thought so, trading back 10 spots in the seventh round so that they could hop from No. 201 to No. 199 in a trade with the Vikings, who drafted a much better line prospect in Pat Elflein earlier. The Titans moved down twice after Roullier came off the board to Washington, but they might have gotten the better player in Corey Levin at No. 217.

27. Buccaneers make value trade for injured linebacker

Kendell Beckwith was a likely third-round pick before suffering a torn ACL late in the season, and the Buccaneers made sure he would still be a third-round pick despite the injury. I don't know that it was necessary to move up 18 spots to take him at No. 107, but considering it cost them just the 204th pick, they at least paid a value price to make the move.

28. Cardinals trade up for another safety

After the Cardinals spent a considerable sum to move up for a safety in the second round (see below), they paid a small price to move up for another safety in Round 6, taking Rudy Ford at No. 208 after a 13-spot jump that only cost the 231st pick. It was a great trade value-wise, but I'm not sure Ford was worth the move, especially after already investing heavily in the position earlier.

29. Patriots make a second trade up for a lineman

The Pats added to their line depth on Day 2 by trading up for Antonio Garcia, and they did it again in the late stages Saturday, sacrificing a seventh-rounder to hop five spots and take Conor McDermott at No. 211. He seemingly isn't strong enough to stick in the NFL, but maybe Dante Scarnecchia can turn him into a capable reserve.

30. Titans make small trade up for a linebacker

 The Titans swung three trades on Day 3, and this was perhaps the most questionable, moving up nine spots to reach for linebacker Jayon Brown at No. 155. Brown doesn't profile as a future starter, and yet the Titans gave up No. 214 to hop up for him. It's not a big price to spend, but why pay more than necessary?

31. Rams sacrifice a late pick to overdraft pass-rusher

Samson Ebukam is a solid prospect who could develop into a rotation pass-rusher for Wade Phillips. The Rams aren't really in a position to sacrifice picks considering they didn't have a first-rounder, they need personnel to fit the new offensive and defensive philosophies, and Ebukam had a good chance of being available at No. 141, where the Rams were originally slated to pick before the deal, which cost them a sixth-rounder.

32. Broncos trade up for potential return man

After drafting a quality receiver on Day 2, the Broncos felt the need to hop three spots in Round 5 for Isaiah McKenzie, a 5-7 receiver who figures to only contribute in the return game. If he turns into a dangerous return man, this trade will pay off, but I didn't see the next couple teams drafting him, so they probably could have stayed put and kept No. 238.

33. Patriots pick up veteran tight end before Day 3

The Patriots traded for a quality No. 2 tight end earlier this offseason, and they added Chiefs tight end James O'Shaughnessy before the start of Day 3 in a small deal, moving back from No. 183 to No. 216. While he'll help as a run blocker, that drop was the equivalent of spending about the 195th pick on the tight end, which seems like a little bit of an overpay.

34. Chiefs make questionable jump for receiver

Jehu Chesson was nothing but a disappointment for Michigan in 2016, and he didn't figure to be a hot name in this draft as a low-ceiling player coming off a down season. But the Chiefs packaged together two fifth-round picks to take him at No. 139. Even though they had a big stockpile of picks to move up when they wanted, I don't get this move, considering how little an impact secondary receivers have in their offense.

35. Saints sacrifice premium pick for odd fit

We're down to the truly baffling deals, starting with the Saints trading their 2018 second-rounder and a seventh-round throw-in to take running back Alvin Kamara at No. 67. That's right, despite having Mark Ingram as their unquestioned starter and signing veteran Adrian Peterson, the Saints spent what could be a high second-round pick on another running back. Kamara was good value this low, and he could emerge as a 2018 starter, but if he doesn't this is going to look awful in hindsight.

How much will Alvin Kamara play as a rookie in New Orleans? USATSI

36. Cardinals trade four picks for Baker

The more picks you trade, the more pressure is on for the guy you're targeting to pay off in a big way. The Cardinals for some reason gave up two fourth-rounders (one in 2018) and a sixth-rounder to move up nine spots in the second round for Budda Baker, a quality defensive back who is much like Tyrann Mathieu, so much so that he might not have a big role while Mathieu is healthy. Considering the Honey Badger just signed a huge extension before last season, I don't get mortgaging so many pieces to move up for Baker rather than sitting tight and hoping he makes it to No. 45, and pivoting to a bigger need if he doesn't.

37. 49ers make first and only draft blunder?

Give John Lynch and the 49ers a ton of credit for a great draft when all is said and done. But an unremarkable trade in the fourth round at first glance could end up being the worst deal of the draft, aside from their fleecing of the Bears at the top of Round 1. After signing Tim HIghtower earlier in the offseason then trading for Kapri Bibbs before the fourth round started, the 49ers packaged the 143rd and 161st picks to jump to No. 121, where they added Joe Williams, who wasn't even on their draft board the night before.

Kyle Shanahan apparently loved him, and after lobbying Lynch on behalf of Williams on Friday night, the rookie GM made some calls and decided the character red flags were overblown and that he would trust his head coach. But why not do due diligence on a guy your coach is in love with before three rounds are already in the books? This isn't an undergraduate term paper -- Lynch should have been on the same page with Shanahan regarding Williams well before Saturday morning rather than waiting until the last minute.

Another factor: Williams wasn't projected to go until late in Day 3, so spending two picks on him seems like a reach. Also, if you decide you have to have Williams, why trade for Bibbs? If you don't already have a deal you like lined up for Carlos Hyde, why create a logjam behind him and Hightower by spending several draft picks on Bibbs and Williams? Even if one of those two guys pays off in the long run, and I think one very well could, the whole situation is perplexing from a process-oriented angle.

38. Bears fall for a trap, trade the farm for Trubisky

Of course, the 49ers' handling of their running back situation pales in comparison to the trade they roped the Bears into Thursday, convincing Chicago to give up three mid-round picks, including the No. 67 overall this year and a likely high third-rounder next year, to move up one spot for a guy San Francisco reportedly had no intention of taking anyway. The Trubisky trade was the story of Day 1, and his success or failure will be the defining story of the 2017 draft years down the road.