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
14
Michael WilsonWR · Cardinals · graded
✕
15
Rome OdunzeWR · Bears · 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
Michael WilsonRome Odunze
Target shareof team targets
19%73rd
24%85th
Depth of targetair yards per target
11.956th
13.985th
After the catchyards per reception
3.546th
4.974th
Catch ratereceptions per target
62%48th
49%11th
EPA per target
+0.2046th
+0.2354th
First downsper target
40%65th
41%69th
Drop ratedrops per target, lower is better
1%83rd
3%55th
Yards per game
59.284th
55.178th

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
Michael WilsonRome Odunze
MichaelThird-down guyStaticDropback target
RomePlay-action targetDownfieldThird-down guy
Deep sharetargets 20+ yards downfield
17%52nd
28%87th
Screensshare of his targets
2%29th
2%33rd
Middle of the fieldtargets between the numbers
17%32nd
19%42nd
After the catchshare of his yards after the catch
27%43rd
29%48th
Third-down shareof team targets on 3rd down
27%91st
21%83rd
Red-zone shareof team targets inside the 20
16%71st
16%75th
Motiontargets with pre-snap motion
39%9th
51%41st
Play actiontargets off play action
10%15th
30%93rd

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
Michael Wilson
Loading…
Rome Odunze
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

Michael Wilson gets the most from the ball in the air (+55.0 EPA), Rome Odunze gets the most after the catch (+31.7 EPA), and Michael also gives the most back on targets he does not catch (−40.4).

Michael Wilson+25.8
Rome Odunze+20.9
Air yardsAfter the catchIncompletionsInterceptionsTwo-point tries
PartMichaelRome
Air yardson catches+55.0+0.44 a target · 64th+36.2+0.40 a target · 56th
After the catch+30.1+0.24 a target · 34th+31.7+0.35 a target · 70th
Incompletionstargets not caught−40.4−0.32 a target · 50th−33.3−0.37 a target · 30th
Interceptionswhen targeted−18.0−0.14 a target · 34th−12.8−0.14 a target · 35th
Two-point triesnot in the rates−0.9−0.9
Total+25.8126 targets+20.990 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

Michael Wilson

Loading…

Rome Odunze

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 · M.Wilson and R.OdunzeSolid 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
Michael WilsonRome Odunze

Targetslast 3 games

27
123456789101112131415161718
Michael 7Rome 7

Rec yardslast 3 games

754
123456789101112131415161718
Michael 80Rome 34

EPA / targetlast 3 games

-0.35+0.75
123456789101112131415161718
Michael +0.51Rome +0.02

aDOTlast 3 games

6.314.6
123456789101112131415161718
Michael 14.3Rome 15.1

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
M.Wilson
5Wk 111Wk 25Wk 315Wk 416Wk 544Wk 640Wk 78Wk 861Wk 934Wk 10185Wk 11118Wk 1236Wk 13142Wk 1454Wk 1552Wk 1689Wk 1799Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
59 ± 50
R.Odunze
37Wk 1128Wk 262Wk 369Wk 45Wk 532Wk 631Wk 7114Wk 80Wk 986Wk 1041Wk 1153Wk 128Wk 1314Wk 1415Wk 1516Wk 1617Wk 1718Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
55 ± 38

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
StandardM.WilsonR.Odunze
Points a game8.4WR228.5WR20
Season142.6WR14102.1WR36
Most weeks2.0–14.33.1–12.8
Booms · busts4 · 812+ · under 54 · 512+ · under 5
Half PPRM.WilsonR.Odunze
Points a game10.7WR1810.3WR23
Season181.6WR13124.1WR40
Most weeks3.4–17.34.1–14.9
Booms · busts5 · 816+ · under 6.52 · 516+ · under 6.5
PPRM.WilsonR.Odunze
Points a game13.0WR1612.2WR24
Season220.6WR10146.1WR41
Most weeks4.9–20.75.1–18.1
Booms · busts4 · 720+ · under 82 · 520+ · 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
WeekM.WilsonR.Odunze
Wk 1537
Wk 211128
Wk 3562
Wk 41569
Wk 516·
Wk 64432
Wk 74031
Wk 8·114
Wk 9610
Wk 103486
Wk 1118541
Wk 1211853
Wk 13368
Wk 14142·
Wk 1554·
Wk 1652·
Wk 1789·
Wk 1899·
Season1006661

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
SeasonM.WilsonR.Odunze
Targets12690
Receptions7844
Yards1006661
Touchdowns76
Target share19%40th24%22nd
Depth of target11.965th13.923rd
After the catch3.580th4.938th
Catch rate62%77th49%130th
EPA per target+0.2079th+0.2368th
First downs40%52nd41%46th
Drop rate1%25th3%65th
Yards per game59.224th55.133rd
Careers · receiving yards a game, season by seasonRegular season
Michael WilsonRome Odunze
2550
202320242025*
PlayerGRecYdsTDYds/gBest seasonThis season
Michael Wilson2023 to 2025 · 3 seasons461632,1191446.12023: 56543.5 a game59.2above his career rate
Rome Odunze2024 to 2025 · 2 seasons29981,395948.12024: 73443.2 a game55.1above 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.