#3

Rodney Bullard Jr.

WRSenior5' 11", 188 lbsAlbany, GA
Michigan State Spartans2-6 · TDC #66
Snap share
63%
5 of 8 started · likely 53–74%
Receptions
21
299th of 2089 in FBS
Rec. yards
253
339th of 2074 in FBS
Yards / catch
12.0
254th of 460 in FBS
Rec. TD
1
412th of 914 in FBS
EPA / play
+0.29
225th of 315 WR/TEs

Efficiency & Role

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

EPA per play by situation

38 plays · +11.1 total EPA · 225th of 315 qualifying WR/TEs
All plays+0.29
Passing+0.31
Rushing+0.04
1st down-0.03
2nd down+0.69
3rd down+0.56
Standard downs+0.04
Passing downs+0.78
Jr.WR/TE average

Share of team plays

How often the offense runs through this player. Pass = targets or dropbacks, rush = carries
All plays7%
Pass plays15%
Run plays1%
1st down7%
2nd down8%
3rd down7%
Standard downs7%
Passing downs10%
Jr.WR/TE average

Advanced

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

ReceivingValueFBS rank
Targets36—
Target share16.5%267th / 534
Catch rate58.3%387th / 534
Success rate per target47.2%287th / 534
Yards per target7.0357th / 534
Explosive catches5.6%439th / 534
Deep-target rate13.9%—
3rd-down targets7—
Red-zone targets4—

Charting

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

Targets
36
21 caught (58%)
Avg. depth of target
11.8
air yards per target
YAC per catch
2.4
51 yds after the catch
Air yards caught
201
of 252 yds on charted catches
Deep targets
14%
20+ air yards

Where he's targeted36 targets charted

58% comp11.8 avg. depth2.4 YAC/catch14% 20+ air yds1–0 TD–INT
101020203030LOSLeft, Behind air yards: 1 targets (3%), 1 caught (100%), -2 yds, -2.0 per target1100% · -2yLeft, 0–4 air yards: noneLeft, 5–9 air yards: 4 targets (11%), 4 caught (100%), 35 yds, 8.8 per target4100% · 35yLeft, 10–14 air yards: 5 targets (14%), 3 caught (60%), 39 yds, 7.8 per target560% · 39yLeft, 15–19 air yards: 2 targets (6%), 2 caught (100%), 43 yds, 21.5 per target2100% · 43yLeft, 20–29 air yards: noneLeft, 30+ air yards: 2 targets (6%), 1 caught (50%), 53 yds, 26.5 per target250% · 53yMiddle, Behind air yards: noneMiddle, 0–4 air yards: noneMiddle, 5–9 air yards: 1 targets (3%), 0 caught (0%), 0 yds, 0.0 per target10% · 0yMiddle, 10–14 air yards: noneMiddle, 15–19 air yards: 1 targets (3%), 0 caught (0%), 0 yds, 0.0 per target10% · 0yMiddle, 20–29 air yards: noneMiddle, 30+ air yards: noneRight, Behind air yards: 2 targets (6%), 2 caught (100%), 1 yds, 0.5 per target2100% · 1yRight, 0–4 air yards: 3 targets (8%), 2 caught (67%), 14 yds, 4.7 per target367% · 14yRight, 5–9 air yards: 7 targets (19%), 3 caught (43%), 24 yds, 3.4 per target743% · 24yRight, 10–14 air yards: 1 targets (3%), 1 caught (100%), 13 yds, 13.0 per target1100% · 13yRight, 15–19 air yards: 4 targets (11%), 2 caught (50%), 32 yds, 8.0 per target450% · 32yRight, 20–29 air yards: 2 targets (6%), 0 caught (0%), 0 yds, 0.0 per target20% · 0yRight, 30+ air yards: 1 targets (3%), 0 caught (0%), 0 yds, 0.0 per target10% · 0y
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.
2025 charting · Michigan State

2025 season. ESPN's play-by-play only has throw and catch spots for part of 2025 (2 of Jr.’s games here), so treat the maps as a sample.

Charted targets
5
4 caught (80%)
Avg. depth of target
10.8
air yards per target
YAC per catch
13.8
55 yds after the catch
Air yards caught
47
of 102 yds on charted catches
Deep targets
0%
20+ air yards

