Makeover Monday: The NBA’s Soft Salary Cap


Makeover Monday: The NBA’s Soft Salary Cap

The #makeovermonday project, led by Andy Kriebel and Eva Murray, puts out a public data set each week, challenging data vizzers to find a different way to present the data. It’s a great way to practice your visualization skills and force yourself to work with new types of data. They recommend time-boxing yourself and only spending about an hour on it. I never quite make that time limit: I usually come up with my chart types pretty quickly, but then I get to formatting and end up several hours deep on the project. This past week’s project, which involved data about the NBA’s salary cap and historical spending against it, was no exception.

The data was originally presented like this:

Original NBA Cap Viz

When I first looked at the data, I wondered, “What’s the point of a salary cap if the average team salary is consistently trending above it?” And then, “What’s an easy way to normalize the data to account for inflation.” So, I set off to make my own spin-off, focusing on these two things.

Tackling the harder problem first, I chose to show average team salaries each season as a percent difference from the salary cap. It was kind of a lazy way of accounting for inflation (remember that one-hour limit thing?). Showing a percent difference forces us to look at each season’s comparison to the salary cap that year rather than, say, comparing 1990-91’s average salary to 2016-17’s average salary.

NBA Salary Cap Tableau Viz

After noticing that average spending hasn’t exceeded the cap as much in recent years, I added the salary cap in the background as a dual-axis chart. I thought it was interesting to note the correlation between salary cap increases and changes in the average percent difference. I also added a percent difference from the median team salary in a separate chart to provide a second comparison point that skirted the inflation issue.

NBA Salary Cap Highlight Table in Tableau

After some quick research about NBA salary cap exceptions, I added some context to the top of the dashboard in case anyone else was wondering why so many teams were allowed to spend significantly over the cap. Lastly, I added a box-and-whisker plot at the bottom with a few annotations to call out interesting outliers. And voila! Not even close to my hour limit this time, but here’s what I came up with:

More About the Author

Keith Dykstra

Analytics Lead
Webinar Replay: Tableau Dashboard Design Tips for 2022 Tableau dashboards are a beautiful blend of technical proficiency and clever visual design. They can be used to show highly complex ...
Pivoting Without Changing Granularity: A New Use for Tableau’s Relational Data Model Pivoting without pivoting … it’s not a trap or a trick. This blog will take a look at how to use Tableau’s relational data model ...

See more from this author →

Subscribe to our newsletter

  • I understand that InterWorks will use the data provided for the purpose of communication and the administration my request. InterWorks will never disclose or sell any personal data except where required to do so by law. Finally, I understand that future communications related topics and events may be sent from InterWorks, but I can opt-out at any time.
  • This field is for validation purposes and should be left unchanged.

InterWorks uses cookies to allow us to better understand how the site is used. By continuing to use this site, you consent to this policy. Review Policy OK


Interworks GmbH
Ratinger Straße 9
40213 Düsseldorf
Geschäftsführer: Mel Stephenson

Telefon: +49 (0)211 5408 5301

Amtsgericht Düsseldorf HRB 79752
UstldNr: DE 313 353 072