Sunday, January 30, 2011

Time of Possession & single-team pace

Ohio State’s narrow escape against Northwestern last night presents a great opportunity to talk about an idea that I floated on Twitter a few days ago: keeping track of time of possession (TOP) for basketball teams. That was inspired by an absolutely fantastic post by Rohan Cruyff, who used shot clock data to break down NBA teams’ pace into offensive and defensive “Speed Indexes.” His basic idea: a single number that represents the pace of a team and/or game doesn’t really describe what happens on the court. A fast-paced game can be cause by one team playing at a normal speed, but the other team shooting super early in the shot clock.

Or, as happened last night, a slow-paced game can be caused by one team running the clock down on every possession.

I went through the play-by-play for last night’s game and recorded how much time elapsed on the clock before the first action (shot, turnover, or foul that leads to free throws) of each team’s possession. Here’s what that distribution looked like for each team:


You can see that Northwestern rarely did anything with the ball before burning 15 seconds, whereas most of Ohio State’s possessions resulted in an event around the 16 to 20 second mark. [You might ask why some possessions lasted more than 35 seconds before anything happened. Some of these are due to fouls/kicking that reset the shot clock, and I’m sure some are due to minor inaccuracies in the play-by-play data. Also, Northwestern had a “7-point possession” according to some sources. I broke that down into 2 possessions – before and after the intentional foul.]

I’ve done this for a few other games, and Ohio State’s distribution is pretty close to what seems to be normal. Usually I see a few more possessions in the 6-10 and 11-15 bins, and a few less in the 16-20, but it’s not anything drastic. Northwestern however, is a different story. Their whole distribution is shifted about 10 to 15 seconds to the right.

Northwestern even held onto the ball for a long time after they got offensive rebounds. Here’s a table showing the average possession length for each team, where I count every offensive rebound as starting a new possession:


Ohio State put their offensive boards back up almost immediately, while Northwestern often kicked it back out and reset the offense.

The Wildcats did extremely well their longer possessions. Here are points per possession for both teams, broken down by when the first action of the possession occurred (this time, offensive rebounds are considered a continuation of the original possession, as they usually are):


The higher values for the first 10 seconds are expected, as transition points will pull the averages up. But the high efficiency for Northwestern on very long possessions is unusual. Normally, shots hoisted in the final few seconds of the shot clock are bad ones, forced by a defense that simply won’t let the offense have a good look.

Now, let’s combine those TOP values from the previous table, and get a pace for both offenses. Ohio State had the ball for 14:50 over 48 possessions, which means their average possession lasted 18.5 seconds. Over 40 minutes, that works out to 65 possessions per team. So Northwestern slowed them down a bit, but not all that much. On the other hand, Northwestern held the ball for 25:07 on their 48 possessions, or 31.4 seconds per possession. If both teams played at that pace, they would each get only 38 POSSESSIONS over a 40-minute game. They could average an insane 2 points per possession, and still not crack 80.

So, even pointing out that this was the second slowest major-conference game of the season fails to convey just how glacial Northwestern’s offense was. I know it’s a pipe dream, but I would love to start seeing time-of-possession numbers added to the standard basketball box score. I mean, ideally, I’d want even more than that (like the distribution of possession times that I showed above), but baby steps, right? TOP seems like a good place to start, because it’s already familiar from football, and frequently-cited even by “traditional” media.. It won’t be looked at as some “advanced” statistic dreamed up by stat heads, so it shouldn’t have as much of a barrier to acceptance.

Who’s with me?


  1. Hi David,

    Great and entertaining post.

    I think TOP would be great to add to box scores online, but it will never happen in a newspaper. Not as sections across the country cut back on editions, space, and editors.

    Anyways, first time reader, and plan on checking in regularly now. Good stuff!

  2. This comment has been removed by the author.

  3. Excellent work. I'm with you!

  4. Glad you guys agree.

    Greg, good point about the newspapers. But that's OK - pretty much all stat analysis now takes places on computers, so if, say, ESPN added it to their game tracker, that would be plenty.

  5. You inspired me to try this for a Kansas game and I got about halfway through. Great effort here, unless you have a secret that I missed somewhere that makes it easier.

  6. Here's how I did it:

    1) Cut & paste play-by-play from into Excel

    2) In a new column, every time there is a shot, turnover, or set of free throws, mark one of the following:
    "N" (Northwestern)
    "NO" (Northwestern action after offensive rebound)
    "H" (Ohio State)
    "HO" (Ohio State action after offensive rebound)

    3) Copy/paste your new column and the column with the time into a new sheet.
    4) Add new rows at the start of each half with "20:00" and "X" in the two columns.
    4) Add a column indicating which half the play was in.
    5) Sort the table by the N/NO/H/HO field, so that all the blank plays are at the bottom. Delete these.
    6) Sort by time (descending), then half (ascending) to restore the original order (minus the irrelevant plays).
    7) Make a new column with a formula that tells you the length of time it took for that action to occur:
    = [time in row above] - [time in current row]
    8) Highlight all the data, and do Insert-->PivotTable.

    9) In the PivotTable:
    -place the elapsed time field as a row
    -place the NO/N/HO/H field as a column
    -place the NO/N/HO/H field as a value (this will give you the count in each cell of how many possessions for each team last X seconds).

    10) To show percentages for each team, instead of raw counts, right click on the section of the table that shows the counts, and choose "Value Field Settings." In the pop up window, go to the "Show values as" tab. Choose "% of column" from the dropdown menu.
    11) To group the elapsed time fields together, select, for example, 12:00:00 through 12:00:05 and then choose Options-->GroupSelection on the toolbar/ribbon.
    12) Now you have the percentages, and it's just a matter of making a chart.

  7. Couple of questions

    1) When copying into Excel, how do you change the format so that it's in the correct format? For instance, when I copy and paste the time into Excel is shows just fine on the spreadsheet, however in the dialog box it shows it comepletely wrong (ie. 20:00 shows up 8:00pm). If I change the format to numbers it completely changes things. Leaving it the way it is, once I try to calculate the difference in time (step 7) it gives me errors.

    2) How did you go about doing the second table? The points per poss based on time used?

  8. Nevermind. I figured out my first question.

  9. The answer to your second question is to use the AVERAGEIF(), COUNTIF(), and SUMIF() Excel functions. I don't want to get too deep into explaining them here, but basically, I set one of the parameters of each function to "N" or "HO" or whatever, and then it averages/counts/sums only the data from lines that are marked accordingly. Google them, and you'll find tons of info, I'm sure.