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
20
Kaleb JohnsonRB · Steelers · graded
✕
30
Chris BrooksRB · Packers · 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
Kaleb JohnsonChris Brooks
Yards per carry
2.52nd
3.933rd
Rush EPA per carry
-0.285th
-0.1815th
EPA per targetreceiving, 5+ targets
--
-0.0737th
Broken tacklesper touch
0%11th
2%68th
Explosive rate10+ run, 20+ catch per touch
0%2nd
7%26th
Touches per game
3.09th
2.66th
Receiving sharetargets per touch
7%5th
39%86th
Yards per touch
2.61st
4.547th

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
Kaleb JohnsonChris Brooks
KalebNot the red-zone backNot the third-down backGround only
ChrisNot the short-yardage backNot the red-zone backPass-catching back
Inside runscarries at guard or tackle
57%60th
57%60th
Shotgun runscarries from the gun
36%37th
36%37th
Receiving sharetargets per touch
7%5th
39%86th
Third-down shareof team touches on 3rd down
1%3rd
4%23rd
Red-zone shareof team touches inside the 20
3%2nd
4%11th
Short-yardage shareof team touches, 2 or fewer to go
3%10th
1%2nd
RPOcarries on run-pass options
29%94th
18%69th
Motiontouches with pre-snap motion
50%30th
43%14th

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

Not graded, so skipped on the shape: Kaleb Johnson: epa per target.

Where he wins · EPA per target by lane and depthSame scale across
Kaleb Johnson
Loading…
Chris Brooks
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

Chris Brooks gets the most on runs (−4.9 EPA), he gets the most after the catch (+16.2 EPA), and Chris also gives the most back on targets he does not catch (−3.5).

Kaleb Johnson−7.5
Chris Brooks−6.0
Air yardsAfter the catchIncompletionsInterceptionsDesigned runs
PartKalebChris
Air yardson catches−1.3−0.64 a target · 46th−13.7−0.81 a target · 20th
After the catch+2.0+0.98 a target · 75th+16.2+0.95 a target · 66th
Incompletionstargets not caught−0.4−0.22 a target · 28th−3.5−0.21 a target · 31st
Interceptionswhen targeted0.00.00 a target · 59th0.00.00 a target · 59th
Designed runs−7.7−0.28 a carry · 5th−4.9−0.18 a carry · 15th
Total−7.530 touches−6.044 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

Kaleb Johnson

Loading…

Chris Brooks

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 · K.Johnson and C.BrooksSolid 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
Kaleb JohnsonChris Brooks

Toucheslast 3 games

417
123456789101112131415161718
Kaleb 2Chris 5.3

Scrimmage ydslast 3 games

1678
123456789101112131415161718
Kaleb 3.7Chris 25.3

EPA / touchlast 3 games

-0.27+0.15
123456789101112131415161718
Kaleb -0.31Chris -0.15

Targetslast 3 games

13
123456789101112131415161718
Kaleb 0Chris 0.7

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
K.Johnson
-2Wk 11Wk 23Wk 322Wk 45Wk 515Wk 67Wk 78Wk 813Wk 93Wk 1015Wk 1112Wk 123Wk 134Wk 144Wk 1516Wk 1617Wk 1718Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
8 ± 7
C.Brooks
3Wk 127Wk 20Wk 31Wk 45Wk 51Wk 60Wk 70Wk 824Wk 90Wk 108Wk 1126Wk 129Wk 136Wk 1416Wk 154Wk 1611Wk 1761Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
12 ± 15

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
StandardK.JohnsonC.Brooks
Points a game0.8RB871.2RB79
Season7.8RB10919.7RB84
Most weeks0.3–1.50.0–2.2
Booms · busts0 · 1012+ · under 50 · 1612+ · under 5
Half PPRK.JohnsonC.Brooks
Points a game0.8RB881.5RB79
Season8.3RB11026.2RB81
Most weeks0.3–1.60.0–2.9
Booms · busts0 · 1016+ · under 6.50 · 1716+ · under 6.5
PPRK.JohnsonC.Brooks
Points a game0.9RB901.9RB78
Season8.8RB11432.7RB81
Most weeks0.3–1.60.0–3.5
Booms · busts0 · 1020+ · under 80 · 1720+ · 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
WeekK.JohnsonC.Brooks
Wk 1-21
Wk 210
Wk 3·0
Wk 4220
Wk 6151
Wk 7·0
Wk 8·0
Wk 940
Wk 1030
Wk 11158
Wk 12·21
Wk 1330
Wk 1440
Wk 15410
Wk 16·4
Wk 17·0
Wk 18·61
Season69106

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
SeasonK.JohnsonC.Brooks
Carries2827
Rush yards69106
Rush TD00
Targets217
Yards per carry2.588th3.960th
Rush EPA per carry-0.2885th-0.1876th
EPA per target--0.0753rd
Broken tackles0%71st2%29th
Explosive rate0%87th7%66th
Touches per game3.081st2.684th
Receiving share7%85th39%13th
Yards per touch2.689th4.548th
Careers · scrimmage yards a game, season by seasonRegular season
Kaleb JohnsonChris Brooks
25
202320242025*
PlayerGCarYdsTDYds/gBest seasonThis season
Kaleb Johnson2025 to 2025 · 1 season10287807.82025: 787.8 a game7.8first season
Chris Brooks2023 to 2025 · 3 seasons3182555117.92024: 25222.9 a game11.6below his career rate

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.