WHISTLEBETS.COMOFFICIATING INTELLIGENCE · EST. 2026
WhistleBets.

How we grade

Methodology

What we measure, where the data comes from, and what we will not claim. If a number cannot carry its sample size, we do not print it.

The short version

  1. Every morning we pull the officials assigned to each game once the league posts them.
  2. Each official has a career profile built from play-by-play: how often they call fouls or penalties, when, and on whom.
  3. We combine the crew, compare it with what the two teams normally do, and write the report.
  4. Where the whistle should move a line, we say how much, with a confidence level. Where it should not, we say that too.

Data sources

All of it is public. NBA assignments and play-by-play come from the league’s own stats service, with ESPN’s public feeds as a backup. NHL data comes from the league’s public game centre feed, which lists referees and linesmen. MLB will use Retrosheet and Statcast; NFL will use nflverse. Closing lines come from public odds feeds.

The model

A hierarchical model per official. Every official starts at the league average and moves away from it only as the games pile up. Crew-level tendencies take roughly 30 to 50 games to settle, so our minimum sample for a read is 47 games; below that the official is shrunk hard toward the league prior and we say so.

We always show the expected value next to the actual. A crew that called 50 fouls in a game with 60 borderline contacts is not the same as a crew that called 50 in a clean one.

What we will not claim

Backtesting

Every read is tested against closing lines over the 2021-22 to 2025-26 seasons before it goes live. We will publish the backtest, including where the model is wrong, before we put a probability on a live game. Until then, numbers on this site are labelled as samples.

Tiers

No locks. No guarantees. A 56% read loses 44% of the time.

Corrections

When we get a number wrong, we fix it on the page and note the change underneath. Send corrections to corrections@whistlebets.com.