Hoop DossierBeta tools off

Where our numbers come from

Our projections are a work in progress. Here is exactly how they are made, what they leave out, and how we are testing whether they are any good. They stay hidden until you switch on Beta tools, and every one is marked Experimental with its live record.

What a projection is

A projection is the average of 10,000 simulated games, not a call on one night. A player projected for 24.6 pts will often score 18 pts or 31 pts; we show the range too. A chance like "56% to go over" means that in nights like this one, we think he goes over a bit more than half the time.

Player stats, step by step

  1. His own rate. Points, rebounds and assists per minute from his recent games, with recent games counting more and thin samples pulled toward the league average.
  2. Minutes. Our minutes model: his role, the rotation, who is injured or questionable, and news about restrictions. If he might not play, we say so.
  3. Opponent. How much this opponent allows to his position this season.
  4. Teammates out. When scorers are out, the others' shares rise; we measured how much from past games.
  5. Blowouts. If the spread is big, starters may sit late.

On each game page (with Beta tools on), tap a projection to see every one of these steps in points, rebounds or assists.

The screener is evidence, not an input

The Screener shows how a player's numbers moved in situations before (a teammate out, a back-to-back, a fast opponent). We show those next to projections as context, but the projection does not use those splits directly: splits from a handful of games are mostly noise, and a model that chased them would look clever and lose. Where a situation really matters (a teammate out, the opponent), the model handles it through the steps above. If we ever start using a situation directly, it will be because it held up against the market over seasons, and the breakdown will say "used".

Game scores

Team strength ratings (an Elo rating adjusted for who is available tonight) give an expected margin; a simulation at both teams' pace gives the score and the total. The reason line under each game lean shows those inputs.

Why we lean toward the market

Sportsbook prices are very good. A new model that disagrees with them is usually wrong, so we do not publish our raw model. We publish our model moved toward the market by how much it has earned trust in that kind of bet so far, and big disagreements count less. Early on, that means our numbers sit close to the market. As the Lab's record grows, the trust is updated by a fixed rule, up or down.

What it does not know

Late scratches after our last update, a coach's plan, a player's mood, a new role after only a couple of games, anything not in box scores, injury reports and the news we collect. Early in the season much rests on last season. When an input is thin, the breakdown says so in a "Not known" line.

What Experimental means

Every model number is Experimental until it passes a test written down in advance: at least 250 settled simulated bets over 60 game days, beating the closing line, and a profit. Promotion is switched off entirely until that test itself has been checked. Nothing here is betting advice.

Inside the Lab: how we test it, and the live record →