C.J. Ham

MIN logoMinnesota VikingsFB#30
Height
5'11"
Weight
250 lb
Age
33
College
Augustana (SD)
Drafted
Undrafted
Experience
9 yrs
Status
Active

Seasons

2021–2025
 GCARRUSH YDSRUSH TDRECREC YDSREC TD
MIN logo2025MIN83522110
MIN logo2024MIN1021015350
MIN logo2023MIN91707250
MIN logo2022MIN1147210860
MIN logo2021MIN157340171250

Debuted in 2016; GRIDLINE holds 2021 onwards.

 CARRUSH YDSRUSH TDRECREC YDSREC TD
WK 1@CIN logoCIN000290
WK 3vsSEA logoSEA220000
WK 4vsCLE logoCLE110000
WK 5vsDET logoDET1101140
WK 6@CAR logoCAR1300000
WK 8vsDAL logoDAL100330
WK 9@BAL logoBAL0001270
WK 10@LAC logoLAC0003130
WK 11vsGB logoGB100000
WK 12@SF logoSF0001160
WK 13@DET logoDET0001190
WK 15@CHI logoCHI000130
WK 16vsLA logoLA0002130
WK 17@GB logoGB000110
WK 18vsCHI logoCHI000170

Regular season only — weeks 1 to 18. Playoff games are not included.

Hit rate

Against a line you supply — we hold no player props
over
0
Median
0.5
Average
0 to 2
Range
137%
Swing
15
Games

Type the line your bookmaker is offering to see how often he has cleared it. GRIDLINE holds game lines but not player props, so this one comes from you.

His role

2021 · share of his team's snaps
-9points of snap shareHe was playing less by the end of the season.

35% of his team's offensive snaps across his first 12 games of 2021, 25% across the last 3 — and 1.7 touches or attempts a game against 1.7.

Snap share is the cleanest read on a role there is: touches depend on whether the ball came his way, while the share of snaps is the coaching staff's own statement about his job, made every week. It moves before the points do. It cannot say why it moved — injury, benching, game script and a change of scheme all look identical here.

Against the schedule he faced

2021 · opponent adjusted
1.01schedule index · CARHe faced a roughly average set of defences.
StatIdxActualAdjustedDiff
  1. CAR1.0177-0
  2. RUSH YDS1.003433-1
  3. RUSH TD1.04000
  4. REC0.941719+2

Each game is divided by how generous that opponent was to his position in 2021, so beating a soft defence counts for less and beating a hard one counts for more. The index is that division: below 1 is a hard schedule, above 1 an easy one, and it differs by stat because a defence generous with catches need not be generous with yards. 15 of 15 games had an opponent rating; the rest are left unadjusted rather than dropped, so the two columns stay comparable. Over a full season the correction is small, because schedules largely even out. It matters far more across three or five games than across seventeen.

Splits

2021 · per game
 GCARRUSH YDSRUSH TDRECREC YDSREC TD
Last 330.00.00.01.37.00.0
Last 550.00.00.01.28.60.0
Last 10100.20.00.01.410.20.0
Home70.90.60.01.05.30.0
Away80.13.80.01.311.00.0