The NFL Heart Rate Index

Measuring the best games with play-by-play win probability analysis

Rob Moore

Rob Moore

Each NFL game has a heartbeat. A high-level analytical fingerprint of the game that can be leveraged for studying performance, matchups, and competitiveness. A game's heartbeat is the play-by-play win probability calculated throughout the game. It starts at a certain mark, based on the Vegas betting line, and then moves up and down over the next 60+ minutes of game time.

Heartbeat signature
Two very different heartbeat signatures.

Perhaps the most natural corollary of heartbeat signatures is using them to measure how "competitive" or "exciting" a game was. And certainly, we do just that with the Heart Rate Index, which combines heartbeat signatures with game context and additional play-by-play analysis to generate excitement ratings for every game.

Building the Heart Rate Index

The intention of the Heart Rate Index is to measure the excitement of each game. Our Heart Rate Index is derived in large part, but not in full, from the game's heartbeat signature (it's win probability chart).

Before we even get into it, we think its important to note that "excitement" inherently subjective. Some people prefer big comebacks (which are often very memorable but preceded by 45 minutes of a pretty dull game), some people prefer defensive gridlocks, and some people prefer a good back and forth throughout the game where no side ever has a big edge.

The Naïve Model

While excitement is largely subjective, most of will agree that we enjoy games with more ups and downs. Now "ups and downs" come in many flavors, but most can be spotted by measuring the movement of the win probability over the duration of the game. We create our naïve model by simply measuring the total movement of the game's win probability chart. Mathematically, it looks something like this:

Heartbeat Movement=t  # of playsP(t)P(t1)\text{Heartbeat Movement} = \sum_{t\ \in \ \texttt{\#} \text{\ of plays}} \mid P(t) - P(t-1) \mid

In words, for any given play, tt, in a game, there is an associated win probability calculated after that play, denoted P(t)P(t). To score the impact of that play on the win probability, we simply look at the (absolute value) of the change compared to the expected win probability before that play happened - P(t)P(t1)\mid P(t) - P(t-1) \mid. We take this value for every play in the game, t  # of playst\ \in \ \texttt{\#} \text{\ of plays}, and sum them up.

This simple summing has some very nice features that align with what we intuitively think makes an exciting game. Here, we'll overview some properties of games that make a game entertaining, and also increase its heartbeat movement.

Back and forth games are more exciting

Expected win probability is more volatile the closer it is to a 50/50 game - a touchdown makes a bigger impact in a 14 - 10 game than an 44 - 6 game. When the odds are close to even, every possession matters, so the win probability moves more with every play (and the sum above increases quickly throughout the game). These are the games where you don't want to leave your seat because of the tension on every snap.

Late Swings Have More Impact

Late scores in close games make for memorable endings. They also swing the win-probability needle ardently from side to side. Generally, as the game approaches its end, the expected win probability becomes more volatile - a score with 2:00 left in the 4th quarter matters more than a score 2:00 into the 1st. Combine this with the increased volatility of a close game, and we're in for a good one.

Scoring Efficiency is Rewarded

Simply put, for a given possession, a score will almost always have more impact on win probability than a non-score. And while great defense is fun to watch, more often than not the most riveting games have scores being put up left and right.


More football more better. An extra period means that the win probability needle has more time to swing around and increase the total heartbeat movement of that game.


For the above reasons, this simple summing, the heartbeat movement, provides a great starting point for the Heart Rate Index. But (like all single number metrics), it has some shortcomings.

Game Context

The naïve heartbeat movement does not take into account any context around a game - including the teams that are playing and the stage they are playing on. It doesn't matter if the game is played by two teams that are 2 - 11 or if it's the conference championship game. Now, this can be interesting since our index controls for surrounding context, but it also means that games that we remember first when we think "exciting game" will probably show up lower on the list.

Win Probability is Not Perfect