Where he's targeted5 targets charted

63% comp10.8 avg. depth13.8 YAC/catch0% 20+ air yds1–0 TD–INT
101020203030LOSLeft, Behind air yards: noneLeft, 0–4 air yards: 1 targets (20%), 1 caught (100%), 4 yds, 4.0 per target1100% · 4yLeft, 5–9 air yards: noneLeft, 10–14 air yards: noneLeft, 15–19 air yards: noneLeft, 20–29 air yards: noneLeft, 30+ air yards: noneMiddle, Behind air yards: noneMiddle, 0–4 air yards: noneMiddle, 5–9 air yards: 1 targets (20%), 0 caught (0%), 0 yds, 0.0 per target10% · 0yMiddle, 10–14 air yards: 1 targets (20%), 1 caught (100%), 11 yds, 11.0 per target1100% · 11yMiddle, 15–19 air yards: noneMiddle, 20–29 air yards: noneMiddle, 30+ air yards: noneRight, Behind air yards: noneRight, 0–4 air yards: noneRight, 5–9 air yards: noneRight, 10–14 air yards: noneRight, 15–19 air yards: 2 targets (40%), 2 caught (100%), 87 yds, 43.5 per target2100% · 87yRight, 20–29 air yards: noneRight, 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.

Career

2 seasons since 2014 · box-score totals, snap share estimated from play-by-play

SeasonTeamGSnapsRecRec ydsRec TDTgt share
2026 so farMichigan State#66 · 2-6863%21253116.5%
2025Michigan State#83 · 4-8317%511916.1%

Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Rodney Bullard Jr.'s team rank is that season's final TDC rank. A dash means the stat wasn't recorded.

Game Log

Rodney Bullard Jr.'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

5.7 avg. game scoreBest: 8.1 vs Toledo (Week 1)1 of 7 games at 8.0+
Receiving
WkOpponentResultGame scoreRecYdsY/RTDLong
1ToledoW 30–208.179012.9126
2Eastern MichiganW 35–75.73268.7017
3@Notre DameL 10–276.926633.0053
4NebraskaL 13–314.82115.5013
5@WisconsinL 3–314.811313.0013
6IllinoisL 37–386.44369.0015
7NorthwesternL 21–243.02115.5010
8@UCLAL 10–28—no stats recorded
2026 · 7 games5.72125312.0153

2026 Season Stats

FBS rank among qualifying players

Rushing2026FBS rank
Carries2—
Yards41235th / 1519
Yards / carry2—
Touchdowns0—
Long11—
Receiving2026FBS rank
Receptions21299th / 2089
Yards253339th / 2074
Yards / catch12254th / 460
Touchdowns1412th / 914
Long53—
Fumbles2026FBS rank
Fumbles1—
Lost0—
Recovered0—

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 involvedSnap share
Wk 1 · Toledo✓ WR83~66 (43–80)1180%
Wk 2 · Eastern Michigan✓ WR71~44 (29–54)662%
Wk 3 · Notre Dame✓ WR46~34 (11–46)274%
Wk 4 · Nebraska✓ WR60~52 (34–60)687%
Wk 5 · Wisconsin—78~39 (12–53)150%
Wk 6 · Illinois—55~33 (11–45)560%
Wk 7 · Northwestern✓ WR57~43 (28–52)675%
Wk 8 · UCLA—55~9 (3–15)116%
Season5 GS505320 (268–373)3863%

Position Room

12 WRs on the Michigan State roster, ordered by rec

#PlayerPosClassRecYdsTDTgt shareEPA/play
13Chrishon McCrayWRSR29289117%+0.19
3Rodney Bullard Jr.WRSR21253115%+0.29
6Fredrick MooreWRJR20216214%+0.20
19Charles TaplinWRFR36517%+1.58
Bryson WilliamsWR37015%+0.01
5Samson GashWRFR2907%-0.15
8KK SmithWRJR22103%+0.79
17Braylon CollierWRFR22305%+0.45
16Zach WashingtonWRFR—————
18Jameel Gardner Jr.WRSR—————
81Colin CharlesWRFR—————
89Nick HardyWRFR—————

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. Michigan State depth chart →