NFL EDGES

Live game edges — model vs. Kalshi, ranked

Gridiron Edge · 5-min refresh

COMBO EDGE

Correlation-aware Kalshi combos — free

SILVER EDGE

Options vs. Kalshi on weekly silver brackets

NFL 2026

Power rankings, futures & win totals — all 32 teams

We Killed Our Own Top Play: The Davante Adams Receptions Prop

Our free prop widget headlined Davante Adams under 4 receptions at a +17.9pp edge for Giants–Rams. We took it apart. The edge was one bad parameter — a 52.6% catch rate the receiver has never posted — and once it is corrected there is no position on either side.

A prop card for Davante Adams no 4+ receptions showing a +17.9pp model edge, struck through, beside the corrected catch-rate figure that removes it
A prop card for Davante Adams no 4+ receptions showing a +17.9pp model edge, struck through, beside the corrected catch-rate figure that removes it
The 7 Oracles
The PredictionMarketsPicks Oracles
September 20, 2026

Our own prop widget spent this weekend telling anyone who embedded it that the sharpest play on the board was Davante Adams staying under 4 receptions against the Giants — model 56.4%, Kalshi 38¢, a 17.9-point edge.

Don't take it.

We pulled the row apart this afternoon. The edge is an artifact of a single parameter, and once that parameter is set to anything defensible, it disappears. Not "shrinks." Disappears — on both sides. There is no position in this market.

Here is the whole teardown, because a number we put on other people's websites deserves a public autopsy rather than a quiet deletion.

The row, as published

FieldValue
MarketDavante Adams, 4+ receptions — Giants at Rams, Monday
KalshiYES 61.5¢ (so the NO side, "under 4," was 38.5¢)
Our model43.6% to reach 4+ → 56.4% under
Stated edge17.9pp on the under
Publish stateWATCHdepth_chart_contradiction, side_contradicts_projection

That last row is the first thing worth noticing. Our board publishes in three states, and WATCH is the one that means the model disagreed with itself. Those rows are supposed to render with a label and stay out of the top call. This one carried two separate contradiction notes and became the headline card anyway. More on that at the bottom.

The edge was one number

A receptions market has exactly two inputs: how often the ball goes to the guy, and how often he catches it.

On the first input, our model and the market are not in conflict at all. It projects Adams for 6.77 targets — the most of any Ram, more than Puka Nacua's 5.85 — with an A+ matchup grade and no injury designation. It thinks he is the primary read. So does the market.

The entire 17.9-point disagreement lives in the second input:

> 3.56 receptions ÷ 6.77 targets = a 52.6% catch rate.

That is the number carrying the whole position. And it does not survive contact with anything.

Four ways to check one number

Adams' average target this season is travelling 12.2 yards in the air. That is intermediate — not a screen, not a bomb. So the question is simple: what do receivers at that depth actually catch?

BenchmarkCatch rate
League, all targets 10–15 air yards (n=120)69.0%
Comparable receivers, 10.5–14.0 aDOT, 8+ targets (median)66.7%
What our own model gives the average receiver in that band60.8%
Slate median, all receivers with 4+ projected targets62.4%
Puka Nacua — same team, same quarterback, same game77.6%
Davante Adams, as published52.6%

Every independent check lands between 60.8% and 69.0%. The model put Adams 8 to 16 points below the floor of that range.

The Nacua line is the one that should have stopped us on sight. Two receivers, one offense, one quarterback, one game script — and the model has them 25 points apart on catch rate while giving more targets to the one it says cannot catch. That is not a football read. Nothing about Giants–Rams produces that.

Where the bad number came from

Adams went 3-for-6 in Week 1. Fifty percent, on six targets.

Six targets is noise. Every projection system alive knows this and handles it the same way — pull a small sample most of the way back toward a stable baseline and let real evidence earn its way in. Our model does this, and does it well. Across this week's board, the median receiver's Week 1 catch rate got pulled 81% of the way back to the league number.

Adams got pulled 14%.

That is 14th percentile out of 50 receivers we could match. The projection barely moved off a six-target sample, and 52.6% is what you get when you let 3-for-6 stand as a season-long parameter.

