Before the postseason gets underway, I thought it might be fun to look back at the 2024-2025 Regular Season through some familiar charts and graphs. Most of the following charts appeared on The F5 at one point or another this year, but now I’ve updated them with a full season of data in hand.
Soon, we won’t have to think or talk about nearly half the league until the draft lottery. So today, let’s use this space to remember that the Oklahoma City Thunder and Washington Wizards actually played in the same professional sports league this season.
I’ll have a playoff preview later this week once all the matchups are set in stone.
Note: This post is viz-heavy and might look better in your browser than in your email client. Click the title to view it in your web browser of choice.
Are They For Real
Let’s start at a high level. The graphic below shows each team’s record against the top ten, middle ten, and bottom ten teams in Net Rating. I’ve split the teams by conference and ordered them by their playoff seeding heading into the play-in.
A good rule of thumb is fade any team that’s fattened up their record by beating up on the dregs of the league without being competitive against the cream of the crop. Meanwhile, you can’t go wrong buying stock in the teams that had winning records against the best of the best.
Toronto had such a strange year. They were 30-52 overall, but were 17-8 against the Tanktastic Ten. Not good enough to make the play-in in a weak Eastern Conference, but not bad enough to get into the Cooper Flagg sweepstakes. Kind of a lost season, to be honest.
Day-By-Day
How did we get to where we are now? Let’s take it day-by-day. The chart below tracks each team’s Net Rating over the course of the regular season in daily intervals.
I think this graphic does a terrific job of showing how the Thunder, Celtics, and Cavaliers separated themselves from the rest of the league early on and never looked back. Also, it appears the Clippers are peaking at just the right time!
Remember those two weeks to start the season when the Phoenix Suns looked good? I remember. I believed in it.
15 Seconds of Game
You can learn a lot about a team by just looking at how they perform at different points within the game. The chart below shows each team’s average point differential every 15 seconds of game time.
The Los Angeles Lakers were 4th in Net Rating in first halves this season and 25th in second halves. Meanwhile, their first round opponent, The Minnesota Timberwolves, were 12th in first halves and 2nd in the second halves. What does this mean? I don’t know. But it compels me.
The Jazz, Pelicans, and Wizards all showing a little bit of fight at end of fourth quarters is a good illustration of the Rubber Band Effect, in which trailing teams over-perform and leading teams under-perform.
Up, Down, or Keeping it Close
The chart below shows how often teams were up, down, or within one possession.
It felt like every time I flipped on a Thunder game this year they were up double digits. This year, they’ve led by double digits about 15 percent of game time. As a comparison, last year, the Celtics led the league in time spent up +20 points at 13 percent.
Nick Nurse and the Philadelphia 76ers were dealt a shit hand this season. Kudos to them for not totally mailing it in and falling behind by 20 or more points as often as they probably should have.
Expectations vs. Injuries
Injuries (or lack thereof) can make or break a season. But not all injuries are created equal. Losing a backend rotation player is less painful than losing a key starter. Further, losing a different starter every other game for a month hurts more than losing the same starter for a full month. Teams can adjust rotations and game plans if they know who’s available next week — that’s harder to do when random players are constantly coming and going.
That’s why I like to look at each team’s total number of unique starting lineups as a proxy for consistent health.
The chart below shows the total number of unique starting lineups each team used this season vs. how many games they won above or below their preseason win total. In general, consistently healthy teams tended to outperform their preseason expectations the most.
The Detroit Pistons had a relatively healthy season with the exception of Jaden Ivey’s leg injury. Although one could argue that Ivey’s injury was a blessing in disguise for the Pistons since it opened up minutes for players that were better suited for helping them win now.
The San Antonio Spurs appear “healthy” on this chart because Victor Wembanyama and De'Aaron Fox were their only players that missed considerable time this season. At the same time, they got 82 games out of Chris Paul and Harrison Barnes, the two oldest members of the team. So I think we can call it a wash.
Hot Shots
Earlier this year I charted where the top 30 scorers take more or less shots from relative to the league average. In the chart below I’ve expanded that concept to the top 100 scorers by points per game.
I don’t think there’s anything actionable to take away from these charts. I honestly just think they’re cool to look at and do a decent job of broadly summarizing the different parts of the court that certain players like to work out of.
My Roman Empire
I think about opponent three-point shooting just about every day. It feels like it rules everything around me. The chart below shows how well teams defended two-pointers and three-pointers in their first 41 games vs. their last 41 games of the regular season.
In general, teams that defended two-point shots well in the first half of the season also defended two-point shots well in the second half of the season (and vice versa).
However, the same cannot be said for teams and defending three-point shots. I think it’s noteworthy that the Grizzlies and Nuggets fired their coaches after their teams started getting lit up from beyond the arc in the second half of the season. Meanwhile, the Trail Blazers handed their coach a three-year extension after they went from 26th in opponent three-point percentage to 4th.
Losing Time
Ever notice how no one does what they say they’re going to do anymore? A prime example of this is league’s broadcasting partners who refuse to start games on time. The chart below shows how much time elapsed between when a game was scheduled to start and when it actually started.
ESPN games tend to start around 15 minutes after their scheduled start time. Meanwhile, TNT games start around five minutes after their scheduled start time. My big question for next year is what time will Amazon and NBC — the NBA’s two new broadcasting partners — start their games? You can bet I’ll be counting.
Knowing how poorly the Knicks have done against the league's elite this season as it was advertised so often, it flew under my radar how bad Milwaukee have been. 5-19!
This is so cool, thanks for compiling all those charts!