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 · wide receivers

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.

146 in the league pool
Who · up to three, same position groupStart over
15
Tory HortonWR · Seahawks · graded
✕
18
Brandin CooksWR · Bills · 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 146 wide receivers with 15 targets+League percentiles
Tory HortonBrandin Cooks
Target shareof team targets
11%34th
9%23rd
Depth of targetair yards per target
15.392nd
14.388th
After the catchyards per reception
2.520th
1.86th
Catch ratereceptions per target
59%37th
67%70th
EPA per target
+0.4780th
+0.4580th
First downsper target
32%29th
39%57th
Drop ratedrops per target, lower is better
0%92nd
11%6th
Yards per game
20.133rd
18.626th

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 wide receiversamong 146 wide receivers
Tory HortonBrandin Cooks
ToryNo screensDownfieldNot the third-down option
BrandinDownfieldWins before the catchNot the red-zone option
Deep sharetargets 20+ yards downfield
27%85th
64%100th
Screensshare of his targets
0%12th
5%53rd
Middle of the fieldtargets between the numbers
18%40th
18%40th
After the catchshare of his yards after the catch
21%21st
9%1st
Third-down shareof team targets on 3rd down
4%15th
4%11th
Red-zone shareof team targets inside the 20
5%26th
1%4th
Motiontargets with pre-snap motion
55%54th
55%54th
Play actiontargets off play action
18%48th
36%96th

Every trait is a share of his own targets, so volume does not move it. Each bar is the league's qualifying wide receivers; 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
Target shareDepthYACCatch rateEPA / tgtFirst downsDropsYds / game
Where he wins · EPA per target by lane and depthSame scale across
Tory Horton
Loading…
Brandin Cooks
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 playsReceiving EPA

Brandin Cooks gets the most from the ball in the air (+15.1 EPA), he gets the most after the catch (+10.1 EPA), and Brandin also gives the most back on targets he does not catch (−9.2).

Tory Horton+10.2
Brandin Cooks+16.0
Air yardsAfter the catchIncompletionsInterceptions
PartToryBrandin
Air yardson catches+11.0+0.50 a target · 74th+15.1+0.42 a target · 59th
After the catch+6.0+0.27 a target · 48th+10.1+0.28 a target · 52nd
Incompletionstargets not caught−6.8−0.31 a target · 52nd−9.2−0.26 a target · 73rd
Interceptionswhen targeted0.00.00 a target · 88th0.00.00 a target · 88th
Total+10.222 targets+16.036 targets

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. Bars share one scale, gains right of the line and losses left. The rate is per target, with its percentile among the league's qualifying wide receivers; the best rate in each row is green.

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

Tory Horton

Loading…

Brandin Cooks

Loading…

Targets placed by air yards and side of the field, from each team's play file.

On one field · every target, same fieldFilled is caught, a ring is not
Loading…
Depth butterfly · T.Horton and B.CooksSolid 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 17
Tory HortonBrandin Cooks

Targetslast 3 games

27
1234567891011121314151617
Tory 2.7Brandin 3.3

Rec yardslast 3 games

754
1234567891011121314151617
Tory 16Brandin 33.7

EPA / targetlast 3 games

-0.35+0.75
1234567891011121314151617
Tory +0.36Brandin +0.39

aDOTlast 3 games

6.314.6
1234567891011121314151617
Tory 18.1Brandin 27.2

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 54+ · dud under 7
T.Horton
0Wk 132Wk 232Wk 310Wk 439Wk 50Wk 60Wk 78Wk 848Wk 910Wk 1011Wk 1112Wk 1213Wk 1314Wk 1415Wk 1516Wk 1617Wk 1718Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
20 ± 18
B.Cooks
26Wk 126Wk 224Wk 322Wk 45Wk 521Wk 63Wk 722Wk 816Wk 90Wk 1011Wk 1112Wk 1213Wk 130Wk 140Wk 150Wk 16101Wk 1718Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
19 ± 24

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

Fantasy · points, rank and range, week by week
StandardT.HortonB.Cooks
Points a game6.51.9WR115
Season52.1WR7927.9WR119
Most weeks0.0–13.10.0–2.4
Booms · busts2 · 412+ · under 50 · 1412+ · under 5
Half PPRT.HortonB.Cooks
Points a game7.32.7WR109
Season58.6WR8639.9WR112
Most weeks0.0–14.60.0–3.7
Booms · busts2 · 416+ · under 6.50 · 1416+ · under 6.5
PPRT.HortonB.Cooks
Points a game8.13.5WR102
Season65.1WR9651.9WR106
Most weeks0.0–16.10.0–5.2
Booms · busts1 · 420+ · under 80 · 1420+ · 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
WeekT.HortonB.Cooks
Wk 1026
Wk 23226
Wk 33224
Wk 41022
Wk 5395
Wk 6021
Wk 703
Wk 8·22
Wk 94816
Wk 10··
Wk 13·13
Wk 14··
Wk 15·0
Wk 16·0
Wk 17·101
Season161279

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
SeasonT.HortonB.Cooks
Targets2236
Receptions1324
Yards161279
Touchdowns50
Target share11%97th9%113th
Depth of target15.312th14.318th
After the catch2.5117th1.8138th
Catch rate59%93rd67%43rd
EPA per target+0.4729th+0.4530th
First downs32%103rd39%63rd
Drop rate0%1st11%137th
Yards per game20.198th18.6108th
Careers · receiving yards a game, season by seasonRegular season
Tory HortonBrandin Cooks
255075
201420162018202020222025*
PlayerGRecYdsTDYds/gBest seasonThis season
Tory Horton2025 to 2025 · 1 season813161520.12025: 16120.1 a game20.1first season
Brandin Cooks2014 to 2025 · 12 seasons1697349,8116058.12018: 1,20480.3 a game21.5below 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.