DOWN X DOWN › players › compare
Updated Nov 3, 9:16 AM ET
2026

2026 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.

100 in the league pool
Who · up to three, same position groupStart over
10
Khalil ShakirWR · Bills · graded
✕
19
Ryan FlournoyWR · Cowboys · 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.

This week · each one's next game and the defense at his positionHalf PPR
Week 9 · Monday · Khalil at VikingsVikings allow the 4th-fewest WR points
Week 9 · Sunday · Ryan at ColtsColts allow the 7th-fewest WR points
Where they rank · among 100 wide receivers with 15 targets+League percentiles
Khalil ShakirRyan Flournoy
Target shareof team targets
19%60th
15%40th
Depth of targetair yards per target
5.55th
7.111th
After the catchyards per reception
9.499th
4.869th
Catch ratereceptions per target
71%85th
68%63rd
EPA per target
+0.4068th
+0.3460th
First downsper target
37%46th
39%55th
Drop ratedrops per target, lower is better
8%21st
7%27th
Yards per game
50.666th
42.853rd

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 100 wide receivers
Khalil ShakirRyan Flournoy
KhalilYards after the catchWorks the middlePlay-action target
RyanRarely deepStaticYards after the catch
Deep sharetargets 20+ yards downfield
5%14th
5%11th
Screensshare of his targets
16%88th
7%61st
Middle of the fieldtargets between the numbers
39%97th
25%66th
After the catchshare of his yards after the catch
71%99th
42%79th
Third-down shareof team targets on 3rd down
16%52nd
14%38th
Red-zone shareof team targets inside the 20
24%85th
20%72nd
Motiontargets with pre-snap motion
71%89th
40%18th
Play actiontargets off play action
29%92nd
20%69th

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
Khalil Shakir
Loading…
Ryan Flournoy
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

Ryan Flournoy gets the most from the ball in the air (+8.7 EPA), Khalil Shakir gets the most after the catch (+32.0 EPA), and Khalil also gives the most back on targets he does not catch (−9.0).

Khalil Shakir+15.3
Ryan Flournoy+14.8
Air yardsAfter the catchIncompletionsInterceptionsTwo-point tries
PartKhalilRyan
Air yardson catches−7.7−0.20 a target · 2nd+8.7+0.20 a target · 26th
After the catch+32.0+0.84 a target · 100th+20.3+0.46 a target · 84th
Incompletionstargets not caught−9.0−0.24 a target · 76th−8.4−0.19 a target · 86th
Interceptionswhen targeted0.00.00 a target · 82nd−4.8−0.11 a target · 40th
Two-point triesnot in the rates–−0.9
Total+15.338 targets+14.844 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

Khalil Shakir

Loading…

Ryan Flournoy

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 · K.Shakir and R.FlournoySolid 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 8
Khalil ShakirRyan Flournoy

Targetslast 3 games

38
12345678
Khalil 5Ryan 5.7

Rec yardslast 3 games

1766
12345678
Khalil 59.3Ryan 49.3

EPA / targetlast 3 games

-0.20+0.78
12345678
Khalil +0.92Ryan +0.68

aDOTlast 3 games

7.514.3
12345678
Khalil 3.8Ryan 8.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 66+ · dud under 17
K.Shakir
50Wk 138Wk 26Wk 382Wk 480Wk 534Wk 67Wk 764Wk 8
51 ± 25
R.Flournoy
22Wk 123Wk 222Wk 337Wk 490Wk 540Wk 670Wk 738Wk 8
43 ± 23

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

Fantasy · points, rank and range, week by week
StandardK.ShakirR.Flournoy
Points a game5.6WR545.8WR48
Season39.4WR4746.5WR33
Most weeks4.0–7.72.2–9.6
Booms · busts0 · 212+ · under 50 · 412+ · under 5
Half PPRK.ShakirR.Flournoy
Points a game7.6WR507.7WR48
Season52.9WR4561.5WR31
Most weeks5.6–9.73.8–11.2
Booms · busts0 · 216+ · under 6.50 · 416+ · under 6.5
PPRK.ShakirR.Flournoy
Points a game9.5WR499.6WR46
Season66.4WR4576.5WR33
Most weeks7.2–12.85.4–12.7
Booms · busts0 · 220+ · under 80 · 420+ · 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.ShakirR.Flournoy
Wk 15022
Wk 23823
Wk 3622
Wk 48237
Wk 58090
Wk 63440
Wk 7·70
Wk 86438
Season354342

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.ShakirR.Flournoy
Targets3844
Receptions2730
Yards354342
Touchdowns12
Target share19%41st15%61st
Depth of target5.596th7.190th
After the catch9.42nd4.832nd
Catch rate71%16th68%38th
EPA per target+0.4033rd+0.3441st
First downs37%55th39%45th
Drop rate8%79th7%74th
Yards per game50.635th42.848th
Careers · receiving yards a game, season by seasonRegular season
Khalil ShakirRyan Flournoy
2550
20222023202420252026*
PlayerGRecYdsTDYds/gBest seasonThis season
Khalil Shakir2022 to 2026 · 5 seasons642242,6661241.72024: 82154.7 a game50.6above his career rate
Ryan Flournoy2024 to 2026 · 3 seasons3280919628.72025: 47531.7 a game42.8above his career rate

Regular season only, from each player's career file. * 2026 is through Week 8; 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.