Skip to content

georgeblck/oppoElo

Repository files navigation

Retrospective strength of schedule in the NBA (shiny app)

Link to shiny app

During the regular season a common measure of a teams remaining strength of schedule (SOS) is the combined winning percentage of those opponents (Example). A high winning percentage means the opponents you still have to face are probably tough and vice-versa.

There are two ideas I want to apply in this work that are in a similar vein:

  1. Substitute the winning percentage with a more adequate measure of performance: the Elo score.
  2. Instead of a remaining SOS, calculate a retrospective SOS.

The first addition is self explanatory and through 538s great work very easy to implement. The latter idea stems from my interest in questions like

  • Who had the hardest or easiest season in 2019?
  • Who had the hardest or easiest season ever?
  • Who had the hardest playoff run ever?

All of these results depend on there being some amount of variation in opponents team strength (measured via elo). This is why it is important to first look at this variation.

Results

Variation in Opponents Elo

The variation in Opponents Elo is a lot smaller than the general Team Elo (i.e. the strength of teams and not their opponents). That is to be expected as the strength of a team can only vary so much through a season. The highest amount of variation occurs in the 1999 season. As far as I can tell the reason is the strength of the westen conference.

Intra-Season Variation in Elo and oppoElo

Let us now look on the highest deviations in terms of Elo in the past NBA throught a single season.

We see that the 2011 Cavs had the highest difference in their own team Elo. This is due to Lebron James leaving during the offseason of 2010 and subsequent skill loss. The same thing happened to Chicago in 1999 after Michael Jordans second retirement. The opposite happened to the 2008 Boston Celtics: Pierce, Allen & Garnett got them the championsip.

Summing up: Big changes in a teams Elo through a season are mainly due to player movements.

Opponents Elo is not as informative: Portland faced both the Warriors at their Elo apex and the pre-processed 76ers in 2016. Most of the other outliers are due to either GSW or Michael Jordan.

Who had the hardest season/playoff run?

The same for playoff runs

Increased variation in seasonal performance

There seems to be an increase in seasonal variation per team elo.

Data

  • All games since 1977 season (NBA/ABA Merger)
  • All taken from 538s Elo database. link

Update Repo Oct 2020

  • Make better menu for choice of Raptor/Elo/Carmelo
  • Make better menu for choice of season/playoff/both
  • Subset data when Carmelo/Raptor is chosen
  • Make legend much bigger
  • Make other text bigger
  • Make axis labels with “strength”
  • Write more explaining text?
  • Add colour for won finals
  • Update data but dont include 2020 season
  • Add Champion tag to table

To-Do

  • Upload shiny to shinyapps.io
  • Add more seasons (by solving conferences, use elo website ) (no)
  • Add carmElo for the recent seasons (via button)
  • Make the graphic bigger in browser
  • Look into the max/min delta a team can undergo in a season
  • Visualize the variation in oppoElo and teamElo
  • Make multiple seasons selectable
  • Replace team names if it’s only name change (via button)
  • How similar are the different Elo scores (logreg and visual)
  • Brush up text.
  • Save table info so it shows up in github
  • carmelo only when looking at single year? (no)
  • Split by season –> who had the hardest season/playoff
  • Add table for searchable hardest/easiest season/playoff run with nice kable-highlights
  • Table: Make oppoElo column fat
  • Table: filters for double variables to integer or round
  • Plot: Make labels bigger and change colour scheme to 538
  • Think about doubling and possible problems
  • Ridge plot for seasons West/East and over decades
  • Add teams till 1970. Problem with ABA and conferences

About

Who had the hardest/easiest NBA season?

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published