While we're developing a win probability model of our own, we've used the one generously provided by Sebastian Carl and Ben Baldwin at nflfastR. For those interested, their win probability model was trained using xgboost to create decision trees. Notably, the features it uses are: seconds remaining in half, seconds remaining in game, yard line, score differential, ratio of point differential, down, yards to go, timeouts remaining for each team, possession, and the Vegas line. You can read more about it here.

While this model was trained on more than 20 years worth of data, there are still rare scenarios that come about which the model struggles to deal with, and can provide inaccurate predictions.

Improving the Model

"Excitement" as a metric is inherently subjective. With that being said, we wanted to create a metric that produced an ordered ranking of games that most people will more or less agree with.

When using the naïve model, the most obvious of the shortcomings was the lack of game context. For instance, the 2021 Vikings @ Lions game scores towards the very top of the list. And while it was definitely an exciting game, especially if you're a Lions fan, it was a game between a 5 - 6 Vikings team and an 0 - 10 - 1 Lions team. So we pulled more data to add context around each game, notably each team's ELO rating, each team's QB rating coming into the game, and the implications of that game on the team's season.

Adding this additional context greatly helped to pull some of the most memorable games in recent history to the top of the list. The model was further adjusted by analyzing offensive efficiency throughout the game and adding a bit more weight to excellent offensive performances.

The Results

Our objectively subjective Heart Rate Index ranks these as the most exciting playoff games since 2016.

1. Chiefs defeat Bills 42 - 36 OT

2021 AFC Divisional Round

*Highest rated game of the past 20 years

2. Patriots defeat Chiefs 37 - 31 OT

2018 AFC Championship

3. Eagles defeat Patriots 41 - 33

2017 Superbowl

4. Patriots defeat Falcons 34 - 28 OT

2016 Superbowl

5. Packers defeat Cowboys 34 - 31

2016 NFC Divisional Round

6. Vikings defeat Saints 29 - 24

2017 NFC Divisional Round

7. Chiefs defeat 49ers 31 - 20

2019 Superbowl

8. Eagles defeat Bears 16 - 15

2018 NFC Wild Card

9. Bengals defeat Titans 19 - 16

2021 AFC Divisional Round

10. Bucs defeat Packers 31 - 26

2020 NFC Championship

🏅 Honorable playoff mentions since 2016:

  • Buccaneers 30 - 20 Saints in 2020 NFC Divisional
  • Eagles 15 - 10 Falcons in 2017 NFC Divisional
  • Patriots 24 - 20 Jaguars in 2017 AFC Championship
  • Vikings 26 - 20 Saints in 2019 NFC Wild Card
  • Rams 26 - 23 Saints in 2020 NFC Championship
  • Bengals 27 - 24 Chiefs in 2021 AFC Championship
  • Rams 20 - 17 49ers in 2021 NFC Championship
  • Texans 22 - 19 Bills in 2019 AFC Wild Card
  • Steelers 18 - 16 Chiefs in 2016 AFC Divisional
And below are the top-rated regular season games rated since 2016:

1. Rams defeat Chiefs 54 - 51

2018 Regular Season

*Highest rated regular season game of the past 20 years

2. Cardinals defeat Bills 32 - 30

2020 Regular Season

3. 49ers defeat Saints 48 - 46

2019 Regular Season

4. Seahawks defeat Texans 41 - 38

2017 Regular Season

5. Patriots defeat Steelers 27 - 24

2017 Regular Season

6. Seahawks defeat Patriots 31 - 24

2016 Regular Season

7. Saints defeat Steelers 31 - 28

2018 Regular Season

8. Chiefs defeat Lions 34 - 30

2019 Regular Season

9. Chiefs defeat Chargers 34 - 28

2021 Regular Season

10. Chiefs defeat Raiders 35 - 31

2020 Regular Season

And for the curious, the least exciting game of the past 5 years as rated by the Heart Rate Index was the 2019 regular season matchup between a struggling Eagles team and a hopeless Jets team. The Eagles won 31 - 6, and I enjoyed every bit of it.

1354. Eagles defeat Jets 31 - 6

2019 Regular Season

We're just getting started.

Subscribe for more thoughtful, data-driven explorations.