Welcome to the third part of my end of season fantasy review. I’ve taken some time since the end of the regular season to dig into the top-25 fantasy players by position to understand why they finished as high as they did, what we can learn for 2020 and any advice for use in the off-season in your dynasty leagues. I’ve also had a look into those players we drafted in the top-25 by position, but who under-performed for your fantasy team and whether there’s anything we can learn from those players for next season. This recap is as much for me as it is for you dear readers and will help to jog my memory come draft time in 2020.
The wide receiver position is the one where you most often see breakout players and 2019 was no exception, with 9 of the top-25 point scorers having an ADP of the WR28 or higher. Injuries also affected a high proportion of the top-25 by ADP as well, with 8 of the top-25 players by ADP falling short of their draft position due to missing game time.
Leading the way in 2019 was Michael Thomas, who put up the 5th highest fantasy season by a receiver in history with 374.6 points. Thomas broke the single season receptions record with 149 catches and finished almost 100 fantasy points ahead of the number 2 fantasy receiver.
1. Michael Thomas, New Orleans Saints — 2019 ADP: WR3
Simply the most consistent receiver in football and a PPR monster as he broke the single season reception record. And he achieved it with two different quarterbacks and not much else around him. Next year’s WR1 without a doubt but a potential sell high candidate as he’s unlikely to repeat these incredible scores.
2. Chris Godwin, Tampa Bay Buccaneers — 2019 ADP: WR20
I was not a Godwin truther and happily take the L on an incredible season. He led the Bucs in receptions, yards and touchdowns and will be a top 10 pick at receiver next season. Jameis Winston’s status may have some effect on his 2020 value, but Godwin has established himself in the top tier talent.
3. Julio Jones, Atlanta Falcons — 2019 ADP: WR4
Same old Julio dominating at his position not matter what’s going on around him. A beast in the fantasy playoffs with 65 points across Weeks 15 and 16. No signs of slowing down heading into 2020.
4. Cooper Kupp, Los Angeles Rams — 2019 ADP: WR21
What a season coming back from an ACL tear in 2018. A career year in receptions, yards and touchdowns in an offense that dropped off considerably. Amongst the strong performances was the Week 10 stinker where he had zero catches from 4 targets but otherwise Kupp was a true fantasy stud and should continue to be so in 2020.
5. DeAndre Hopkins, Houston Texans — 2019 ADP: WR1
A good but maybe not great fantasy season when his preseason ADP put him as the WR1. Nuk put up his fewest yards and touchdowns since 2016 despite playing with a fully healthy Deshaun Watson. He was still voted a first team All-Pro and gave a solid average weekly return but not quite what you drafted in the top 5 places.
6. Keenan Allen, Los Angeles Chargers — 2019 ADP: WR11
Scarily similar numbers to 2018 for Allen as he continues to be one of the most consistent receivers in the league. Just two 100-yard receiving games but over 100 receptions on the season propped up his fantasy floor.
7. Julian Edelman, New England Patriots — 2019 ADP: WR16
A stud season from Edelman though his Week 15 and 16 totals would have been disappointing if you were going for that fantasy championship (2.9 & 12.2 points). It was his first 100 reception season since 2013 but heading into his age 34 season you have to question how much longer Edelman has left as an elite fantasy receiver.
8. Allen Robinson II, Chicago Bears — 2019 ADP: WR30
This was the fantasy season we had been waiting for since his breakout season for the Jags in 2015. Led the Bears by a distance in targets and receiving yards as he massively overperformed his ADP. Imagine what he could have done if he’d had stronger quarterback play?
9. Kenny Golladay, Detroit Lions — 2019 ADP: WR19
Showed what a star he is by continuing to be productive even after Stafford went down, playing with Jeff Driskel and David Blough. Smashed his ADP and should continue in 2020.
10. Amari Cooper, Dallas Cowboys — 2019 ADP: WR12
Should have done enough to earn his big payday, though whether its in Dallas is still up for debate with the emergence of Michael Gallup. A couple of nagging injuries down the stretch meant his production was up and down but his 226 receiving yards against the Packers was the highest individual performance of the season.
11. DeVante Parker, Miami Dolphins — 2019 ADP: WR70
Surprise of the season this one. He finally lived up to his first round draft stock by having a career year on a terrible Dolphins team. Despite obvious questions at the quarterback position heading into 2020, Parker is part of the future as he earned a new 4 year, $40m deal.
12. Jarvis Landry, Cleveland Browns — 2019 ADP: WR29
Another year, another 83 catches and 1,000+ yards for Landry as he led the Browns in receiving yards and touchdowns. The perfect WR2 as he is so consistent and delivers that solid floor, even on underperforming teams.
13. Tyler Lockett, Seattle Seahawks — 2019 ADP: WR18
Injuries spoiled the second half of Lockett’s season after a really strong start. He still led the Seahawks in targets, catches, yards and touchdowns but will be challenged by DK Metcalf next year as he finished the season so strongly.
14. Robert Woods, Los Angeles Rams — 2019 ADP: WR15
Whereas Cooper Kupp has just the one poor game on his 2019 resume, Robert Woods had a much more turbulent season. 6 single digit games alongside 2 where he went for over 150 yards. Just 3 touchdowns on the season as well was disappointing but he remains a solid WR2 option heading into his age 28 season.
15. Mike Evans, Tampa Bay Buccaneers — 2019 ADP: WR8
Only a bad hamstring injury prevented Evans overachieving his WR8 ADP as he finished 4th in points per game in 2019. Evans owners were likely frustrated with his fantasy form as he and Chris Godwin seemed to take it in turns to be a WR1 every other week for the Bucs. The 78.8 points he scored across Weeks 8 and 9 were the most by a receiver over a 2 week stretch. Both he and Godwin will likely be top 10 picks next season.
16. DJ Moore, Carolina Panthers — 2019 ADP: WR28
All aboard the DJ Moore express! Performed well ahead of his ADP in his second season despite playing without his star quarterback after Week 2. Just 2 single digit fantasy returns all season and led the Panthers in targets. Moore is a clear WR1 option for 2020.
17. DJ Chark Jr., Jacksonville Jaguars — 2019 ADP: WR101
Arguably an even better season than DeVante Parker considering the second year player was drafted as the WR101. From his opening game long touchdown to his connection with rookie QB Gardner Minshew, Chark kept balling out. A weaker second half of the season as the Jaguars lost their way and Foles/Minshew took turns at QB but a great prospect heading into year 3.
18. Tyler Boyd, Cincinnati Bengals — 2019 ADP: WR23
Stepped up with AJ Green’s season-long absence considering the overall ineptitude of the Bengals’ offense. 90 catches for 1,045 yards and 6 total touchdowns meant he essentially matched his fantasy output from 2018. Boyd’s 2020 fantasy stock may depend on AJ Green’s future, but with Joe Burrow currently favourite to replace Andy Dalton, he could well land on a very talented offense next season.
19. Courtland Sutton, Denver Broncos — 2019 ADP: WR44
Another breakout second year receiver. Sutton was an explosive receiver, turning just 72 receptions into 1,100 receiving yards. He had 8 straight double digit receiving games in the middle of the year and though he didn’t finish that strongly (11 PPG over the final 6 weeks), he was a must start and and his potential partnership with Drew Lock could be an exciting combo in 2020.
20 John Brown, Buffalo Bills — 2019 ADP: WR51
A career year in a new home in Buffalo for Brown, who recorded his second 1,000 yard season along with 6 receiving touchdowns. Showed some good chemistry with Josh Allen as he led the Browns in targets, catches, yards and touchdowns. A nice pickup if you drafted him around his WR51 ADP.
21.A.J. Brown, Tennessee Titans — 2019 ADP: WR76
The top rookie receiver on the year, Brown topped 1,000 receiving yards from just 52 catches and averaged 21.3 points per game over the final 6 weeks with Ryan Tannehill dicing up the opposition. A total stud after the catch and will be a top-15 pick in 2020.
22. Davante Adams, Green Bay Packers — 2019 ADP: WR2
A turf toe injury spoilt this season for Adams who I had tipped to be the WR1 in 2019. He got back on track after he returned in Week 9, averaging 18.5 points per game and finished the season as the WR6 in points per game. Will be a top-5 pick again in 2020.
23. Michael Gallup, Dallas Cowboys — 2019 ADP: WR48
The fourth sophomore receiver to finish in the top-25 at the position in 2019. Gallup got off to a fast start with an average of 20 PPG in the first 3 weeks. 1,100 yards and 6 touchdowns on the season and could push Amari Cooper for the number one receiver in Dallas in 2020.
24. Stefon Diggs, Minnesota Vikings — 2019 ADP: WR13
A big drop off in targets and receptions for Diggs this season saw him underperform his ADP. His 18 yards per catch were a huge career high so the Vikings were clearly using him differently this season. He recorded the 4th highest score by a receiver in 2019 with 43.5 point against the Eagles in Week 6.
25. Odell Beckham Jr., Cleveland Browns — 2019 ADP: WR7
Man we had high hopes for OBJ in Cleveland in 2019 and despite all the misfires with Baker Mayfield and playing through a core muscle injury, he still achieved his fifth 1,000 yard season out of 6 years in the league. A new offense is on the way for the Browns in 2020 and I am certain there is positive regression for Beckham coming in 2020.
Top 25 Wide Receiver Draft Busts
Tyreek Hill, Kansas City Chiefs — 2019 ADP: WR5
Hill missed 4 games with a chest injury suffered in week 1 which affected his total fantasy numbers for the season. After he returned he averaged nearly 17 ppg the rest of the way and should be a lock as a first round pick in 2020.
JuJu Smith-Schuster, Pittsburgh Steelers — 2019 ADP: WR6
A season to forget for JuJu as his big moment as the Steelers WR1 was hindered by firstly Ben Roethlisberger’s season ending injury, and then a series of injuries he sustained himself. He’ll go again in 2020 and could be a nice pickup late in Round 2.
Adam Thielen, Minnesota Vikings — 2019 ADP: WR10
Bar far his worst season since his 2016 breakout year. Plagued by injuries and on an offense that wanted to establish the run, Thielen suffered. 6 receiving touchdowns was a nice return in his 10 appearances, but I think he’ll fall in drafts this year as a response the reduced game minutes.
Brandin Cooks, Los Angeles Rams — 2019 ADP: WR14
A lost season for Cooks who suffered another concussion which kept him out for multiple games. His contract has him guaranteed to be on the Rams in 2020, but his 2019 season will see his draft stock fall.
T.Y. Hilton, Indianapolis Colts — 2019 ADP: WR17
A calf tear after a strong start to the season meant we didn’t get the most out of Hilton this season. There’s still talent there and no clear threat to his WR1 status at the moment and is still fantasy relevant in 2020, bearing in mind his proneness to injury.
Calvin Ridley, Atlanta Falcons — 2019 ADP: WR22
A mixed bag for Ridley this season who flashed hard in some games but then failed to turn up in others. However before he suffered the abdominal injury that ended his season in Week 14, he was on a tear, averaging 21.5 PPG from Weeks 11 to 14. Don’t sleep on Ridley next season being the big break out star.
Mike Williams, Los Angeles Chargers - 2019 ADP WR24
This ADP always felt high as Williams has consistently struggled to find the end zone in his career and managed just 2 scores in 2019. He crept over 1,000 receiving yards but something needs to change heading into 2020 for me to consider drafting him at any price.
A.J. Green, Cincinnati Bengals — 2019 ADP: WR25
Surely the biggest fantasy bust of 2019. If like me you thought you were getting a bargain in the third/fourth round he was a total wasted roster spot as he spent every week out injured but did not go on IR until Week 16. Ugh.