DOWN X DOWN › players › compare
Season over · final
2025
2025 season · final Every snap of the 2025 season, kept as it ended.Back to 2026 →

2025 season · compare · backs

Compare players

Two or three players of the same position, side by side: where each one grades against the league, where the ball finds each of them, and how their weeks line up.

89 in the league pool
Who · up to three, same position groupStart over
23
Christian McCaffreyRB · 49ers · graded
✕
44
Cam SkatteboRB · Giants · graded
✕

The address bar is the share link. Copy it, text it, post it: whoever opens it sees the same players. The Compare button on player pages builds on this set until you start over or switch positions.

Where they rank · among 89 backs with 30 touches+League percentiles
Christian McCaffreyCam Skattebo
Yards per carry
3.930th
4.140th
Rush EPA per carry
-0.0746th
-0.1226th
EPA per targetreceiving, 5+ targets
+0.3092nd
+0.1064th
Broken tacklesper touch
3%71st
3%83rd
Explosive rate10+ run, 20+ catch per touch
8%40th
8%49th
Touches per game
25.999th
16.675th
Receiving sharetargets per touch
29%77th
24%67th
Yards per touch
4.863rd
4.658th

Each bar is the league pool; the markers are the players. Right is better, the dashed line is the median. The best value in each row is marked green.

Playstyle · how each is used, against the league's backsamong 89 backs
Christian McCaffreyCam Skattebo
ChristianThird-down backRed-zone backShort-yardage back
CamRPO backStaticGun runner
Inside runscarries at guard or tackle
52%40th
51%37th
Shotgun runscarries from the gun
27%23rd
70%93rd
Receiving sharetargets per touch
30%77th
24%67th
Third-down shareof team touches on 3rd down
29%99th
7%38th
Red-zone shareof team touches inside the 20
55%99th
18%54th
Short-yardage shareof team touches, 2 or fewer to go
40%92nd
20%52nd
RPOcarries on run-pass options
2%6th
37%99th
Motiontouches with pre-snap motion
69%87th
34%3rd

Every trait is a share of his own touches, so volume does not move it. Each bar is the league's qualifying backs; the markers are the players and the thin line is the median. Styles are not grades: a high or low share describes the role, not how well he plays it. The tags are each player's traits furthest from the middle.

The shape · percentile radarBigger and rounder is more complete
YPCRush EPAEPA / tgtBrk tacklesExplosiveTouchesRec shareYds / touch
Where he wins · EPA per target by lane and depthSame scale across
Christian McCaffrey
Loading…
Cam Skattebo
Loading…

Green cells turn targets into points, red cells lose them. Cells with one target are left grey.

Where the EPA comes from · the season split by what happened on his playsRushing and receiving EPA

Cam Skattebo gets the most on runs (−13.2 EPA), Christian McCaffrey gets the most after the catch (+97.8 EPA), and Christian also gives the most back on targets he does not catch (−18.8).

Christian McCaffrey+18.0
Cam Skattebo−8.7
Air yardsAfter the catchIncompletionsInterceptionsDesigned runsTwo-point tries
PartChristianCam
Air yardson catches−28.6−0.22 a target · 97th−18.7−0.59 a target · 63rd
After the catch+97.8+0.76 a target · 35th+31.2+0.97 a target · 74th
Incompletionstargets not caught−18.8−0.15 a target · 54th−9.1−0.28 a target · 11th
Interceptionswhen targeted−11.4−0.09 a target · 15th0.00.00 a target · 59th
Designed runs−21.1−0.07 a carry · 46th−13.2−0.13 a carry · 24th
Two-point triesnot in the rates–+1.1
Total+18.0440 touches−8.7133 touches

