Hot Hands, Cold Slumps: Demystifying NBA Streakiness

By Elliot Chin

Recently, as the Boston Celtics were on the brink of history, attempting to be the first team to come back from a 3-0 series deficit, a friend asked me if streakiness had anything to do with the Celtics’ nail-biting Eastern Conference Finals performance. This got me thinking: what does it mean for a team to be streaky? And if a team is streaky, will that influence their future play?

These questions are related to the “hot hand” debate, one of the earliest forays of mathematics into sports. Indeed, streakiness has been analyzed in many sports, but usually on a player level. Some results—such as a modern reexamination of the hot hand effect—suggest that streakiness does exist, while others indicate that momentum may actually have a negative effect on athletes. 

My friend’s comment, however, had me wondering whether streakiness exists not on a player level but on a team level. Were the Celtics an especially streaky team who were in a rut until they finally hit their stride?

Quantifying Streakiness

The first step to assessing streakiness in NBA teams is to determine an effective metric for measuring how streaky a team is. Many such metrics have been developed, but I chose to focus on two. The first is autocorrelation, a statistic used frequently for assessing stochastic processes, such as in finance. Simply put, autocorrelation is calculated by taking the correlation between a dataset and the lagged version of that same dataset. If we want to assess the streakiness of NBA teams, we would thus take the correlation between a team’s win/loss performance during games 1-81 of the season with the team’s win/loss performance during games 2-82 of the season. If these two datasets are highly correlated, it implies that the team is streaky, as a win on one night implies a higher probability of a win the next night.1

The second metric I use is called the runs test. The runs test essentially quantifies the number of “runs” that a team goes on, making it a very intuitive metric for measuring streaks. If a team wins 3, loses 4, then wins 3, it has gone on 3 runs. Comparatively, if a team alternates wins and losses over 10 games, it has gone on 10 separate runs. The existence (or lack thereof) of streaks thus has a sizable impact on this simple statistic. In the interest of creating a rescaled statistic, I use a slightly modified metric built off the runs test that I dub “runs rate.”2 A higher runs rate indicates a more streaky team.

Naturally, the best way to test these metrics would be to apply them to the NBA season that we just witnessed. Shown below are the autocorrelation as well as normalized runs rate for each NBA team for the 2022-23 season. Distributions as well as normalized win percentages are included for context. While there are multiple noticeable differences between the two streakiness metrics developed, there are some clear standouts across both graphs. The Rockets were especially streaky—perhaps inevitable with their abysmal record—while the Hawks only ever had two streaks of at least four wins or losses. Relevant to our initial question about the Eastern Conference Finals, the Celtics are fairly streaky while the Heat tend to be more consistent. Specific numerical data is included in the footnotes.3


Now that we have some concrete measures of streakiness, we can begin to analyze what factors contribute to or are impacted by a team’s streakiness. One of the most obvious places to start is with team strength. Consider the edge case where a team wins or loses every game—the team would be incredibly streaky. As such, a starting point for evaluating these metrics is looking at how they compare to team performance.

Autocorrelation has no demonstrable relationship to a team’s win percentage. Teams that win a lot, not a lot, or somewhere in the middle all can have high or low autocorrelation statistics. Indeed, the most lopsided team in terms of wins and losses—the Detroit Pistons—is also the second least streaky by autocorrelation (perhaps because they only once strung together back-to-back wins). In this graph, we also begin to see that there might be some merit behind the claim that the Celtics are a streaky team who needed to—but couldn’t—get hot. By autocorrelation, they are approximately the seventh most streaky team, owing partly to their two nine game winning streaks.

Runs rate is a different beast altogether, and is highly dependent on team performance. In the graph below we witness a U-curve shape, as teams that win or lose a lot will have many runs of consecutive wins or losses. A Detroit Pistons game has an over 60% chance of having the same result as the Pistons’ previous game—but that’s only because they are likely to lose both games!

On the other hand, teams like the Milwaukee Bucks and Boston Celtics have long runs of wins and losses—but mostly wins—because they win a lot, and thus runs are to be expected. Runs rate thus has a key drawback in that it can conflate streakiness with being an outlier in raw win/loss performance. As such, later on, we’ll explore ways to control for the impact that team strength can have on streakiness, in order to truly find which teams are more (or less) streaky than expected.

In evaluating the usefulness of autocorrelation and runs rate, one might wonder whether they hold value as predictive measures. The answer is mixed, but in their current form, likely no. To test this question, I plotted teams’ performance on streakiness metrics during the first and second half of the season.

Autocorrelation, clearly, is not self-predictive. In other words, a team having high autocorrelation and being streaky says little about whether they will continue to be streaky in the future; streakiness is not a “replicable” statistic.

