The guide

About The Murph

Everything on this site, explained in layers: the two-minute version, then how to read a prop, then how the model works and what it cannot see, then where the data comes from and the rules the site holds itself to. Read as far as you want.

1. The two-minute version

Eight sections. One rule everywhere: every number comes with how sure we are.

Home
This week at a glance — the slate, how many players are out, a link to the props — then the risers and fallers: who fantasy managers are adding and dropping right now, by position, and the Analyst Desk's take on the biggest movers.
Props
Every player prop the book has posted this week, with what our model says about each one and why. A Prop Lab for one prop in depth, a Research tab where you can test any betting angle against 5,000 real games, and the rest of this guide's section 2.
Matchups
The betting market's view of every game: spreads, totals, and each team's implied points. Plus how each defense grades against every position, and a team-efficiency chart built from play-by-play.
Players
Season stats for every player, sortable, in your league's scoring format. Click a row for the full profile.
Injuries
Every designation on every roster, with the Injury Desk's read on what each means for lineups, and the newswire behind it.
Depth Charts
Who is ahead of whom on every team, by position — the opportunity map. Deep-linkable, so /depth-charts#KC opens a team.
Fresh Dozen
Eggs' twelve superlative categories for the league. Open nominations. No corrections issued, ever.
About
This page.

Every tab, every feature

Where to look, page by page. Open a page to see what is inside it; skip the rest.

Where do I look for…

Who should I pick up this week?
Home › The Board — the fastest-rising players by position, 24 hours to 7 days — and The Analyst Desk for the takes.
Is my player hurt, and will he play?
Injuries › Status Board for the designation; The Injury Desk for what it means.
Who is the backup if he's out?
Depth Charts, by team and position.
Which game will be high-scoring?
Matchups › The Slate: implied team totals from the spread and total.
Which defense is soft against tight ends?
Matchups › Defense vs Position.
Is this prop line good?
Props › Games, pick the game, find the row — then Open in the Prop Lab for the whole picture.
Does this player clear a number I've been offered?
Props › Prop Lab: type the player, the market and your line.
Does "home dogs in the wind" actually work?
Props › Research: test the angle on 5,000 real games.
Season stats for a player?
Players, in your scoring format.
Home this week's strip · The Analyst Desk · The Board
  • This-week strip — three chips at the top: the slate (games, first kickoff), a link to the props, and how many skill players are out. Each links to its page.
  • The Analyst Desk — the weekly write-up on the players the add/drop feed moved hardest, each tagged BUY / HOLD / SELL / WATCH with the real add/drop count. An Archive picker opens earlier weeks.
  • The Board — risers and fallers, every position side by side. 24h / 48h / 7d sets the window; Show sets how many per column. The bar behind each row scales to the biggest mover in that column.
  • Status strip — the NFL week and when the player data was captured; turns amber if it is out of date.
Props Games · Prop Lab · Research
  • Read this first — one sentence on why there are no picks; "Why ▸" expands the reasoning.
  • Games — every game on the slate as a card (kickoff, line, implied totals). Pick one: the top box says in words what the market expects; below it, every posted prop, most confident first. A row shows the line, the model's projection, his usage trend, the call and the why. Tap a row for his history against that number; Open in the Prop Lab for the full page.
  • Prop Lab (tab) — the way in: type a name (matches appear as you type; "posted" marks players with a line this week), pick a market, optionally type your own line, go. Below: every game's posted props as pills, 🎲 Surprise me for a random one, and the week's biggest line moves.
  • Research — the Backtest Lab: choose a bet (home ATS, over, under…), a price, spread and total ranges, venue, division, wind and temperature; Run backtest gives the win rate with its interval, ROI, units, the break-even rate, the sample it would take to prove the edge, and an out-of-sample split (fit years vs held-out years). It also counts how many angles you have tried, because that decides whether a good number means anything. Below it, the Reality Check: the research the page is built on.
The Prop Lab one prop, in full
  • Top bar — the model's projection, his average over his last ten, and his usage with share of the team.
  • Market tabs — his other posted props, each with his last-ten hit rate.
  • The verdict — the call as a tag, the line (and where it opened), the projection sentence, the calibration warning when it applies, and What's different this week: teammates out, gone, back or new, each marked as something the model flags or does not. If the quarterback has changed, it says so — the model does not see that.
  • Context chips — spread, total, implied points, kickoff, the QB's status (with ESPN's note), designated teammates, line movement.
  • Game logOutcome: his games as bars against the line (green over, red under), the opponent's rank that week above each, a purple average line, a diamond for this week's projection; Full game / Q1–Q4 / halves switch the period. Hatched bars are a different role. Usage: targets or carries, share of the team, snap share, aDOT, YAC, red-zone looks, and the QB, per game.
  • Hit-rate windows — last season, this season, vs this opponent, last 5 / 10 / 20, each with its interval; tap one to chart those games. Current role / All games when part of his log is another role.
  • Right panelOpponent: what this defense allows to his position, by role, in one hue; Model: the reasons, the forward-test status, the version; Usage: the per-game table.
  • Try a different line — the same page against your number.
