NFL Player Props: Hit Rates, Matchups and Edge
Every Underdog line, with the four things worth checking before you take one. BE% is break-even: how often a pick has to win before it stops losing money, straight from the price. Hit% is how often this player has actually cleared this number, weighted so that games where he had a different role count for less. SIM% rebuilds the game from his individual plays and runs it many thousands of times, which is a second opinion that does not look at the price at all. Matchup is what this defense has allowed this position in this stat compared with what should have been expected, so 1.20 means 20% more.
✚ is a player on the injury report himself. ▲ means somebody ahead of him is out, so his role this week is read from the games that man missed rather than from his season average. ⚠ means do not trust the edge on that row. Every number here is built from games already played, so when a starter is ruled out the market reprices his backup straight away and this does not, because the backup has no history at the bigger job. The model then compares a backup's workload against a starter's line and reports a huge edge on the under. Those are the biggest edges on the board and they are worthless. Rows where the model and the market disagree sharply about how much work a player gets are marked, kept out of the edge filters, and their edge figures are greyed instead of green. Hover the ⚠ for what the disagreement is.
How to read this
Break-even comes straight from the price Underdog publishes on each side. A pick at −150 has to win 60% of the time just to stand still. Both sides of a line add up to slightly more than 100%, and that gap is the house edge: it is the thing you have to beat, not a rounding error.
Why the hit rate is not a simple count
"Under in 3 of 4" is easy to produce and easy to be fooled by. A rookie has only a handful of games, so the same short sample appears in all three windows and reads like a settled record. A player who just took over a starting job has a long history of a backup's workload being compared with a line priced for a starter, which is worse, because it looks like deep evidence. So each past game is weighted by how close that week's snap share was to the player's role right now, and the result is pulled toward the market price according to how much comparable evidence there actually is. The raw count is still shown, because it is what you expect to see, but the weighted figure is the one to lean on.
What the matchup number means
Not yards allowed. A defense that happened to face three elite receiving backs will look generous on a raw total, and that tells you nothing about the defense. Here the comparison is against what each player normally does in his other games, adjusted for the defenses he faced in those, so facing good players raises the bar instead of flattering the defense. Hover any multiplier to see the week by week breakdown behind it.
What the simulation adds over the hit rate
A hit rate counts whole games, and that costs you three things. It cannot tell neighbouring lines apart, because a player with twenty games has at most twenty-one possible hit rates and receptions at 4.5 and at 5.5 can come back identical. It throws away almost all the evidence, because the same player has perhaps two hundred individual plays and only twenty game totals. And it cannot recombine: a receiver whose targets have doubled while his yards per catch held steady has no usable record against today's number even though both of his inputs are measured perfectly well.
So the simulation fits volume and per-play efficiency separately, from his own plays, weighted by how close each game's role was to his role now, and then plays the game out many thousands of times. It is the only honest way to price a longest reception, where the whole question is whether he ever breaks one and game totals simply cannot say.
It is deliberately not pulled toward the market price the way the hit rate is, so it is free to disagree. That is the point of showing both: when a count of what happened and a rebuild from first principles land in the same place, that is worth more than either alone, which is what the "history and sim agree" filter is for. When they diverge by a lot, it usually means his volume or his efficiency has moved recently, and the tooltip on the SIM% cell says so.
Is the simulation any good?
It is checked the only way a probability can be, by running it forward through seasons it was not fitted on and comparing what it claimed against what happened. Each player is fitted on his games before a given week, that week is predicted, and the calls are then grouped by how confident they were. Across 143,000 of those predictions the picks it called at 74.7% came in at 74.7%, the ones at 84.3% came in at 84.5%, and no confidence band is off by more than a point. That check runs every week and fails loudly if it drifts, which is how an earlier version of this model was caught claiming 84% on things that happened 80% of the time.
It is strongest exactly where a hit rate cannot go. Measured against simply guessing the base rate, it adds 40% on longest rush, 38% on longest completion and 36% on longest reception, and around 20 to 25% on receptions, targets, receiving yards and rushing yards. Quarterback volume markets, passing attempts and completions, add almost nothing, because how often a quarterback throws is decided by the score and this model has no score in it. Treat those two columns as background and lean on the rest.
The one thing that will cost you money
A player stepping into a bigger role because somebody ahead of him is hurt. Nothing on this page knows about that until it has already happened on the field. Role weighting asks whether a past game was the same job he has now, and it answers that well, but it cannot know about a job that changes this week.
Here is what that looks like. A back whose starter got hurt late last week shows a role of 55% of snaps, because that figure averages his two games as a backup with the one game he finished as the starter. His rush attempts line is 14.5, which is the market telling you it expects a starter's workload. This model projects 9.6, because it is averaging in the weeks he was the backup. The under then shows a 26 point edge, and it is nonsense. The market is not wrong; the model's idea of his job is out of date.
So any row where the two disagree sharply about workload carries a ⚠ and is kept out of the edge filters. Treat the warning as an instruction to go read the injury news, not as a number to bet. Over the current slate that is a few dozen rows, and they would otherwise be sitting at the very top of an edge-sorted table.
What this does not do yet
Nothing here is a pick. Kicking and defensive markets, field goals, tackles and sacks, are not in the stats pipeline at all and carry blank history. Fumbles lost and the touchdown scorer markets have hit rates but no simulation: fumbles are not attributed per play in what is extracted, and first scorer depends on the order of scoring across a whole game rather than on any one player's distribution.