The story looks—initially—different for runs rate. However, we know from previous graphs that runs rate is heavily influenced by team strength, which will persist over the course of the season. As such, it makes sense to control for this factor. When subtracting out the expected runs rate for a given team, calculated via simulation, we arrive at a similar result as with autocorrelation: little to no relationship between a team’s streakiness in the first and second half of the season. The calculation of expected runs rate is included in the footnotes.4

This perhaps brings us to an answer to my friend’s question. While it may be true that certain teams, with the benefit of hindsight, are more streaky than others, it is unlikely that a team has some internal quality (other than being good or bad, that is) of being especially streaky that consistently affects their play. The Celtics, for example, happened to be streaky in the beginning of the season, then were streaky in the second half of the season, then were streaky in the playoffs. But given the sheer quantity of teams that had a different, more contradictory relationship with streakiness, it would be an error to confidently assign streakiness to the Celtics when their playoff record may have been due to random chance


The lack of self-consistency of autocorrelation and runs rate doesn’t mean that streakiness isn’t an interesting metric to examine at all. Rather, we should consider it as a descriptive, rather than a prescriptive, statistic. Similar to fielding statistics in baseball, streakiness metrics do much better at measuring how streaky a team was than predicting future streakiness.

To this end, our runs rate over expectation metric actually provides a lot of insight in highlighting teams that may have been significantly more or less streaky than normal. Below, we have the runs rate over expectation ratings for each of the 30 NBA teams for the 2022-23 season overlaid over a histogram showing how streaky each team would be expected to be. Teams are ordered from most to least streaky.

A couple teams stand out. New York Knicks fans will be familiar with their sometimes-exciting-sometimes-infuriating penchant for streakiness: they started the season with two losses, then five wins, then three losses, then three wins, then three losses, then nine wins. It wasn’t until February when they had their first stand-alone win.

On the other end of the spectrum are the Atlanta Hawks, who I discussed earlier in this article. But surprisingly, keeping them company as one of the most consistent strength-adjusted teams is the Miami Heat. For a team that has made waves for being able to “turn it on,” with a star that can “will” his team to victory, the Heat have had a remarkably unexciting regular season. 


Streaks in basketball can be the most exhilarating and demoralizing parts of the game: the underdog getting hot or a team blowing a 3-1 lead. While fans might think there is something inevitably streaky about their team, I show here that streaks are mostly a product of luck and randomness, rather than some intrinsic property of a team.

Instead of being used predictively—for example, to forecast game 7 of the Eastern Conference Finals—they are better used descriptively to understand the shape of a team’s season. Basketball is inherently stochastic and random, but evaluating streakiness can elucidate the order and topology underlying this randomness. The Hawks and Knicks, despite a similar end-of-season record, took fans and the media upon remarkably different journeys throughout. Only by comparing these teams with how they might have been expected to perform do we see just how abnormal their seasons were.

1 For half-season autocorrelation calculated later in the article, I use the correlation between games 1-40 and 2-41, and the correlation between games 42-81 and 43-82. Autocorrelation as a metric could be improved if multiple timeframes of lagging the dataset are included (ie. one game, two games, etc.) but nonetheless a streaky team should have higher autocorrelation. Because correlation is normalized to the variance in each dataset, autocorrelation has the nice property of already being (relatively) standardized to a team’s overall performance.
2 The runs rate statistic is inspired by a dear high school teacher who taught it to me as a way of evaluating the randomness of stochastic processes. I did not know the “Wald–Wolfowitz runs test” was a thing until I began doing research for this article and sought a formalization of this method! Anyways, the runs rate is the number of games that follow a game of the same result, divided by the total number of games played minus one. It can be thought of as the chance that a random game played (excluding the first game played) had the same result as the game played before it. How does this relate to the runs test? Mathematically, in a season with X games, let’s say the runs test concludes that there are Y runs. In this case, the runs rate would equal (X-Y)/(X-1). Normalized runs rate refers to runs rate minus .5, to put it on the same scale as autocorrelation and to have a metric where 0 is average.
3 Specific numeric team results are displayed in a table here.

4  Expected runs rate was calculated as the mean of runs rate across 10,000 simulations of a permutation test for each team. A team’s record (either 41 or 82 games, depending on half or full season) was permuted randomly many times, and the runs rate was calculated for each simulation. The average runs rate across each of these runs was used as the expected runs rate. Note that this permutation test, while taking into account team strength and record, does not control for other factors that may affect streakiness such as home/away advantage. For all teams—but especially the team I root for, the Golden State Warriors—accounting for this factor would increase expected streakiness. Next steps for this project may involve a simulation test built off of ELO game predictions with home/away advantage such as 538’s model. Betting odds would not be a wise choice for a simulation test as they likely already take into account any streakiness-based considerations.

About the author


View all posts

Leave a Reply

Your email address will not be published. Required fields are marked *