Matchups The Slate · Offense Rankings · Defense vs Position · Team Efficiency
  • Week picker and four tiles: best spot, toughest spot, average total, games.
  • The Slate — every game in kickoff order: spread, total, the no-vig win probabilities and the book's hold, each side's implied points, and how the opposing defense ranks against all four positions.
  • Offense Rankings — every team on the slate by implied total, best environment first.
  • Defense vs Position — what each defense allows to QBs, RBs, WRs and TEs, ranked.
  • Team Efficiency — EPA per play, offense against defense, every team plotted. Filters: EPA or success rate, all plays / pass / run, downs, quarters, week range, win-probability range, and Drop garbage time. Show the numbers opens the table.
Players the database
  • Search, a Team filter and position chips (QB / RB / WR / TE / K / DEF).
  • Scoring format — standard, half-PPR or PPR; the choice is remembered on your device.
  • A sortable table: points per game, position rank, usage, age, depth-chart slot, status. Click a row for the full profile.
Injuries The Injury Desk · Newswire · Status Board
  • The Injury Desk — every meaningful designation read for lineups: what the injury is, the expected time missed, and what it means for the players around him.
  • Newswire — the latest reports, newest first, with the player each concerns.
  • Status Board — every designation on every roster, most severe first, with search and a team filter.
Depth Charts the opportunity map
  • A Team picker; every position's order for that team, with injury designations marked. The last team you looked at is remembered.
  • Deep-linkable: /depth-charts#KC opens a team directly.
Fresh Dozen the ballot
  • Twelve categories, the nominees in each. Filed by Eggs. Crack one open.
About this guide
  • Five layers, top to bottom: what each section is for, this feature map, how to read a prop, how the model works, where the data comes from, the rules.
  • The ? in the header reopens the welcome sheet on any page.

2. How to read a prop

If you have never bet before, read this bit

A sportsbook does not offer you an even-money coin flip. The standard price is −110, which means you risk $110 to win $100. Because of that, you do not need to win half your bets to break even — you need to win 52.4%. Everything on the Props page is measured against that number, because it is the only bar that matters.

The three words you will see everywhere

The line
The number you are betting over or under — 232.5 passing yards, or a team favoured by 6.5 points. Books set it where they expect roughly half the money on each side.
The vig (or hold)
The book's cut, built into the price. On a typical game it is 4–5%. It is why a coin-flip bet is a losing bet, and why "I went 50–50 this week" means you lost money.
Hit rate
How often something has actually happened. "Cleared it 8 of 12" is a hit rate of 67%. The catch is in the next section.

Why we never show a hit rate on its own

If a player has gone over his receiving-yards line in 8 of his last 12 games, that is 67% — which looks like a big edge. But 12 games is tiny. Flip a fair coin 12 times and it will come up heads 8 times about one run in six. The honest statement is "somewhere between 39% and 86%", and that range includes the 52.4% you need. So every rate here comes with that range.

The three calls

  • Lean The weakest statement the model makes: its projection sits far enough from the line that the side is not noise. It is not a bet. There is deliberately no "strong lean": when the old model said 84% it was right about 63% of the time, so the loudest label was retired until it is earned back.
  • Lean · past its range The model leans this way but is more sure than it has earned. Above about 70% its track record stops matching its numbers, so no number is shown — treat it as "the model likes this side", not a probability. About a fifth of props land here.
  • Too close to call The projection is within noise of the line. Most props land here. That is the correct answer, and a site that told you otherwise would be selling you something.
  • No lean Withheld on purpose: his role is changing (a usage jump, a teammate out or back) and the model is measurably worse on those players — or a human override says the feeds are missing something, and says why.

What the row shows

  • Line — the number the book posted (from ESPN; check yours, a half-point matters).
  • Projected — the model's central estimate. Projected against the line is the why behind the call.
  • Usage — his recent volume (targets, carries or attempts) against his earlier baseline. Volume is what moves first when a role changes.
  • Typical error — how far the projection usually misses. A gap to the line smaller than that is noise.
  • The Prop Lab (tap a row, then "Open in the Prop Lab") — the same call, then his game log against the line, how his volume is earned, what the opponent allows, and what changed this week that the model does not see.

How to actually use it

  1. Open Props and pick the game you care about.
  2. Read the top box — it says in words what the market thinks will happen.
  3. Scroll the board. It is sorted with the model's most confident calls first.
  4. Tap any prop for his history against this number; open the Prop Lab for the full picture.
  5. Check the number against your book.

None of this is a recommendation to place a bet. It is a calculator and a history book. If you are not enjoying it, stop.

3. How the model works — and what it can't see

Plain language. The technical record lives in the repository's MODEL_STATUS.md.

The projection

