About

That game was pretty crazy last night...but how crazy was it? Game of the week? Game of the year? The decade?

This site seeks to answer these important questions by quantifying excitement for every NFL, MLB, and NBA game since the turn of the century1. The various excitement scores can be used to help "objectively" settle a debate about what the most exciting Super Bowl was, or to find the craziest MLB game this season.

Use filters to find your favorite NBA team's most exciting game this year. Search for the most iconic NFL plays from the past decade. Explore our charts to see which MLB season had the most thrilling games (or the most boring, if that's your thing).

For additional information on how these scores are calculated, see the Methodology section below.

Methodology

What is THRILLA?

THRILLA stands for Total Hair-Raising Index (Log Loss Adjusted), and is our primary metric for quanitfying excitement. It is calculated as follows:

THRILLA = GEI x Comeback Factor

Ok...so what are GEI and Comeback Factor?


Game Excitement Index (GEI)

Popularized by football analyst Brian Burke and applied the same way here to every sport this site tracks, GEI sums the absolute change in win probability caused by every single play in a game. Games with frequent, large swings in who is likely to win accumulate a higher GEI than games that were comfortable or one-sided throughout.


Comeback Factor

Don't be scared of the math on the next line, I promise it is not complicated.

Comeback Factor = -log₂(p)

where p is the winning team's lowest win probability at any point during the game. To put it simply, the more unlikely it was for the winning team to have won, the higher the comeback factor will be. Here is a table to help simplify:

Winning Team's Lowest Win ProbabilityComeback Factor
50.0%1.0
25.0%2.0
12.5%3.0
6.3%4.0
3.1%5.0
0.1%10.0

Using log₂ gives a clean rule of thumb: every time the winning team's win probability is cut in half, the comeback factor goes up by exactly 1.0. A team that was a coin-flip the whole way (p=50%) gets a comeback factor of 1.0. A team that fell all the way to a 0.1% chance of winning, and pulled of the miraculous victory gets a comeback factor of 10.0!


Audience Score

Our excitement metrics thus far measure changes in win probability. But sometimes, a game can still be exciting to watch for a variety of other reasons.

Audience Score is a simpler, more subjective, alternative. It consists of hand-tuned point total built from the things a casual viewer might consider to be exciting. This of course varies by sport, and you can toggle the table below to see my subjective point scoring system for each.

CriteriaPoints
Touchdown+1 pt each
Turnover (interception, lost fumble, or turnover on downs).+0.75 pts each
Safety+0.75 pts each
Explosive play (a 20+ yard gain)+0.5 pts each
Defensive Sack+0.1 pts each
Every lead change (including ties) in the final 2 minutes of regulation or in overtime+3 pts each
One-possession final margin (<= 8pts)+2 pts
Two-possession final margin (<= 16pts)+1 pts

Standardizing The Scores

These raw excitement scores aren't very intuitive on their own... a THRILLA of "27.2" or an Audience Score of 33.1 doesn't mean much without context. So, we've decided to percentile rank each game instead from 0 to 100.

100 = MUST see TV

0 = Complete and utter snooze fest

This percentile is global within that sport, always relative to that sport's entire tracked history, not just the season you are currently viewing (and not compared across sports).

Data Sources

Every play in every game tracked here has a win probability attached to it. For NFL, that comes from nflverse public play-by-play data and informed by the pregame Vegas point spread (a heavy underdog starts the game with a lower win probability than a flat 50/50 assumption would give them so a big comeback by an underdog counts for more).

For MLB, it comes directly from the MLB Stats API win-probability model, computed play-by-play for every game.

NBA is different: we were not aware of a public NBA win-probability feed to draw on... (to my knowledge, the league's own stats API used to expose one, but it's been dead for a while), so this site trains its own small model instead. It is fit on several seasons of play-by-play using score margin, time remaining, and a pregame team- strength estimate computed via an Elo rating system, updated after every game, (in the style of FiveThirtyEight's NBA ratings).