Applied machine learning

Fantasy Draft Model

A model that predicts how NFL players will score next season, trained on eight years of results and tested by asking it about seasons it had never seen.

Projections

2026 Draft Board

Swipe the table sideways for more columns · tap a heading to sort by it, tap again to reverse, once more for draft order

What each column means

History

Historical stats

The raw record the model learns from. Any season, sortable on any column. Click a row for a player's full career.

Swipe the table sideways for more columns

How it works

Methodology

The words

Nine terms this page uses

VariableOne number known about a player before the season starts: targets last year, age, where drafters are taking him.
Ridge regressionA weighted formula, fitted with a penalty for leaning too hard on any one variable, which keeps correlated inputs like targets and receptions from being handed huge offsetting weights.
Random forestHundreds of small yes/no flowcharts grown on different slices of the data, then averaged, which picks up conditional effects a formula cannot: age costs a running back more than a receiver.
OverfittingMemorising the past instead of learning from it. Looks excellent on the seasons it was built from, falls apart on a new one.
Walk-forward validationTo score 2023, rebuild the model on 2018 through 2022 only and predict 2023 cold, then repeat for each later season. It is never scored on a season it has seen.
Rank correlationHow closely the predicted order matches the real one, where 1.0 is perfect and 0 is a coin flip. A draft board is an ordering, so this matters more than any one point total.
Permutation importanceScramble one column, leave the rest alone, measure how much worse the predictions get. A big drop means that variable was doing work.
CalibrationMaking a stated probability mean what it says. If thirty players are given a 28% chance, about eight should manage it.
Monte Carlo simulationRunning the whole thing many times with the randomness left in, then looking at the spread rather than one outcome.

Step one

The data

Season totals going in, the following season coming out, so every input is something a drafter could have known.

What carries the signal

Each bar is how much accuracy is lost when that column alone is scrambled, averaged over held-out seasons.

Step two

The model

Average a linear model and a tree model. Predict rate and availability separately, then multiply.

Every candidate, the same test

Step three

How it is tested

Nothing is scored on a season it was trained on, and every tuned setting is chosen on earlier years than the ones it is reported on.

Against the obvious alternative

Ranking everyone by what they scored last season is the baseline any projection has to beat.

Predicted against actual

Every graded call. One dot is one player-season; the dashed line is a perfect prediction.

Step four

From projections to a draft order

A ranking is not a board. The order is scored by drafting with it, not by how accurate the projections are.

Model against market, at the position

Step five

Does it survive being built differently?

Rebuild the board every defensible way and report the distribution, not the best corner.

One setting at a time, the rest held fixed

Swipe the table sideways for more columns

Limits

What it gets wrong

Accountability

Who it over-rated, and who it got right

Every graded call, with the draft room's opinion beside it. Sort by any column.

Going deeper

The detail

Accuracy by season and by position

Lower miss is better, higher rank correlation is better. Quarterbacks show the largest misses because they score the most points, not because they are predicted worst.

By season

By position

Are the probabilities honest?

When to trust the board and when to trust the room
What was tried and rejected
How much better could any model get?