A player's recent usage (targets, carries, pass attempts), weighted toward the last few games, multiplied by his efficiency (yards per target or carry), shrunk toward a positional average when his sample is small. A new season or a new team counts for less. A small opponent adjustment (a quarter of the defense's deviation from average) is applied — and it is unproven: in testing its benefit could not be told apart from zero, which is why the opponent panel is never coloured good or bad.

Calibration: turning a projection into a call

The gap between projection and line is read through the model's own past errors — a measured distribution, not an assumption — so "lean" means the same thing on 20 carries as on 250 passing yards. Counts (carries, targets, receptions) use a distribution that respects whole numbers.

Why nothing above 70% is shown as a number

Checked against real results, the model's most confident calls are its least reliable: what it calls 80% lands far closer to a coin flip. Two known reasons, both being worked on. Its biggest disagreements with a line are partly its own noise. And for high-volume players — the lead back, the WR1 — its sense of how much a yardage total can swing is too narrow. So above 70% you see a tier and a warning, never a number, until a forward test earns it back.

What "withheld" protects you from

The guardrail withholds a lean when a player's role is visibly changing: his usage jumped last game, or a same-position teammate who carried real volume is out — or back. On those players the model is measurably worse. A human override can also withhold or widen a call when the feeds miss something (a late scratch, a reported role change); every override is shown on the row with its reason, source and expiry. An override can never set a number.

What the model does not see

The quarterback. Teammates at other positions. Weather. Game script. A trade. The Prop Lab shows the QB who threw each of his games and this week's expected starter, and lists who is out, gone, back or new on his team, each marked as something the model flags or does not — so you can see the gap rather than guess at it. The market prices these things; the model does not read the line yet.

How we know any of this: the forward test

Every week, before kickoff, every projection is frozen and recorded. After the games, the record is scored. Nothing frozen after a kickoff counts — that is enforced twice, in the freeze and in the scorer. Shadow models run beside production every week, each differing from it in exactly one thing, so their records answer one question each. Model changes are pre-registered: the pass/fail criteria are committed before the test is run, and a check reads the commit history to prove it. The forward record started in week 3 of 2026; until it holds around 150 scored rows, nothing on this site claims a track record.

What has been tried and failed

A pool-and-share model for backfields (two attempts, both failed their gates, stopped by rule). A volume-dependent yardage spread (two attempts; the second fixed prop-volume coverage but broke low-volume cells, stopped by rule; it runs in shadow with a promotion rule). A blend toward the player's own median (passed on accuracy, failed on coverage). Return-from-injury widening (its pass was borrowed from a miscalibrated base). Each is recorded with its criteria and result; none was quietly tuned until it passed.

The Research tab

Sides and totals were tested too: 72 angles against 5,215 games of real closing lines since 2007. Nine beat break-even; none survived correction for how many were tried; of the eight best from 2007–2018, one was still above water afterwards. The Research tab lets you run any angle yourself, with the same out-of-sample split and the same honesty about how many things you have tried.

4. Where the data comes from, and how fresh it is

  • Game logs and play-by-play — nflverse, rebuilt weekly after the games. The quarter splits in the Prop Lab are rebuilt from plays and checked against the official box score; a game that does not add up is marked, not shown.
  • Lines and props — ESPN, captured on a schedule: hourly, and in clusters before every kickoff window. Every posted line is recorded as it moves, which is how the Prop Lab shows "opened 4.5, now 5.5".
  • Injuries and rosters — ESPN's injury feed hourly, Sleeper's player list daily (at Sleeper's request). When the two disagree the newer claim wins, and "out" wins a tie.
  • Add/drop trends — Sleeper, across public leagues.

The pages never call those services themselves. A scheduled job fetches everything and commits it, and every file carries the time it was captured. The status strip shows that time, and if anything you are looking at is more than two refreshes old, an "out of date" banner says so at the top of the page. That banner is the alarm: if the schedule ever stops, you will see it before we do.

5. The rules the site holds itself to

  • No picks. A lean is the strongest thing said, and it comes with the reason and the typical error. Nothing here is a recommendation to bet.
  • Every number comes with how sure we are. A hit rate has its range; a projection has its typical error; above 70% there is no number at all.
  • Criteria before results. A model change states its pass/fail test before the test is run. The commit history proves the order.
  • The forward test is the only track record. Frozen before kickoff, scored after, never rewritten. A projection frozen after a kickoff does not count.
  • One difference at a time. Every shadow model differs from production in exactly one thing, verified weekly.
  • Nothing hidden. Every override is shown with its reason, source and expiry. What the model cannot see is said on the page.
  • Comprehension ships with the feature. Every section has a line in the welcome sheet and a place on this page; adding one without the explanation fails the build.
  • One source of truth. The board, the Prop Lab and the forward test run the same code on the same data, cut at the same moment.

Betting should stay entertainment. If it stops being fun, call or text 1-800-GAMBLER (U.S.).