In my previous post, I looked into how WR targets per game have been steadily declining since 2020, while RB opportunities have gone up. I laid out my reasons why I believe a hero WR/robust RB build is the optimal route for fantasy managers heading into 2026, and what the approach should be for auction drafters. Please take a look at the post below:
2026 Auctions: The Case for Hero WR
Similarly to WR, I also wanted to see if TE targets per game have taken a similar downturn. Since 2020, this is the average targets per game for the top 12 TEs:
2020 - 6.9
2021 - 7.0
2022 - 6.5
2023 - 6.8
2024 - 7.1
2025 - 7.0
Here is the data graphed:
As you can see, targets per game for TEs have remained remarkably consistent, with only 2022 as an anomalous year. Interestingly, the downward trend of targets per game for WRs has not seemed to affect TEs.
While WR is becoming thinner at the top and RB volume is increasing, TE is moving in the opposite direction: toward depth and replaceability.
All of this has led to more usable TEs, and from an auction standpoint, this matters.
I usually recommend waiting until late to draft a TE, since it's one of the easiest positions to replace without needing to allocate much from your draft budget. The position has gotten deeper, and the gap between mid-tier options continues to shrink.
For example, here are the differences in FPTS/G between TE6 and TE12 over the past three years:
2023 - 2.6
2024 - 2.7
2025 - 1.5
Here is the data visualized:
As I wrote in my "Case for Hero WR" post, there has been a marked shift in the NFL, with defenses transitioning to a heavy zone scheme. Additionally, we just saw the highest number of TEs drafted since 2002! Not only are teams running more zone, it appears they are attempting to copy the success many teams had in 12 personnel, by playing in more 2TE sets.
TE is not where you gain your biggest advantage, but it’s very easy to lose value by allocating too much budget there.
That’s why waiting on TE fits nicely into the hero WR build: spend up where scarcity exists, and save where replacement value is high.
Thanks for following along!