Edgehalla

Prop LabHow prop markets are priced

Can a Projection Model Beat Closing NFL Player Prop Lines?

We pointed our fantasy projection model at three seasons of NFL prop lines. The market was more accurate on every major market. One narrow split is worth watching, and one data bug is worth remembering.

Verdict: Myth

By Edgehalla ResearchPublished 8 min read

Use the toolNFL Player PropsConsensus lines next to our projection for every player this week, with each model call graded in public.

The test: our model against the closing line

Our NFL projection model builds a full stat line for every player each week. It powers our fantasy rankings. The obvious next question: can it beat Vegas on player props?

We built a consensus line from the major U.S. books for every game from 2023 through 2025, snapshotted 60 minutes before kickoff. For every line, we simulated the player’s game 2,000 times from his projection as it stood before that week. That gave us our own probability of the over.

Then we compared it with the market’s no-vig probability. When the two disagreed by at least 5 percentage points, the model “bet” its side at the consensus price.

Across 20,755 decided calls (anytime TD excluded), the model won 51.9% and returned −2.7%. Winning 51.9% sounds close. At −110 it is not. You need 52.4% just to break even, and many of its picks, especially rushing unders, were priced worse than −110.

The market was simply more accurate

Win rate depends on luck and prices. A cleaner test is accuracy. The Brier score measures how close a probability is to what happened. Lower is better, and 0.25 is what you get by always saying 50%.

Probability accuracy: our model, the market, and a 50/50 blend

Brier score on graded consensus lines, 2023–25 (lower is better)

The market beat our model in every market shown, and even a 50/50 blend scored worse than the market alone.

Receiving yards
0.3
0.2
0.3
Receptions
0.3
0.2
0.2
Rushing yards
0.3
0.2
0.3
Rush attempts
0.3
0.2
0.2
Longest reception
0.3
0.2
0.3
Passing yards
0.3
0.2
0.3
  • Our model
  • Market
  • 50/50 blend
Lines: receiving yards 9,782; receptions 9,192; rushing yards 4,425; longest reception 3,428; passing yards 1,495; rush attempts 1,365. Longest reception and rush attempts are 2025 only.

On receiving yards, our Brier score was 0.2599 against the market’s 0.2499. On rushing yards, 0.2637 against 0.2482. A blend that moved our numbers halfway to the market still lost to the market on its own.

The only exception was anytime touchdowns, where the blend edged the market (0.1236 vs 0.1242). That market carries so much juice that a tiny accuracy gain cannot turn into profit.

Over-confidence: the model knew the direction, not the size

We sorted every line by the model’s probability and checked how often the over really hit. A well-calibrated model says 20% and sees 20%. Ours did not.

What our model said vs what happened: receiving yards

Our P(over) in 10-point bins against the observed over rate, 2023–25

When our model was confident either way, receiving-yard overs still hit close to half the time.

7% bin
7%
40%
16% bin
16%
47%
26% bin
26%
45%
36% bin
36%
47%
45% bin
45%
48%
54% bin
54%
49%
64% bin
64%
49%
74% bin
74%
49%
  • Our P(over)
  • Observed over rate
Receiving-yard consensus lines, 2023–25. Bin sizes from left: 35, 140, 555, 1,908, 3,724, 2,607, 688, 106. The market’s average P(over) was 49–50% in every bin.

Across markets, when the model said 15%, overs hit 39–47%. When it said 74%, overs hit 48–54%. The direction carried some information: observed rates rose with our probability, more steeply than the market’s in receptions and rushing. But the size of each call was several times too large.

That is the usual failure of a projection built for fantasy. It knows the average, but it underrates how often role changes, game script and injuries blow up a single game. The market prices that uncertainty better.

Do bigger disagreements win more?

If the model has real skill, its biggest disagreements with the market should win most often. Mostly, they did not.

Model calls by size of disagreement with the market, 2023–25 pooled (decided calls)
MarketEdge ≥ 5 ptsEdge ≥ 10 ptsEdge ≥ 15 ptsROI at 15 pts
Rushing yards53.3% (3,175)53.0% (2,113)53.2% (1,310)+0.5%
Receiving yards51.7% (6,218)52.1% (3,455)52.5% (1,763)−1.4%
Receptions51.4% (6,257)51.4% (3,828)52.8% (2,155)−1.6%
Passing yards52.3% (787)53.2% (316)57.1% (105)+7.1%

