#0

Cole Keller

TESenior6' 4", 250 lbsGrain Valley, MO
James Madison Dukes7-2 · TDC #59
Snap share
66%
8 of 9 started · likely 58–80%
Receptions
22
272nd of 2089 in FBS
Rec. yards
353
181st of 2074 in FBS
Yards / catch
16.0
69th of 460 in FBS
Rec. TD
5
38th of 914 in FBS
EPA / play
+1.06
29 plays

Efficiency & Role

EPA = expected points added per play. Compared with every FBS WR/TE who qualifies

EPA per play by situation

29 plays · +30.7 total EPA · not enough plays to rank yet
All plays+1.06
Passing+1.06
1st down+0.53
2nd down+1.77
3rd down+0.94
Standard downs+1.12
Passing downs+0.97
KellerWR/TE average

Share of team plays

How often the offense runs through this player. Pass = targets or dropbacks, rush = carries
All plays5%
Pass plays10%
Run plays0%
1st down4%
2nd down4%
3rd down7%
Standard downs4%
Passing downs7%
KellerWR/TE average

Advanced

Computed from every play, garbage time excluded. FBS rank among players with enough volume

ReceivingValueFBS rank
Targets28—
Target share10.7%497th / 534
Catch rate75.0%91st / 534
Success rate per target64.3%28th / 534
Yards per target12.132nd / 534
Explosive catches25.0%19th / 534
Deep-target rate17.9%—
3rd-down targets8—
Red-zone targets5—

Charting

Where Keller's plays went: throw and catch spots, air yards and yards after the catch, read from the play-by-play

Targets
29
22 caught (76%)
Avg. depth of target
9.8
air yards per target
YAC per catch
8.5
187 yds after the catch
Air yards caught
166
of 353 yds on charted catches
Deep targets
17%
20+ air yards

Where he's targeted29 targets charted

76% comp9.8 avg. depth8.5 YAC/catch17% 20+ air yds5–0 TD–INT
101020203030LOSLeft, Behind air yards: noneLeft, 0–4 air yards: 2 targets (7%), 2 caught (100%), 10 yds, 5.0 per target2100% · 10yLeft, 5–9 air yards: 2 targets (7%), 1 caught (50%), 25 yds, 12.5 per target250% · 25yLeft, 10–14 air yards: noneLeft, 15–19 air yards: 1 targets (3%), 0 caught (0%), 0 yds, 0.0 per target10% · 0yLeft, 20–29 air yards: 1 targets (3%), 0 caught (0%), 0 yds, 0.0 per target10% · 0yLeft, 30+ air yards: noneMiddle, Behind air yards: noneMiddle, 0–4 air yards: 1 targets (3%), 1 caught (100%), 6 yds, 6.0 per target1100% · 6yMiddle, 5–9 air yards: 3 targets (10%), 2 caught (67%), 32 yds, 10.7 per target367% · 32yMiddle, 10–14 air yards: 3 targets (10%), 2 caught (67%), 32 yds, 10.7 per target367% · 32yMiddle, 15–19 air yards: noneMiddle, 20–29 air yards: 1 targets (3%), 1 caught (100%), 30 yds, 30.0 per target1100% · 30yMiddle, 30+ air yards: 1 targets (3%), 0 caught (0%), 0 yds, 0.0 per target10% · 0yRight, Behind air yards: 1 targets (3%), 1 caught (100%), 15 yds, 15.0 per target1100% · 15yRight, 0–4 air yards: 6 targets (21%), 6 caught (100%), 39 yds, 6.5 per target6100% · 39yRight, 5–9 air yards: 1 targets (3%), 1 caught (100%), 7 yds, 7.0 per target1100% · 7yRight, 10–14 air yards: 2 targets (7%), 2 caught (100%), 39 yds, 19.5 per target2100% · 39yRight, 15–19 air yards: 2 targets (7%), 1 caught (50%), 20 yds, 10.0 per target250% · 20yRight, 20–29 air yards: 2 targets (7%), 2 caught (100%), 98 yds, 49.0 per target2100% · 98yRight, 30+ air yards: none
fewer more targets
Direction and air yards come from the play-by-play (left / middle / right thirds of the field), so each glow sits in its zone rather than on an exact spot. Hover a zone for detail.

Game Log

Cole Keller'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

7.3 avg. game scoreBest: 9.6 at Georgia Southern (Week 6)2 of 9 games at 8.0+
Receiving
WkOpponentResultGame scoreRecYdsY/RTDLong
1LibertyW 20–136.513030.0030
2WagnerW 87–36.823718.5015
3@San Diego StateW 26–138.434013.3220
4@Old DominionW 46–207.13217.0111
5MarshallW 45–176.833511.7025
6@Georgia SouthernW 27–249.6410827.0157
7Georgia StateW 49–227.525427.0041
8@App StateL 31–347.222512.5119
9TroyL 21–245.52136.509
2026 · 9 games7.32236316.5557

2026 Season Stats

FBS rank among qualifying players

Receiving2026FBS rank
Receptions22272nd / 2089
Yards353181st / 2074
Yards / catch1669th / 460
Touchdowns538th / 914
Long57—

Snaps by Game

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

GameStartTeam playsEst. snapsPlays involvedPenaltiesSnap share
Wk 1 · Liberty✓ TE49~38 (18–49)2·78%
Wk 2 · Wagner✓ TE62~34 (16–49)2·55%
Wk 3 · San Diego State✓ TE74~57 (48–69)3·77%
Wk 4 · Old Dominion✓ TE79~50 (42–60)4·63%
Wk 5 · Marshall✓ TE66~44 (37–53)4·67%
Wk 6 · Georgia Southern✓ TE77~56 (47–68)4173%
Wk 7 · Georgia State—68~37 (17–53)2·54%
Wk 8 · App State✓ TE75~40 (34–48)4·53%
Wk 9 · Troy✓ TE77~60 (51–72)4·78%
Season8 GS627416 (362–501)29166%

Position Room

8 TEs on the James Madison roster, ordered by rec

#PlayerPosClassRecYdsTDTgt shareEPA/play
0Cole KellerTESR22353510%+1.06
13KD MosleyTEJR119636%+1.05
82Thatcher MillerTESR31904%+0.79
85Ryder PostTEJR1404%-0.16
44Max RocheTEFR—————
84Brian HnatTESO—————
86Ethan GurelaTESO—————
89Thomas GuillemetteTEFR—————

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. James Madison depth chart →