Much is often made of strength of schedule — if a team faces a lot of tough opponents, or plays a lot of road games or back-to-backs, then their performance is viewed with a kinder gaze. Wins in those scenarios are harder to come by, and losses on long home stands against inferior competition are seen as missed opportunities.
That context can make judging a team’s performance difficult to do, both over larger samples and over short stretches. We’ll try to correct that difficulty in this piece (and the subsequent pieces to follow), by examining each game performance while taking into account how good the opponent is, where the team is playing, and schedule impacts.
I’ve done something similar in years past, but I will outline the process as simply as possible here.
First off, how will we be judging the team’s performance in each game? We could use simple wins and losses, but that would give the same weight to eking out a 1-point win versus a 30-point blowout. So point differential is better. We’ll also want to evaluate offense and defense separately, so points scored and allowed. And we’ll adjust all of that for pace. As such, the two key statistics we will use as a judge of the team’s performance in a game is points scored and allowed per 100 possessions (ORTG and DRTG).
Those same stats are how most teams’ offenses and defenses are judged league wide. And that’s how we’ll determine the quality of opponent — each team will be represented by their ORTG and DRTG for the year.
So, to judge a team’s performance in a game, we start with what we’d expect an average team to do assuming the same opponent, location and schedule. The opponent part is easy — a team’s ORTG and DRTG for the season are the best indicators of how they perform on average. So an average team would be expected to put up an ORTG equal to the opponent’s typical DRTG, and a DRTG equal to the opponent’s typical ORTG. These are the Expected ORTG and DRTG for the game.
At this point the game is played. This is the interesting, fun part. As such we will skip over it.
Once the game is done, the Raptors will have an ORTG and DRTG for that individual game — the amount of points scored and allowed, adjusted for the total number of possessions played in the game. Then it is simple: we compare the Raptors’ ORTG and DRTG against the Expected ORTG and DRTG that an average team would achieve, and that gives us an offensive and defensive performance for the game — recorded in points above or below a league-average performance.
So, for example, if the expected ORTG and DRTG were both 100, and the Raptors’ achieved an ORTG and DRTG of 110 and 95 in the game, the team’s performance would be a +10 offensive performance and a +5 defensive performance (as fewer points allowed is better).
But we have to account for the location of the game as well. Based on some rough math from previous seasons, being the home team is worth about 2.76 points per 100 possessions. So we’ll keep it simple and award the team a 1.38 point bonus to their offensive and defensive performance if they are the road team (as road games are more difficult), and penalize them that amount if they are the home team.
Same idea for back-to-back situations. Back-to-backs graded out as being worth 2.4 points per 100 possessions, so if a team is on a back-to-back, they will receive a 1.2 point boost to their offensive and defensive performances, while if their opponent is in a back-to-back, the team would receive a 1.2 point penalty on each end.
As the season goes on, we end up with a bunch of results — an offensive performance and a defensive performance for each game. Weighing those equally gives an average offensive and defensive performance for the season. Remembering that those performances are relative to the average team, we can then simply take the league average ORTG and DRTG, and apply the team’s performance values to get the team’s schedule adjusted ORTG and DRTG.
Let’s use the Raptors so far this year to demonstrate. First, let’s look at the 22 games they’ve played so far — with each opponent’s expected performance, the Raptors’ ORTG and DRTG in each game, and their offensive and defensive performance for each game.
So, lots of data there. We’ll get into averages and such in a moment, but first, it is worth examining the performance patterns. For example, remember that stretch just before and during the long west coast road trip, where the defense seemed to be falling apart? There were indeed some rough defensive performances in there, but no disastrous (-10 or worse) ones, and many games were basically average defensive performances. So the team was actually treading water pretty much as you’d expect with a schedule like that.
Meanwhile, you may notice the rarity of negative numbers in the offensive performance column. Not a lot of below average nights from the juggernaut of an offense the Raptors have going right now. Looking specifically at the last nine games, the offense has been unstoppable of late, regardless of weaker opposition or home cooking.
This is the real value of introducing and quantifying (to some degree) the context involved in each game — being able to look at a game like the one against Memphis and know that even though they gave up only 105 points, that game was the worst defensive performance of the season (until last night’s hilarious game) when accounting for some context.
But, since the fun part (besides, you know, the basketball) is projecting forward and guessing at what this means for the season as a whole, let’s do that too.
Looking at that data set, the Raptors’ average performances come out as +10.3 on offense (insanely good) and -0.4 on defense (essentially average). Applying those to the league average ORTG and DRTG of 104.2 gives them a schedule adjusted 114.5 ORTG and 104.6 DRTG. Those are pretty close to their season averages, if slightly lower, so their early tough schedule has settled down a bit with the recent easy home stretch.
In any case, we can take a simple pythagorean wins method (where the point differential is used as a predictor of end-of-season win percentage) to predict a final record based on those adjusted ORTG and DRTG.
Pythagorean Winning % = (ORTG^14) / (ORTG^14 + DRTG^14)
With their current ORTG and DRTG, the team projects to end up with 64 wins(!). This is how good the team has played so far this year against the opposition they’ve faced. That number seems a little aggressive, but it’s pretty fun to see nonetheless.
Since we have the data from each game, and not just the aggregate, we can take another approach to project wins. We can use that data and find not only the average, but also the standard deviation in the team’s ORTG and DRTG. Then, based on a standard normal distribution, we can use the average and standard deviation to assign each game a win probability based on the opponent, location and back-to-back situation. Those win probabilities can be summed to give a season long win total. They can also be used to quickly judge any stretch of upcoming games.
As a quick evaluation of the accuracy of the model (at least in hindsight) we can look at the games played so far and see how many wins (and against which teams) the model predicted, versus how many the team actually has. The model has the team at 14.9 wins after the Timberwolves game last night. And the team actually has a 15-7 record. That’s about as good as it gets, though a level of accuracy would be expected since this is not a prediction but a description of what’s happened so far.
For the moment, the Raptors’ predicted wins for the season using this method works out to 56, right in line with last season’s record of 56-26.
We’ll be updating this every ten games — we’re starting at the 22 game mark, so that lines up nicely for 7 posts covering the entire season. Each post, we will project the upcoming 10 games, and look back at the previous 10, to get an idea what went as planned, and what trends are showing up, such as (hopefully) improved defensive performance as the year goes on.
On that note, here are the projections for the next ten games. The expected ratings are shown based on the opposition’s average ratings. The expected result is the point differential (per 100 possessions) for the Raptors if the opposition plays true to their average ratings, and the Raptors play true to the adjusted ratings we calculated above. That expected result is how much the Raptors can underperform and still win. Finally we list the percent chance of winning the game based on how many standard deviations above or below the Raptors’ typical performance that expected result represents.
That lines up for 6.6 wins over the next 10, so either a 6-4 or 7-3 record, with the toughest games coming against BOS, POR, UTA and GSW.
So, what are your thoughts? Are we over-predicting wins over the next while? Under-predicting? What about for the season as a whole?
And always feel free to make suggestions to improve the model — some are easy to implement, such as home/away and back to back effects (which came from commenter suggestions when I first started this), and I will implement those. Others may be too complex or time-consuming (such as accounting for injury, etc) to implement, but are usually worth discussing anyway.
All team ratings per NBA.com. Schedule information taken from basketball-reference.com.