Christian McCaffrey

SF logoSan Francisco 49ersRB#23
Height
5'11"
Weight
210 lb
Age
30
College
Stanford
Drafted
2017 · round 1, pick 8 · CAR
Experience
10 yrs
Status
Active

Seasons

2021–2025
 GCARRUSH YDSRUSH TDRECREC YDSREC TD
SF logo2025SF173111,202101029247
SF logo2024SF4502020151460
SF logo2023SF162721,45914675647
SF logo2022SF172441,1398857415
CAR logo2021CAR7994421373431

Debuted in 2017; GRIDLINE holds 2021 onwards.

 CARRUSH YDSRUSH TDRECREC YDSREC TD
WK 1@SEA logoSEA226909730
WK 2@NO logoNO135506521
WK 3vsARI logoARI1752010880
WK 4vsJAX logoJAX174906921
WK 5@LA logoLA225708821
WK 6@TB logoTB175417570
WK 7vsATL logoATL2412927720
WK 8@HOU logoHOU82503430
WK 9@NYG logoNYG2810615671
WK 10vsLA logoLA123008660
WK 11@ARI logoARI138125401
WK 12vsCAR logoCAR248917530
WK 13@CLE logoCLE205314210
WK 15vsTEN logoTEN227311140
WK 16@IND logoIND2111706292
WK 17vsCHI logoCHI2314014410
WK 18vsSEA logoSEA82306340

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
20
Median
18.3
Average
8 to 28
Range
32%
Swing
17
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

2025 · share of his team's snaps
+1points of snap shareHis role held steady across the season.

83% of his team's offensive snaps across his first 14 games of 2025, 84% across the last 3 — and 26.3 touches or attempts a game against 24.3, down 2.0.

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

2025 · opponent adjusted
0.99schedule index · CARHe faced a roughly average set of defences.
StatIdxActualAdjustedDiff
  1. CAR0.99311317+6
  2. RUSH YDS0.981,2021,211+9
  3. RUSH TD0.921010-0
  4. REC1.0410297-5

Each game is divided by how generous that opponent was to his position in 2025, 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. 17 of 17 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

2025 · per game
 GCARRUSH YDSRUSH TDRECREC YDSREC TD
Last 3317.393.30.35.334.70.7
Last 5518.881.20.64.227.80.4
Last 101017.973.70.74.940.80.4
Home818.473.10.66.157.50.1
Away918.268.60.65.951.60.7