You won your fantasy football league this year. You earned bragging rights over all of your friends. You crushed the draft, taking Christian McCaffrey in the second round and Patrick Mahomes in the 10th. But did you have a perfect draft?
Hindsight drafting is an often-mocked thought experiment in fantasy circles. Hindsight is 20/20, as they say, but I think it’s more valuable than not to look back at that year that was with the benefit of hindsight and try to figure out what we got wrong and what we should have known.
Today, we’re going to be looking at ADP from August and attempt to piece together (trying not to reach more than a few picks on any single player) what a perfect draft would have looked like, and why some of these picks made perfect sense in hindsight.
Comparing average production over a five-year-sample, here were the top-15 draft picks that provided the most value (over expectation, relative to their positional ADP) to your teams:
Notes: James Conner was excluded from this chart (ADP: UDFA) but easily would have ranked at the top of this list.
Here’s my best approximation of what a perfect draft would have looked like (drafting from the seventh spot), with the players’ actual ADPs given as well:
Round 1 (1.07)
Saquon Barkley, RB, New York Giants (ADP: 1.07)
(ADP: RB6; finish: RB3)
With our first pick in the draft, we're avoiding the landmines of Le'Veon Bell, David Johnson, Leonard Fournette, and Kareem Hunt to take Barkley. As an inexperienced rookie, he was too risky for some, but rewarded his fantasy owners plenty; finishing as the third-highest-scoring non-quarterback during the fantasy season (Weeks 1-16).
Should we have seen this coming?
I think so. We knew Barkley was an extreme talent despite never taking an NFL snap. In March, shortly after Barkley dominated the NFL combine, Saints head coach Sean Payton (who had just drafted Alvin Kamara the year before) called Barkley the best running back prospect he’s seen in 25 years. We also knew he would see heavy usage in his rookie year. Giantshead coach Pat Shurmur said in April, “He’s a three-down running back. He’s gonna be on the field for as long as he can handle it.”
Round 2 (2.06)
Christian McCaffrey, RB, Carolina Panthers (ADP: 2.04)
(ADP: RB11; finish: RB1)
With our second pick of the draft (though he would have returned a high-end first-round ADP just as easily), we’ll take McCaffrey, who finished the fantasy season as the highest-scoring non-quarterback. On top of that, he crushed during the fantasy postseason (Weeks 14-16), finishing as the second-highest-scoring player in fantasy. As evident by the chart at the top of this article, McCaffrey was arguably the best draft pick you could have made in 2018.
Should we have seen this coming?
Yes! In my August article highlighting my top draft targets for the year – which was just one of my many love tomes to McCaffrey during the offseason – I wrote, “As it stands, McCaffrey is priced at just about his floor – RB12, after finishing RB13 in fantasy points per game last year. Given the likelihood of a larger workload and better efficiency, he’s a glaring value with league-winning upside.”
Round 3 (3.07)
Adam Thielen, WR, Minnesota Vikings (ADP: 3.08)
(ADP: WR13; finish: WR6)
Thielen was much better in the first half of the fantasy season, averaging 4.6 more fantasy points per game than the next-closest wide receiver during Weeks 1-8, but still smashed his ADP by season’s end despite a more lackluster second half.
Derrick Henry might have been deserving of a pick here, but only if your team made the playoffs and you only ever played him during that stretch. He finished with 94.2 fantasy points during postseason weeks (Weeks 14-16), which was the most this year and the 19th-most by any player at any position all-time.
Should we have seen this coming?
Yes, I think so. Stefon Diggs ended the fantasy offseason with a higher fantasy ADP, but in August, I tried to explain why I had Thielen higher in my rankings and bother higher than their ADP. Mainly, Kirk Cousins has been one of the league’s most efficient passers when targeting slot wide receivers since entering the NFL (that’s where Thielen ran 57% of his routes), and Thielen has now trumped Diggs in yards per route run in each of the past three seasons.
Round 4 (4.06)
Zach Ertz, TE, Philadelphia Eagles (ADP: 4.03)
(ADP: TE3; finish: TE2)
Not only did Ertz beat his positional ADP but, given the dire state of the tight end position, he proved to be one of the best overall draft picks in general. He was typically drafted as the 18th receiver (tight ends plus wide receivers) off the board but finished the fantasy season 10th in fantasy points. He also outscored the No. 6 highest-scoring tight end by a whopping 124.5 fantasy points (8.3 fantasy points per game). This edge was massive against teams owning anyone but Ertz, Travis Kelce, George Kittle, and Eric Ebron. He also put up a whopping 35.0 fantasy points in your championship week (Week 16).
Should we have seen this coming?
Maybe. I did think he was appropriately priced as the No. 3 tight end, but I certainly didn’t envision him breaking the single-season record for receptions from the position. He averaged between 106 and 112 targets in each of his prior three seasons, and then saw that number jump to 156 in 2018. Really, I just think Ertz is a much better talent than I had initially thought. Philadelphia went out of its way to scheme him opportunities to get the ball in his hands. By our data, Ertz had 95 receptions where he was his quarterback’s first read, which ranked third among all receivers (behind only Michael Thomas and Adam Thielen).
Round 5 (5.07)
Drew Brees, QB, New Orleans Saints (ADP: 5.12)
(ADP: QB6; finish: QB6)
For our pick in the fifth round, we’re taking Brees, though it’s not really necessary and we’ll mostly just be using him as our backup. Really, Rounds 5 and 6 were brutal for 2018 fantasy drafts. Outside of quarterbacks, the only player to return value was the one we’ll be taking in our next pick.
Should we have seen this coming?
Yes. Brees finished as a top-six fantasy quarterback in every season from 2006 to 2016. In 2017, he finished 11th. In 2018, he again finished top-six (during the fantasy season). I explained here in February exactly why his 2017 was just as much of an outlier as it seemed.
Round 6 (6.06)
Julian Edelman, WR, New England Patriots (ADP: 6.11)
(ADP: WR30; finish: WR23)
Edelman’s four-game suspension was baked into his ADP, as was substantial injury risk (given his history and now at age 32), but as we’ve always known with Edelman, he’s always produced when healthy. That was clearly the case this year; finishing the fantasy season ranking 15th in fantasy points per game (16.9).
Should we have seen this coming?
Maybe. Edelman did stay healthy, playing a full slate of games he was available for just the third season of his career, while also benefiting from Rob Gronkowski taking on a diminished role. He was a risky boom-or-bust type pick and if you drafted him this year, he was all boom and no bust, though I think the risk was probably warranted at his lowly ADP.
Round 7 (7.07)
Chris Carson, RB, Seattle Seahawks (ADP: 7.08)
(ADP: RB34; finish: RB18)
Despite routinely being drafted after Rashaad Penny, Carson ended up outscoring him by more than 100 fantasy points. Ultimately, Carson finished as a mid-range RB2, despite only playing on 43% of his team’s snaps.
Should we have seen this coming?
Maybe, but I certainly didn’t. First of all, I typically avoid running backs unlikely to be used as bell cows and or in the passing game (he wasn’t). Although that’s typically a smart strategy when drafting the position, those flaws mattered a little less for Carson than most running backs, as Seattle finished the year as the league’s most run-heavy offense (as we sort of predicted here), following the arrival of OC Brian Schottenheimer. Second, he was an offseason hype darling and I also tend to avoid that archetype. In this case, the hype was warranted; he was awesome, finishing the year as our No. 5-graded running back. Finally, it was hard for me to imagine Carson getting enough usage to return value, after Seattle spent heavy draft capital (a Round 1 pick) on Penny earlier in the offseason. That seemed true early in the year before Carson pulled away with the starting job (for the first two weeks of the season, Penny and Carson both played 45 snaps with C.J. Prosise also mixing in).
Even with the benefit of hindsight, I still think the smart move was avoiding this backfield entirely.
Round 8 (8.06)
Robert Woods, WR, Los Angeles Rams (ADP: 8.03)
(ADP: WR34; finish: WR9)
Woods was routinely drafted four rounds behind Brandin Cooks but finished the year with 22 more targets and 41 more fantasy points, on his way to a WR1 finish.
Should we have seen this coming?
Absolutely. I said in August, “Perhaps more than any other wide receiver, Woods might the most glaring value by current ADP.” We knew head coach Sean McVay liked to keep all three of his wide receivers heavily involved and I never thought it was a given that Cooks would supplant Woods as the team’s WR1. Woods was our 12th-highest-graded wide receiver in 2017 and finished 17th in fantasy points per game (13.8), well above his WR34 ADP.
Round 9 (9.08)
Adrian Peterson, RB, Washington Redskins (ADP: 9.07)
(ADP: RB42; finish: RB17)
Following a season-ending injury to Derrius Guice, the Redskins signed Peterson. At that moment in time it wasn’t clear whether he would be used as the team’s lead running back on early downs (with Chris Thompson guaranteed to be serving as the passing-down specialist) or if he would be in a firm competition with Samaje Perine and Rob Kelley. It turns out, the team used the future Hall of Famer as its lead back. Though inconsistent on a week-to-week basis (he averaged 16.7 fantasy points per game in victories and 8.5 fantasy points per game in losses), he easily returned value at ADP, rushing for 1,042 yards and seven touchdowns on 251 carries.
Should we have seen this coming?
I didn’t. Based on his ADP, it seems most fantasy drafters left Peterson for dead at age 33. I did too, and it’s not hard to see why. Peterson averaged just 3.4 yards per carry in 2017 and ranked third-worst of 73 qualifying running backs in PFF grade. To our collective surprise, Peterson ranked 20th-best (of 72 qualifying running backs) in PFF grade in 2018. We knew he wouldn’t be catching passes for Washington and the early down role was uncertain. Still, he was probably worth the risk at his ADP.
Round 10 (10.06)
Patrick Mahomes, QB, Kansas City Chiefs (ADP: 10.03)
(ADP: QB15; finish: QB1)
This pick is about as easy as it gets. Not only was Mahomes fantasy’s best quarterback, but he just put together the best fantasy season by a quarterback ever.
Should we have seen this coming?
In June, I wrote, “I suspect Mahomes is either appropriately priced and one or more of his receivers are too expensive, or he’s a screaming value and the ADP is correct on his supporting cast.” Welp, it’s easy to say now, given hindsight, that the latter assumption was correct. There were other clues as well: The talent of his head coach and supporting cast. Alex Smith’s nearly MVP-worthy 2017 season following 11 seasons of mediocrity. The team’s eagerness to part ways with Smith and the hefty offseason praise surrounding Mahomes.
Round 11 (11.07)
George Kittle, TE, San Francisco 49ers (ADP: 11.04)
(ADP: TE13; finish: TE3)
In Kittle’s rookie season (2017), he finished 19th among tight ends in total fantasy points. In 2018, he set the position’s new single-season yardage record with 1,377. He also set the PFF record for yards per route run by a tight end (2.83), and he did this with starting QB Jimmy Garoppolo sitting out all but just three games.
Should we have seen this coming?
I didn’t, but I think I should have. Kittle is awesome and has always been awesome. In 2016, our own Josh Liskiewitz called him “the best all-around tight end in college football” over names like O.J. Howard, David Njoku, and Evan Engram. Last year, he was competing for targets against two oft-injured and unspectacular wide receivers in Pierre Garcon and Marquise Goodwin.
Round 12 (12.06)
Tyler Lockett, WR, Seattle Seahawks (ADP: 12.03)
(ADP: WR54; finish: WR18)
Lockett not only returned WR2 productions at a WR5 price-tag, but he also put together the most efficient season we’ve ever recorded from a wide receiver (by WR rating). Lockett earned his quarterbacks a perfect passer rating when targeted (158.3), which is the first time that’s ever been done in the PFF era (min. 15 targets).
Should we have seen this coming?
Yes. I said in August, “Although I’ve said this before, I think this is the year Lockett finally breaks out.” I said this because I always thought Lockett was a better talent than his recent injury-plagued numbers might imply. Furthermore, I was predicting an increase in volume due to free agency losses and an injury to Doug Baldwin (that would plague him for the entirety of the season, as he admitted this summer).
Final round
James Conner, RB, Pittsburgh Steelers (ADP: UDFA)
(ADP: UDFA; finish: RB6)
Conner was probably the most valuable draft pick you could have made, even with him missing the entirety of the fantasy postseason. He was an UDFA in the majority of drafts that took place last year, before he ultimately settling in as a 10th-round pick (where he would have still been arguably the best pick you could have made).
Should we have seen this coming?
Yes. In July (before news of Le’Veon Bell holding out into the season), I wrote, “Bell is currently in the middle of a holdout and has missed 15 games over the past three seasons. Bell is still well worth a top pick in fantasy drafts because few other players can come close to his expected volume. What many are forgetting (at least given Conner’s ADP) is that when Bell misses time, his backup typically commands a near-equal workload. In 2015-2016, in games started and finished, DeAngelo Williams saw a nearly identical workload to Bell and averaged 22.9 fantasy points per game. For perspective, 22.9 fantasy points per game would have ranked third-best at the position last year. Conner is my favorite handcuff but has standalone value as well.” Nailed it!