He is not alone, and this is the part that made us stop and write it up instead of quietly patching the row. Malik Nabers — the other side of this same game — has the identical failure: 66.7% actual on nine targets, projected at 51.4%, pulled the wrong direction entirely. One game, two headline receivers, two broken catch rates.

To be straight about what we do and don't know: we have confirmed the symptom precisely and we have not yet confirmed the cause. We tested the two obvious structural explanations — that the model under-regresses anyone outside the depth chart, and that its air-yards penalty is too steep — and both are wrong. Depth-chart and non-depth-chart receivers both get pulled 81–93% of the way. And the model's catch-rate curve at 12.2 air yards produces 63.4% against a league reality of 63.8%, which is nearly perfect. In aggregate the model is fine. Adams and Nabers are falling through some narrower path, and finding it is a code problem, not a football problem. It is written up and queued.

What the market is actually worth

Here is the honest recalculation, and it is deliberately conservative: we did not rebuild anything. We took our own model's probability curve — fitted on its own published outputs for this exact market line, which reproduces its stated 43.6% to within a tenth of a point — and changed nothing except the catch rate.

Catch rate usedProjected receptionsFair value, 4+vs. 61.5¢ market
52.6% — as published3.5643.7%−17.8pp
60.8% — model's own band average4.1252.9%−8.6pp
66.7% — comparable receivers4.5258.6%−2.9pp
69.0% — league at his target depth4.6760.7%−0.8pp

The edge does not survive a single one of those corrections. At the most defensible inputs it is under a point.

And then the fee closes the door. Kalshi charges a per-contract taker fee at the fill — 7% × price × (1 − price) — charged when you buy, win or lose. On the 38.5¢ under, that is about 1.7¢, so the real cost of entry is roughly 40.2¢ against a fair value somewhere between 39.3¢ and 41.4¢.

That is a coin flip you pay a fee to take. No position. (Run it yourself.)

And no, the over isn't the play either

This was our first instinct when the under fell apart, and we want to be honest that the numbers killed it too.

Work the market backwards: at 61.5¢, the break-even catch rate is 69.6%. For the over to be worth taking, Adams has to catch roughly seven of every ten targets — above the 69.0% the league posts at his target depth, and far above what he has done this season.

The market at 61.5¢ is sitting almost exactly where the evidence says it should. That is the least dramatic possible finding and it is the correct one. Sometimes the market is just right, and the only edge available is knowing when you don't have one.

See the market on Kalshi

The second bug, which is ours

The modelling error above produced a bad number. A separate bug is what put that bad number on other people's websites.

Our prop widget takes the largest absolute edge on the board and renders it as "the week's sharpest prop." The board it draws from filters out rows marked FLAGGED — but not rows marked WATCH. So a row the model had already flagged twice for contradicting itself sorted straight to the top on the strength of the very edge those flags exist to distrust.

This is not a one-in-a-thousand collision. Of the 302 rows this week's board serves, 180 are WATCH — a clear majority of the pool the widget picks its headline from. They are not bigger edges on average; the PLAY rows actually run larger (16.4pp against 13.3pp). But the largest single edge on this week's board is a WATCH row, and when 60% of the candidates are unfiltered, a flagged row winning the sort is close to a coin flip every week. The bug was not waiting for a rare event. It was waiting for a Sunday.

The flags worked perfectly. The selection ignored them. A WATCH row should never be eligible to be the top call, and the fix is a filter in one place.

That is the more embarrassing of the two and the faster to fix, and it matters more, because a widget renders on sites we don't control and a retraction never reaches them.

What this is worth to you

Two things, and neither is a play.

A model that flags its own contradictions is worth more than a model with a big number. Both flags on this row were correct. Our board caught this before we did; we just weren't listening to it in the one place it mattered. If you build your own numbers, the lesson is that the guardrail is only as good as the surface that respects it.

Check what's carrying the edge before you size it. Every double-digit prop edge rests on one or two parameters. Find them and ask whether you would defend them out loud. A 52.6% catch rate for Davante Adams does not survive that question, and it took one look at his teammate to know it.