Every play is split by what happened: completions at the catch into air yards and yards after the catch (nflverse's air EPA), the cost of the ones that fell incomplete or were picked, and his designed runs. Bars share one scale, gains right of the line and losses left. The rate is per carry for runs and per target for catches, with its percentile among the league's qualifying backs; the best rate in each row is green.

Where the ball finds them · same scale, same fieldloading plays

Christian McCaffrey

Loading…

Cam Skattebo

Loading…

Designed carries by gap, from each team's play file.

On one field · every target, same fieldFilled is caught, a ring is not
Loading…
Depth butterfly · C.McCaffrey and C.SkatteboSolid is caught
Loading…

Back to back by depth band. The widest band is where the offense goes to him; the gap between solid and faded is where it misses.

The race · cumulative yardsFlat steps are byes
Week by week · groupedSame Sunday, side by side
The shape of their seasons · each one's last 3 games, week by weekWeeks 1 to 18
Christian McCaffreyCam Skattebo

Toucheslast 3 games

417
123456789101112131415161718
Christian 24.3Cam 16

Scrimmage ydslast 3 games

1678
123456789101112131415161718
Christian 128Cam 78

EPA / touchlast 3 games

-0.27+0.15
123456789101112131415161718
Christian +0.03Cam +0.14

Targetslast 3 games

13
123456789101112131415161718
Christian 7Cam 3.3

Each line is a player's trailing 3 games (rates are pooled over the games, not averaged); the faint dots are single games. The shaded band is the league's middle half of single games at the position, the dashed line its median. A line that climbs out of the band is a role getting bigger.

Floor and ceiling · boom, solid or dud, week by weekBoom 78+ · dud under 16
C.McCaffrey
142Wk 1107Wk 2140Wk 3141Wk 4139Wk 5111Wk 6201Wk 768Wk 8173Wk 996Wk 10121Wk 11142Wk 1274Wk 1314Wk 1487Wk 15146Wk 16181Wk 1757Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
125 ± 39
C.Skattebo
9Wk 159Wk 2121Wk 390Wk 4104Wk 5110Wk 694Wk 730Wk 89Wk 910Wk 1011Wk 1112Wk 1213Wk 1314Wk 1415Wk 1516Wk 1617Wk 1718Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
77 ± 38

Thresholds are the quartiles of every game week by qualified backs this season (1253 player weeks). The right column is the average week and its swing.

Fantasy · points, rank and range, week by week
StandardC.McCaffreyC.Skattebo
Points a game18.5RB213.0
Season314.6RB2103.7RB38
Most weeks13.5–26.18.6–17.0
Booms · busts14 · 012+ · under 53 · 112+ · under 5
Half PPRC.McCaffreyC.Skattebo
Points a game21.5RB114.5
Season365.6RB1115.7RB39
Most weeks15.2–28.910.3–19.4
Booms · busts12 · 016+ · under 6.53 · 116+ · under 6.5
PPRC.McCaffreyC.Skattebo
Points a game24.5RB116.0
Season416.6RB1127.7RB37
Most weeks17.4–31.711.2–21.8
Booms · busts12 · 020+ · under 82 · 120+ · under 8

Ranks are among players at each one's own position. A missing bar is a week he did not score: a bye or a missed game. The format you pick is remembered on this device.

Week by week · aligned
WeekC.McCaffreyC.Skattebo
Wk 169-3
Wk 25545
Wk 35260
Wk 44979
Wk 55759
Wk 65498
Wk 712960
Wk 82512
Wk 9106·
Wk 1030·
Wk 1181·
Wk 1289·
Wk 1353·
Wk 1573·
Wk 16117·
Wk 17140·
Wk 1823·
Season1202410

Rows are league weeks, so byes and missed games show as gaps. The best value each week is marked green.

Season stats · side by side, with league rank
SeasonC.McCaffreyC.Skattebo
Carries311101
Rush yards1202410
Rush TD105
Targets12932
Yards per carry3.963rd4.154th
Rush EPA per carry-0.0749th-0.1266th
EPA per target+0.307th+0.1030th
Broken tackles3%26th3%16th
Explosive rate8%54th8%46th
Touches per game25.91st16.623rd
Receiving share29%21st24%30th
Yards per touch4.833rd4.638th
Careers · scrimmage yards a game, season by seasonRegular season
Christian McCaffreyCam Skattebo
50100150
20172019202120232025*
PlayerGCarYdsTDYds/gBest seasonThis season
Christian McCaffrey2017 to 2025 · 9 seasons1121,65812,97998115.92019: 2,392149.5 a game125.1above his career rate
Cam Skattebo2025 to 2025 · 1 season8101617777.12025: 61777.1 a game77.1first season

Regular season only, from each player's career file. * 2025 is through Week 22; its dot is hollow because the season is not over. "This season" compares this year's rate with his earlier seasons. Hover a dot for the season's line.