Passing yards at 15+ points looks exciting at 57.1%, but that is 105 calls, and 2023 went 49.1%. Small slices like this are where luck hides. Our article on why most betting systems are luck shows how often noise produces numbers like that.

We also tried a stricter model. A regularized model was given the market price plus 30 to 65 player and matchup features per market. It kept zero of them, because every feature made its out-of-sample predictions worse.

The one split worth watching: rushing unders

Rushing yards was the model’s best market: 53.3% on 3,175 calls, with ROI of −0.2%. Split by side, the picture sharpened. Model rushing unders won 55.8% on 1,900 calls (ROI +3.9%). Model rushing overs won only 49.6%.

Rushing-yard unders: our model vs betting them all

Win rate by season, consensus line at kickoff − 60 min

Our model’s rushing unders beat blind under betting in all three seasons, but the split was found after looking, so it is a hypothesis.

2023
54.6%
53.6%
2024
55.7%
54.1%
2025
56.8%
52.7%
  • Model unders
  • Every under
Model unders: calls where our over probability was 5+ points below the market’s (1,900 calls, 2023–25, ROI +3.9%). Every under: 1 − the over rate on all graded rushing-yard lines that season.

Why it could exist: our model tends to sit below the market on backs whose workload is shrinking. Casual money likes yardage overs, so those lines may run a little high. Why to be careful: we split by side after seeing the results. That makes it a hypothesis, not a finding.

The biggest gaps are fading

When the market’s over probability was 20+ points above ours, the rushing under won every season. But the margin shrank each year.

Rushing unders when the market is 20+ points above our model

Win rate by season (exploratory, in-sample)

The strongest model-disagreement angle lost about 2.5 to 3 points of win rate every season.

2023n 209
60.8%
2024n 173
57.8%
2025n 172
55.2%
Found after about 100 exploratory looks at 2023–25 data, so these are in-sample. ROI: +13.8%, +9.2%, +4.0%.

Huge gaps usually mean our model missed something, like a new lead back or a rookie quarterback. Sometimes the market is the one that is wrong. A steady decline like this is what an edge looks like when the market learns, or when luck runs out.

A data bug can fake a huge edge

Prop feeds carry only a player’s name. Our first matching shortcut looked names up across the whole league. It linked the Jaguars defender Josh Allen, priced at +4500 to score a touchdown, to the Bills’ quarterback of the same name.

The result was a fake +78% ROI on anytime touchdown bets. One bad join, one spectacular “edge.” We now match names only within the two teams playing that game, and 99.6% of yardage and volume lines match cleanly.

What this means for bettors

  • A good fantasy projection is not a betting model. Ranking players and pricing a single game are different jobs.
  • Respect the closing line. It was more accurate than our model in every market but anytime TD, even after blending.
  • Big disagreements are usually your mistake. Check for role changes and injury news before trusting them.
  • Grade yourself against prices, not win rate. 51.9% lost money.

Frequently asked questions

Can you beat the closing line on NFL player props with a projection model?

Ours could not. From 2023 to 2025, our projection model won 51.9% of 20,755 calls with an ROI of −2.7%, and its probabilities were less accurate than the market’s in every market except anytime touchdowns.

What is a Brier score in sports betting?

It is the average squared gap between a probability and the result (1 if the over hit, 0 if not). Lower is better, and always guessing 50% scores 0.25. On receiving yards, our model scored 0.2599 and the market 0.2499.

Does blending a model with the market line help?

It helped our model but not enough. A 50/50 blend of our probability and the market’s scored better than our model alone, but still worse than the market by itself in every market except anytime touchdowns.

Why are prop projection models over-confident?

Fantasy projections are built to get the average right. Single games swing much more than an average suggests because of injuries, role changes and game script. Our model said 15% when overs really hit 39–47%.

Do rushing yards unders beat the closing line?

Not proven. When our model was 5+ points below the market, rushing unders won 55.8% on 1,900 calls (ROI +3.9%) from 2023 to 2025, against 53.3% for every rushing under. The split was found after looking, so it is being tracked live before we call it anything.

More in How prop markets are priced

All Prop Lab research

Sources and method

  1. The Odds API (historical and live player prop lines)
  2. nflverse data (play-by-play, schedules, weather, injuries, combine)
  3. Brier score
  4. Wilson score interval
  5. National Council on Problem Gambling (1-800-GAMBLER)
  6. Responsible Gambling Council (Canada)

Research and analysis, not betting advice. Past results do not guarantee future returns; bet only what you can afford to lose.