Skip to main content
Tory Horton headshot
Position: Wide receiverP Tier

Tory Horton

WR · SEA · Bye 11

Age 236'2"196 lbs1 yr
FFT9956

Elite Profile

Calibrated public rating

RAW 54 · 90% cov

Projection

3.9

Half-PPR / game

Market ADP

256.0

Consensus overall

FFT fair value

242.7

Calibrated pick

Draft delta

+13.3

Market minus FFT

Draft recommendation

Target ahead of market

Risk / reliability

Medium Risk

57
Risk: Medium

Reliability

57 / 99

Coverage

80%

Live board

Today's Read

NO MARKET DATA

Scored 5 TDs on 4 red-zone opportunities — opportunity implies only about 1.23. Touchdown rates that far above expectation rarely repeat, and the market is paying for them.

Model rank

Market

Confidence

low

Full analysis

2026 week 2

Weekly Outlook

FFT · BDL · SLEEPER · MARKETS

Our projection

2.3

Weighted weekly consensus

BDL projection

1.7

BALLDONTLIE weekly

Sleeper projection

1.8

Sleeper weekly

Game status

Not reported

No injury description reported

Latest practice

full

Game-day active

Active

Started

Pending

Participation

Pending

Game market

Total · Spread

Implied team total · cross-book median

Live draft market

ADP 170.0 · Rostered 0.6%

BDL change 0.0%

BALLDONTLIE data checked 9/20/2026, 5:46:14 PM ET. Sportsbook values are consensus context, not betting advice.

Measured 2026 · Regular season

Season Production

Loading 2026 results…

Actual BALLDONTLIE box scores · FFT-computed fantasy points · Preseason excluded. Missing stats are not zeroes.

2026 / Player Game Center

Every play has a story.

Tory Horton · Recorded performance, game context, fantasy takeaways.

Loading game data…

Measured game log

Weekly Performance

Actual BALLDONTLIE box scores · FFT-computed fantasy points. Missing weeks are never filled with zeroes.

No 2026 regular-season stat line recorded for Tory Horton yet.

This view will populate automatically when measured games enter the data spine.

FFT Newsroom

Latest news for Tory Horton

All reports

Position-relative

FFT99 Pillar Scores

Methodology

Opportunity

70

Strong

70

Top 18% at WR

Talent

39

Watch

39

Top 66% at WR

Offensive Environment

60

Average

60

Top 41% at WR

QB Play

60

Average

60

Top 30% at WR

Fantasy Playoff Schedule

33

Watch

33

Top 78% at WR

Player Profile

Opportunity70
Talent39
Offensive Environment60
QB Play60
Fantasy Playoff Schedule33

Games

8

Half-PPR

52.1

Total TD

5

Model Component Contributions

The measured inputs doing the most work inside this grade.

Target Share
12%
YPRR (Efficiency)
10%
Targets Per Game
8%
Vegas
8%
TPRR
7%
Play Caller
7%
Age Prod
6%
Efficiency
5%

Draft Economics

Value Over Replacement

-69.0

proj. half-PPR pts

Rank Delta

-33

position spots vs ADP

Value Grade

D

Reach

reachfair valuesteal

Market

256.0

FFT value

242.7

Board Δ

+13.3

Playoff Schedule

Week 15

@ PHI

Rank 26th

Tough

Week 16

vs LAR

Rank 13th

Great

Week 17

@ CAR

Rank 27th

Tough

FFT99 vs ADP

Every dot is a real position peer with a market price.

Tory HortonCONSENSUS ADP →FFT99 →

Deep research dossier

Evidence, history and model transparency

The decision dashboard ends above. Open only the research sections you need below—the full evidence remains available without overwhelming the player overview.

The call record

Claims written down before the season, sealed at registration, and graded in public — misses kept.

No pre-registered call was made on Tory Horton. The record holds 29 calls in total, selected from the board by signal strength and divergence — most players do not clear that bar, and silence here means we did not stake a claim on him, not that he graded badly.

2025 production

What he actually did last season. Measured, not projected.

Games

8

PPR pts

65.1

Half-PPR pts

52.1

PPR / game

8.1

Receiving

Targets

22

Receptions

13

Rec yards

161

Rec TDs

5

Target share

4.8%

Air yards share

9.0%

WOPR

0.14

Rushing

Carries

0

Rush yards

0

Rush TDs

0

Yards / carry

Passing

Pass yards

0

Pass TDs

0

Interceptions

0

nflverse season totals for 2025, joined on normalised name and position (gsis 00-0040648). These are actuals — nothing here is modelled.

What the market says

Every ADP source we hold, side by side, and where our model sits against them.

Consensus ADP

256.0

Median

256.0

Sources ranking him

1/4

Agreement

SourceRank / ADP
Yahoo ADPunranked
Sleeper ADP256.0
RTSports ADPunranked
Fantasy Football Calculator ADP (live)unranked

Mean and median are computed across the sources that actually ranked him — an unranked source never enters the average, because a sentinel treated as a pick number would drag a real player hundreds of slots. Spread, deviation and agreement are null under two ranked sources rather than 0, since one source cannot agree with itself. The FFT model rank is our own output and is never folded in as if it were an outside source.