The full board is free — every model-graded prop for this slate, WATCH rows labelled as WATCH, at /nfl/props. The rows that survive this kind of scrutiny are the product. This one didn't, so we said so.

Prices move. Do your own work.

Prediction markets are not sportsbooks. Kalshi is a CFTC-regulated exchange — contracts trade between 1¢ and 99¢ as market-implied probabilities and settle on the real outcome. Everything here is analysis with a stated position attached, recorded at a stated price on a stated date. Nothing here is advice. Trade responsibly.

Frequently Asked Questions

What was the Davante Adams prop edge, and why did you kill it?

Our free prop widget headlined Davante Adams staying under 4 receptions against the Giants at a model reading of 56.4% versus a Kalshi price of 38¢ — a 17.9-point gap. The entire gap traced back to one number: the model projected him to catch 3.56 of 6.77 targets, a 52.6% catch rate. At his target depth the league catches 69%, and comparable receivers sit at 66.7%. Correct that one parameter and the model's fair value lands between 53% and 61% against a 61.5¢ market. There is no position left.

So is the over the play instead?

No. That was our first instinct too, and the arithmetic does not support it either. At the 61.5¢ market price the break-even catch rate is 69.6% — meaning Adams would need to catch roughly seven of every ten targets for the over to be worth taking. That is above the 69.0% the league posts at his target depth and well above his own rate this season. The market is close to right. The honest answer is no position, not a flipped position.

What is a catch rate and why does one parameter matter this much?

Catch rate is receptions divided by targets. A receptions market is decided by two things: how often the ball goes to a player, and how often he catches it. Our model and the market agree almost exactly on the first — it projects Adams for more targets than any other Ram. The disagreement is entirely in the second. When volume is settled, catch rate is the whole model, so an error there moves the fair price by double digits on its own.

Why did the model get the catch rate wrong?

It leaned on too small a sample. Adams went 3-for-6 in Week 1. A sane projection pulls a six-target sample most of the way back toward the league baseline — across this week's board the median receiver got pulled 81% of the way. Adams got pulled 14%, which left the projection sitting on the noise. The same thing happened to Malik Nabers on the other side of this exact game.

Should a WATCH row have been on the widget at all?

No, and that is the second half of this. Our board publishes props in three states — PLAY, WATCH and FLAGGED. WATCH means the model contradicted itself somewhere and the row renders labelled but is supposed to be excluded from the top call. This row was WATCH, carrying two separate contradiction notes, and it still became the headline card. That is a selection bug on our side, not a modelling one, and it is being fixed.

Are these prices still live?

No. Every number here is what the board and the Kalshi market read on Sept. 20, 2026, ahead of the Monday night game. Prop markets move continuously. The live board is at /nfl/props and it is free.

Read Next

Go Pro · 26% off your first year

The read is free. The position is Pro.

Pro turns the read into a position: the cross-market arb scanner, Gridiron Edge NFL against live Kalshi prices, Thee Oracle, and edge alerts in Discord the moment a gap opens.

Claim 26% off →

$111 for the first year, then $150/yr. Code applies automatically. Ends Dec 31. Monthly is $14.99/mo.

Every signal graded in public, losers left on the board. See the record →

Prediction-market edges, weekly. The only newsletter built for Kalshi & Polymarket traders.

No spam. Unsubscribe anytime.

7O

The 7 Oracles

Prediction Markets Desk

The 7 Oracles is the analyst collective behind PredictionMarketsPicks — calibrated, data-first coverage of Kalshi, Polymarket, DraftKings, and FanDuel markets.

About the Oracles
Davante Adams receptions propDavante Adams prop Giants RamsKalshi NFL receptions marketNFL prop model catch rateprop model post-mortemKalshi prop edgePuka Nacua target shareMalik Nabers receptionsNFL prop boardprediction market NFL props

Want more analysis like this?

Get The 7 Oracles' daily prediction market breakdown — free, no fluff, straight to your inbox.

Get the daily edge in your inbox →