The NBA stands out as one of the most lucrative and competitive leagues in sports. In the last few years, the salaries of NBA players have been on an ascending trend, but behind every awe-inspiring dunk and three-pointer lies a complex web of factors that determine these salaries.
From player performance and team success to market demand and endorsement deals, numerous variables come into play. Who never pondered why their team spent so much on an underperforming player, or marveled at the strategy behind a particularly successful deal?
In this article, we use the capabilities of machine learning with Python to predict NBA salaries and uncover the crucial factors with most impact on players’ earnings.
All the code and data used are available on GitHub.
Understanding the problem
Before diving into the problem, it is essential to grasp the fundamentals of the league’s salary system. When a player is available on the market to sign a contract with any team he is known as a free agent (FA), a term that will be used a lot in this project.
The NBA operates under a complex set of rules and regulations that aim to maintain competitive balance among teams. Two key concepts are at the core of this system: the salary cap and the luxury tax.
The salary cap serves as a spending limit, restricting how much a team can spend on player salaries in a given season. The cap is determined by the league’s revenue, and it is updated every year to ensure that teams operate within a reasonable financial framework. It also intends to prevent large-market teams from significantly outspending smaller-market counterparts, promoting parity among franchises.