Usage / Role
27%
Rotational offensive role
Player Dossier
2008-2011Michigan State
WR • 6'2" • Westerville, OH, USA
B.J. Cunningham reads as a alpha target based on recent role and receiving efficiency.
Usage / Role
27%
Rotational offensive role
Impact Production
69
Solid production for a receiver
Reliability
76
Regular contributor with several takeover games
Star Power
75
High-upside career profile
Career Arc
Value trend by season
Best season by Season Value: 2011 Postseason · Michigan State
Snapshot
Player Story
B.J. Cunningham built his college career from 2008 through 2011 as a wide receiver from Westerville, OH wearing No. 3, spending time with Michigan State. The clearest part of B.J. Cunningham's career was his...
Read the storyNFL Draft
B.J. Cunningham, WR. Best season Best season by Season Value: 2011 Postseason · Michigan State. B.J. Cunningham reads as a alpha target based on recent role and receiving efficiency.
Stat Footprint
Quick Answers
Season Ledger
| Season | Team | Games | Rec | Rec Yds | TD | Overall |
|---|---|---|---|---|---|---|
| 2008 Postseason | Michigan State | 13 | 6 | 52 | 0 | 64.4 |
| 2008 Regular Season | Michigan State | 13 | 35 | 476 | 0 | 64.4 |
| 2009 Regular Season | Michigan State | 12 | 48 | 641 | 4 | 66.9 |
| 2010 Regular Season | Michigan State | 12 | 50 | 611 | 9 | 62.5 |
| 2011 Postseason | Michigan State | 13 | 7 | 66 | 0 | 90.6 |
| 2011 Regular Season | Michigan State | 13 | 72 | 1,240 | 12 | 90.6 |
Related Context
B.J. Cunningham played WR for Michigan State. Across 4 tracked seasons, B.J. Cunningham recorded 82 rushing yards, 3,086 receiving yards, and 25 touchdowns. His top tracked season came in 2011 with Michigan State.
Lead takeaway
Best season by value score: 2011 Postseason
Michigan State paired 1,306 primary output with 91.2 efficiency.
Supporting note
2010 Regular Season role shape
target-driven usage with 75.1 efficiency.
Supporting note
Career value stayed steady
2011 Regular Season tracked close to the prior stop by season value score.
Supporting note
Peak game by takeover score: Northwestern
Win with an explosive receiving profile. It landed in the 100th percentile of the selected season.
Analysis workspace
Filter the strongest season sample, inspect game-level shape, and then drop into the full log without losing the story of the year.
Understand the selected season before dropping into the full game log.
Games
12
Receiving Yards / G
50.9
Efficiency
75.1
Usage
22.3
Consistency
53.8
Best Game by takeover score
Northwestern
Active game
Hover over a point
Hover or select a game to keep its context visible here without the page shifting around.
Follow how the selected stat changes from one game to the next. Spikes mark standout outings, while dips show quieter weeks.
Chronological game order.
Game by game trend chart. Western Michigan: 11. Florida Atlantic: 35. Notre Dame: 101. Northern Colorado: 43. Wisconsin: 25. Michigan: 40. Illinois: 83. Northwestern: 113. Iowa: 36. Minnesota: 40. Purdue: 51. Penn State: 33
Each dot is a game. Farther right means the player carried more of the workload, and higher means they were more efficient with those chances.
Low volumeHigh quality
High volumeHigh quality
Low volumeLower quality
High volumeLower quality
Volume on the x-axis, quality on the y-axis.
Volume versus efficiency scatter chart. Western Michigan: 1 by 73.3. Florida Atlantic: 2 by 100. Notre Dame: 7 by 96.2. Northern Colorado: 4 by 71.7. Wisconsin: 3 by 55.6. Michigan: 5 by 53.3. Illinois: 3 by 100. Northwestern: 8 by 94.2. Iowa: 4 by 60. Minnesota: 4 by 66.7. Purdue: 6 by 56.7. Penn State: 3 by 73.3
Compare how this player performed across different situations. "Games" shows how many matchups are included in each split.
Dense stat lines with inline explanations and season-linked highlights.
12 games
Featured metric
Receiving Yards
Top game by takeover score
Northwestern
Best efficiency game
100 vs Illinois
| Result | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Sat 11/27 | @ Penn State2+ TD | W 28-22 | — | 3 | 33 | 11 | 11 | 2 | 24 |
| Sat 11/20 | vs Purdue | W 35-31 | — | 6 | 51 | 8.5 | 8.50 | 1 | 28 |
| Sat 11/6 | vs Minnesota | W 31-8 | — | 4 | 40 | 10 | 10 | 0 | 24 |
| Sat 10/30 | @ Iowa | L 6-37 | — | 4 | 36 | 9 | 9 | 1 | 14 |
| Sat 10/23 | @ Northwestern100 receiving yards · High volume | W 35-27 | — | 8 | 113 | 12.6 | 14.10 | 1 | 27 |
| Sat 10/16 | vs Illinois | W 26-6 | — | 3 | 83 | 27.7 | 27.70 | 1 | 48 |
| Sat 10/9 | @ Michigan | W 34-17 | — | 5 | 40 | 8 | 8 | 0 | 15 |
| Sat 10/2 | vs Wisconsin | W 34-24 | — | 3 | 25 | 8.3 | 8.30 | 1 | 12 |
| Sat 9/25 | vs Northern Colorado | W 45-7 | — | 4 | 43 | 10.8 | 10.80 | 0 | 23 |
| Sun 9/19 | vs Notre Dame100 receiving yards | W 34-31 | — | 7 | 101 | 14.4 | 14.40 | 1 | 27 |
| Sat 9/11 | @ Florida Atlantic | W 30-17 | — | 2 | 35 | 17.5 | 17.50 | 1 | 30 |
| Sat 9/4 | vs Western Michigan | W 38-14 | — | 1 | 11 | 11 | 11 | 0 | 11 |
Player Story
B.J. Cunningham built his college career from 2008 through 2011 as a wide receiver from Westerville, OH wearing No. 3, spending time with Michigan State. The clearest part of B.J. Cunningham's career was his receiving role: 218 catches, 3,086 receiving yards, 25 touchdowns, and 82 rushing yards across 50 career games in the available record. His largest box-score season came in 2011 with Michigan State. Those numbers show where he fit, how often the ball or action found him, and how his role developed over time.
The value of the career arc is that it connects production to role, not just a name on a roster. His career also includes 82 rushing yards, giving the story more than a single-category snapshot. With 50 career games in the available record, his career has enough shape to show both opportunity and production across Michigan State.
The arc is straightforward: B.J. Cunningham moved through the depth chart, found a larger role, and turned that opportunity into production that can be understood through standard football numbers.
Track team changes, role shifts, and season-to-season movement.
Michigan State
2008-2011
Opening stop
Season Value Progression
| Season | Team | Primary | Efficiency | Usage | Delta |
|---|---|---|---|---|---|
| 2008 Postseason | Michigan State | 528 | 78.5 | 21.4 | — |
| 2008 Regular Season | Michigan State | 528 | 78.5 | 21.4 | 0 |
| 2009 Regular Season | Michigan State | 641 | 76.8 | 20.5 | 113 |
| 2010 Regular Season | Michigan State | 611 | 75.1 | 22.3 | -30 |
| 2011 Postseason | Michigan State | 1,306 | 91.2 | 29 | 695 |
| 2011 Regular Season | Michigan State | 1,306 | 91.2 | 29 | 0 |
#1 Featured game
vs Iowa
Week 6 · W 16-13 · Conference game
Win with an explosive receiving profile.
76
Receiving Yards
100 takeover
76 receiving yards with a 100 efficiency score.
#2
@ Ohio State
Week 5 · W 10-7 · Conference game
154
Receiving Yards
99.2 takeover
Win with an explosive receiving profile.
154 receiving yards with a 100 efficiency score.
#3
vs Eastern Michigan
Week 2 · W 42-10
76
Receiving Yards
97 takeover
Win with an explosive receiving profile.
76 receiving yards with a 100 efficiency score.
#4
@ Purdue
Week 11 · W 40-37 · Conference game
92
Receiving Yards
97 takeover
Win with an explosive receiving profile.
92 receiving yards with a 100 efficiency score.
#5
@ Notre Dame
Week 3 · L 13-31
158
Receiving Yards
95.9 takeover
Loss with an explosive receiving profile.
158 receiving yards with a 87.8 efficiency score.
#1 Season by Season Value
2011 Postseason · Michigan State
1,306 primary output · 91.2 efficiency · 29 usage
90.6
#2
2011 Regular Season · Michigan State
90.6
1,306 primary · 91.2 efficiency · 29 usage
#3
2009 Regular Season · Michigan State
66.9
641 primary · 76.8 efficiency · 20.5 usage
10
100+ receiving yards
4
8+ catch outings
5
2+ TD games
Next best actions
Move from the player story into the game log, career arc, team context, and video shelf.