EPA = expected points added per play. Compared with every FBS WR/TE who qualifies
Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Receiving | Value | FBS rank |
|---|---|---|
| Targets | 42 | — |
| Target share | 18.5% | 192nd / 534 |
| Catch rate | 57.1% | 399th / 534 |
| Success rate per target | 45.2% | 318th / 534 |
| Yards per target | 7.3 | 331st / 534 |
| Explosive catches | 11.9% | 242nd / 534 |
| Deep-target rate | 9.5% | — |
| 3rd-down targets | 12 | — |
| Red-zone targets | 13 | — |
Where Hasley's plays went: throw and catch spots, air yards and yards after the catch, read from the play-by-play
2025 season. ESPN's play-by-play only has throw and catch spots for part of 2025 (7 of Hasley’s games here), so treat the maps as a sample.
4 seasons since 2014 · box-score totals, snap share estimated from play-by-play
| Season | Team | G | Snaps | Rec | Rec yds | Rec TD | Tgt share |
|---|---|---|---|---|---|---|---|
| 2026 so far | Duke#39 · 6-2 | 8 | 67% | 24 | 305 | 1 | 18.5% |
| 2025 | Duke#44 · 9-5 | 13 | 61% | 40 | 454 | 6 | 10.7% |
| 2024 | Duke#53 · 9-4 | 2 | 8% | 3 | 11 | 1 | 6.0% |
| 2023 | Duke#26 · 8-5 | 6 | 28% | 5 | 52 | 1 | 5.5% |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Jeremiah Hasley's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.
Jeremiah Hasley's box score, game by game, from ESPN, with a 0–10 game score for each (hover it for how it works). Click a result for the full game
| Receiving | ||||||||
|---|---|---|---|---|---|---|---|---|
| Wk | Opponent | Result | Game score | Rec | Yds | Y/R | TD | Long |
| 1 | W 17–3 | 6.8 | 2 | 36 | 18.0 | 0 | 26 | |
| 2 | @ | W 31–27 | 7.6 | 3 | 53 | 17.7 | 0 | 35 |
| 3 | W 35–7 | 8.7 | 5 | 88 | 17.6 | 0 | 26 | |
| 4 | W 62–7 | 6.0 | 3 | 18 | 6.0 | 0 | 11 | |
| 6 | @ | L 25–28 | 7.3 | 6 | 39 | 6.5 | 0 | 11 |
| 7 | L 20–24 | 5.7 | 2 | 16 | 8.0 | 0 | 11 | |
| 8 | @ | W 19–16 | — | no stats recorded | ||||
| 9 | W 47–2 | 8.3 | 3 | 55 | 18.3 | 1 | 32 | |
| 2026 · 7 games | 7.2 | 24 | 305 | 12.7 | 1 | 35 | ||
FBS rank among qualifying players
| Receiving | 2026 | FBS rank |
|---|---|---|
| Receptions | 24 | 229th / 2089 |
| Yards | 305 | 249th / 2074 |
| Yards / catch | 12.7 | 217th / 460 |
| Touchdowns | 1 | 412th / 914 |
| Long | 35 | — |
Estimated snaps from a model trained on real NFL snap counts. Ranges in brackets are where the real number lands 80% of the time: wide for a single game, tighter over the season. How it works
| Game | Start | Team plays | Est. snaps | Plays involved | Penalties | Snap share |
|---|---|---|---|---|---|---|
| Wk 1 · Tulane | ✓ TE | 76 | ~56 (47–68) | 7 | · | 74% |
| Wk 2 · Illinois | ✓ TE | 56 | ~34 (16–49) | 5 | · | 61% |
| Wk 3 · Stanford | ✓ TE | 71 | ~54 (46–65) | 6 | · | 76% |
| Wk 4 · William & Mary | ✓ TE | 71 | ~39 (18–56) | 5 | · | 55% |
| Wk 6 · Georgia Tech | — | 76 | ~60 (51–72) | 10 | 1 | 79% |
| Wk 7 · North Carolina | ✓ TE | 71 | ~51 (43–62) | 5 | · | 72% |
| Wk 8 · Virginia | — | 50 | ~31 (14–44) | 2 | · | 62% |
| Wk 9 · Boston College | — | 66 | ~37 (17–53) | 3 | · | 56% |
| Season | 5 GS | 537 | 362 (310–433) | 43 | 1 | 67% |
7 TEs on the Duke roster, ordered by rec
| # | Player | Pos | Class | Rec | Yds | TD | Tgt share | EPA/play |
|---|---|---|---|---|---|---|---|---|
| 85 | Jeremiah Hasley | TE | SR | 24 | 305 | 1 | 18% | +0.47 |
| 44 | Nate Kurisky | TE | SR | 6 | 41 | 0 | 7% | +0.32 |
| 15 | Jake Taylor | TE | SR | 5 | 76 | 0 | 8% | -0.60 |
| 46 | Tony Boggs | TE | JR | — | — | — | — | — |
| 80 | Benjamin Moseley | TE | FR | — | — | — | — | — |
| 81 | Brett Elliott | TE | SO | — | — | — | 4% | -0.33 |
| 84 | Jack Gaskins | TE | FR | — | — | — | — | — |
Stats, EPA and usage come from CollegeFootballData.com and refresh daily. FBS ranks only count players with enough volume for the stat to mean something. Qualifying for EPA takes 4+ plays per team game. Duke depth chart →