Week-to-week, 2025

Consistency and range — the part a season total hides.

Weeks with a line

7

PPR / game

9.3

Std dev

8.1

Coeff. of variation

0.87

Boom rate

14% (1/7)

Bust rate

43% (3/7)

Best week

20.8 wk 9

Worst week

0.0 wk 6

Recent form — last 4 games with a line

8.4 PPR per game over weeks 5, 6, 7, 9-0.9 against his season average.

Every week (7 lines)
WkOppPPRTgtRecYdsCarRuYdTDRZ
2PIT11.242320010
3NO18.243320011
4ARI2.021100000
5TB12.943390011
6JAX0.01000000
7HOU0.03000001
9WAS20.844480021

The weekly LINES are measured: 2025 game logs, joined on gsis id 00-0040648. Everything derived from them above — per-game, standard deviation, coefficient of variation, boom and bust rates, recent form — is computed by us and carries the FFT model (beta) label. It is not an observed stat.

This whole block is on the PPR scale, including the thresholds — the artifact publishes boom and bust in PPR (WR: boom ≥ 20, bust ≤ 8) and converting only the points would leave the rates measured against a different ruler than the one they were defined on. The hero above is half-PPR because that is what the model ranks on. Two rulers, each labelled, rather than one silently mixed. Rates need at least 4 games to carry weight; recent form is the last 4.

Advanced usage & efficiency

Route concepts, red-zone opportunity, and separation-adjusted catch rate.

Red-zone opportunity

Scoring upside

RZ targets

4

RZ carries

RZ TDs

2

aDOT

Concept EPA / target

0.466

Classified targets

22

Catch residual

YAC over expected

Most-run concept: QUICK_OUT on 40.9% of his classified targets.

Every field is derived by FFT from openly-licensed nflverse play-by-play, or taken from the free public NFL Next Gen Stats endpoint. No licensed trial data (Sportradar, BALLDONTLIE) is included, which is why this file can be committed and shipped with the build. Red zone: Plays snapped inside the opponent 20-yard line. Red-zone usage measures opportunity; this repo’s own backtest shows it adds little on top of plain volume, so it is retained as context and is deliberately not described as an edge.

How the model gets there

The component projection behind the headline number, and what it was built from.

Projected games

13.3

Half-PPR (season)

51.3

PPR (season)

62.1

Confidence

medium

Proj targets

35.2

Proj receptions

21.6

Proj rec yards

276

Proj rec TDs

2.0

Proj carries

1.3

Proj rush yards

7

Proj rush TDs

0.1

Proj pass yards

0

Proj pass TDs

0.0

Proj INTs

0.0

Touchdown regression

He actually scored 5 touchdowns last season. Against his measured opportunity the model expects a change of -3.0. The gap between what a player scored and what his opportunity implies is one of the four signals the edge engine reads.

What this projection was built from

8 g in 2025, 2.8 tgt/g, 48% snaps (regressed to the role, not the position), SWR4 on depth chart, age 24, -2.9 TD vs 2025 on red-zone opportunity

fft-projection-2.3.0-beta. The model reads measured production, opportunity and age, and reads no ADP field at any stage — so it can disagree with the market, which is the only reason a disagreement is worth anything. Draft capital was not resolved for this player, which the model treats as unknown rather than as undrafted.

What this page is standing on

Which sources answered for this player, and which did not.

  • Identity join: Resolved to gsis 00-0040648 via the 2025 nflverse season file. The weekly log and advanced splits are keyed on that id.
  • Market ADP: A bundled snapshot of platform ADP, not a live feed. Shown for comparison and never read by the projection model.
  • Headshot: Resolved from exact-name.
  • Vitals: Height, weight, college and jersey are read from nflverse and keyed on gsis id 00-0040648 — not on name. Name keying matches players to relatives who share one: "Marvin Harrison Jr." also matches his father's 1996 row, and whichever came first in the file would win.
  • Not shown: draft round and pick. The bundled player file carries them on roughly 48% of rows and populates them late, so a blank is equally consistent with a genuine undrafted free agent and with a first-rounder nobody has ingested yet. The model’s own three-state read is used instead, above.

Model run caveats

  • No usable red-zone RECEIVING fit for QB — receiving touchdowns at that position come from the shrunk per-target rate alone.
  • Rookie draft capital on this run: 82 drafted (projected from round/pick), 141 confirmed undrafted, 177 with capital UNKNOWN.
  • 177 of 400 rookie projections (44%) have NO KNOWN DRAFT CAPITAL because this draft class has not been ingested by any source the model can read. For those players the draft-capital path did not run: a first-round pick and a camp arm receive the same number, separated only by depth-chart order. Those projections are flagged `isPositionalFloor` and must be read as a floor for the role, not as a valuation of the player.

How the model works

Inputs, method, and the forbidden-inputs list. It reads no ADP at any stage.

Where it loses

Pre-registered calls, graded in public, misses kept on the page.

Model Rankings

Every player, with the model's BUY / FADE call against consensus ADP built into the board.