drive plotting

I’ve been working on better ways to visualize college football game data for as long as I’ve been collecting it. This is the start of what I hope/expect will be a series of whiteboard posts about the development and refinement of new game and possession data visualization standards.

 

Chart titled “Drive Summary v.01”, an illustrated data table representing Miami’s 11 offensive drives against Indiana in the CFP Championship on January 19, 2026. Each row includes the drive number, starting and ending field position, plays, yards, drive result, and the game score at the conclusion of the drive, plus a graphic representation of the "drive plot".

 

First, a hat tip to my friend Chris Gallo’s great work over the last few years on new and unique ways to represent drives and possessions here, here, and here. I was also inspired this week by Neil Paine’s drive summary of New England’s offensive possessions in their Super Bowl loss to the Seahawks. I highly recommend subscribing to each of their substack newsletters.

In the Drive Summary v.01 chart above, I’m providing all of the information I collect for every offensive drive in every FBS game. Everything on my site — FEI ratings, strength of schedule and strength of record ratings, points per drive, etc — originates from this basic data set. Where did the possession start and end, how many plays were run, how did it end, and what was the score. That’s it. Rinse and repeat for hundreds of thousands of possessions since 2007.

Data tables are great tools for data analysis, but they’re pretty dry reading. How can I structure a more visually appealing version that invites at-a-glance insight into the the flow of the game? That’s what I’m attempting with this graphic. There are a couple of visual vocabulary elements here in particular that I think are relatively intuitive for casual football fans to easily interpret and understand, and I’m curious if they’re really working the way I think they should.

Where Miami started each of its offensive drives is listed in a column under the ‘start’ header — it’s own 28-yard line, own 23-yard line, own 26-yard line, etc. Just the yard line number itself is provided, accompanied by a small triangle symbol pointing to the left. That little triangle is my solution to avoid using “own” or “opp” (opponent) syntax with every entry, which I think would unnecessarily clutter things. The ‘end’ column uses the same triangle symbol flipped to point to the right for drives that ended in opponent territory.

I also included a ‘drive plot’ with a set of bars that represent the starting and ending field position for each drive. I’ve tried a few variations on this that include more gridlines and annotations, but I think that simplicity here might be best. I also chose to color code touchdowns distinctly (dark blue bars) as well as drives that lost yardage (orange bars). And to reinforce and highlight these drives from the others, I color matched the little triangles in the ‘start’ and ‘end’ columns.

My next step is to work on pairing this with opponent drive data from the same game. I’m genuinely open to questions and suggestions! Is the visual vocabulary clear and easily understood? If not, what might you change or recommend? What other data do you want to see as this develops? Leave a comment or hit me up in another way. We’re just getting started.

possession bubbles

Let’s talk about visualizing game possessions in college football. Clock rule changes in combination with pace of play trends and improved offensive efficiencies have impacted the distribution and median number of possessions per game over the last 19 seasons.

Chart titled "Possessions Per Game Season Distributions", a bubble chart representing games played between FBS opponents plotted by the number of total game possessions. Columns of bubbles are organized by season, 2007 to 2025. Labels for the median number of possessions per game by season are included, which along with the distributions themselves, drift down from a median of 27 game possessions (in the 2007 and 2012-2015 seasons) to a median of 24 game possessions (in the 2023-2025 seasons).

This chart is the result of a number of iterations and attempts to both visualize a trend and illustrate the totality of a large data set. I’m not sure if I’m satisfied with all of the choices that were made and it’s possible I’ll go back and refine it further. Charts are never done!

Let’s start with the data itself. There have been 14,130 games played between FBS opponents since 2007, and all of them are represented somewhere in the chart. That tiny bubble in the lower right-hand corner? That’s the Army vs Temple game in 2025 that had only 12 total game possessions (6 for each team!), fewer than any of the other 14,129 games played in the span. The tiny bubble separating itself from the rest at the top of the ‘15’ column? That’s the Arkansas State vs UL Monroe game in 2015 which featured 46 total game possessions (23 for each team!), more than in any other game since 2007.

Most games are represented as part of a larger bubble, grouped with all other games in the given season that had the same number of possessions. That big bubble in the 2025 column with the number ‘24’ over it represents the 106 games this past season that each had 24 total game possessions. The area of that bubble — which also happens to be the largest bubble in the chart — is 106 times larger than the area of the Army-Temple bubble in the same column.

I made a lot of chart drafts before settling on one:

An assortment of chart drafts of various types (bubble charts, line charts, histograms) visualizing game possessions.

The chart type I settled on helps identify outliers (if you squint) that might spark curiosity, and it also provides an overview of game possession distributions for each season, even though the details of those distributions aren’t explicit. (Are they normal bell curve distributions? Maybe?) I also didn’t bother to include a legend to translate the relationship between bubble size and game counts, because the primary purpose of the chart is to illustrate the year over year trend.

I played with a few different ways to highlight that trend, but I struggled a bit with making sure it was obvious enough. I decided to make the median number of game possessions per season — sometimes, but not always the largest bubble in each column — the featured data point. And instead of highlighting featured bubbles with a different color or shade, I dropped the data point label itself on those bubbles. I like that choice. I think.

hoosiers

Fifteen wins over FBS teams. Eight wins over FEI top-30 teams. Four wins over FEI top-5 teams. No losses. No matter how you slice the data, the 2025 Indiana Hoosiers are the most accomplished national champion to date.

Chart titled "Best and Most Accomplished National Champions", a triptych of scatterplots illustrating the relationship between "best" (FEI) ratings and three versions of "most accomplished" (FEI-based strength of record) ratings for all teams since 2007. National champions for each season are highlighted. The 2025 national champion Indiana Hoosiers are separated from the pack in all three scatterplots.

There’s a lot of data visualized here, so let’s break down what is going on in these charts.

As described in the chart sub-header, final ratings for all teams since 2007 are represented with a gray dot in each scatterplot. The x-axis is each team’s FEI rating (see final 2025 ratings here, along with links to final FEI ratings for previous seasons). The first column of data that is represented in these charts is the FEI column. Note that the x-axis FEI data is common for each of the three charts in the graphic; if these charts were interactive instead of static — that is, if this was a single plot that you could cycle through three versions of — the dots would only slide up and down, not left or right.

The y-axis data, however, is different in each of the three scatterplots. The data is drawn from the same FEI ratings pages, but it comes from the “strength of record” columns (EWD, GWD, AWD data), three different ways to rate teams based only on win/loss outcome against the strength of opponents faced.

I decided to include a small visualization of what the entire scatterplot looks like in the corner of each chart, with an area of detail highlighted and blown up. The shape of each scatterplot might be interesting in and of itself, but this visualization isn’t featuring that relationship. Instead, it’s using it as the backdrop to feature comparisons of specific teams, national champions.

I didn’t want to clutter the chart with too much annotation, but I know this chart makes some assumptions that might not be particularly inclusive. It labels national champions only by year (more specifically, only with a two-digit code representing the year; 25 = 2025, 07 = 2007, etc), useful shorthand for people that follow college football closely, perhaps, but it’s definitely limiting. An Alabama fan might be able to quickly pick out recent championship seasons for the Crimson Tide, but I have to think for a second about which championships were won by Alabama or by Clemson in the 2015 to 2018 stretch. 2025 national champion Indiana is right there at the top of each chart, but it doesn’t say “Indiana” and you have to decode what the highlighted data and labels are intended to represent.

One insight that the charts are intended to illustrate is that there are several (many, of course) ways to answer the question of which team is “best” or “most accomplished”. And perhaps that will prompt some exploration of the underlying data.