top of page
Search

PHILADEPHIA 76ers ROSTER STATS DURING 2023 - 2024 REGULAR SEASON VERSUS 2024 PLAYOFFS PROJECT

  • okanhasturkk
  • 6 days ago
  • 5 min read

Updated: 5 days ago

This is my POWER BI project using real data from Basketball Reference.


Dataset Source:


Project Link:


My reason for generating this project is simple. I am a longtime NBA fan and I have been wanting to learn and practice POWER BI for a long time. As in my previous projects, I worked with real-time and dirty data and cleaned them before assembling my dashboard. Here, I have analyzed, compared and visualized the individual roster stats of PHILADEPHIA 76ers in 2 areas, during the 2023 - 2024 regular season and 2024 playoffs and published my findings based on the comparisons I have made in POWER BI using DAX and visualizations.


The standardization of the raw data that I have made are as follows:


At the Ht. column, the height of the players have been described with "-", which causes Excel to recognize it in date format. In order to avert this potential confusion, I replaced all dash characters with "'", replaced the month names with their corresponding numbers and changed the data type to text.
At the Ht. column, the height of the players have been described with "-", which causes Excel to recognize it in date format. In order to avert this potential confusion, I replaced all dash characters with "'", replaced the month names with their corresponding numbers and changed the data type to text.

First and most important step of data cleaning process is complete.
First and most important step of data cleaning process is complete.

Then I imported all my 3 excel worksheet files to Power BI. Then the star schema looked like this:


It appeared on the model icon exactly the way I wanted because in the star schema, the roster file which includes player names has to be the fact table and the playoff stats and regular season stats have to be dimension tables which are going to import the names of the players from the roster table that is the fact table.
It appeared on the model icon exactly the way I wanted because in the star schema, the roster file which includes player names has to be the fact table and the playoff stats and regular season stats have to be dimension tables which are going to import the names of the players from the roster table that is the fact table.
As seen above, the fact table, "Roster", includes the player names and the dimension table, "PO_Total", includes the stats. The same linking applies to "RS_Total" as well. These linking are exactly same as the JOINs in SQL.
As seen above, the fact table, "Roster", includes the player names and the dimension table, "PO_Total", includes the stats. The same linking applies to "RS_Total" as well. These linking are exactly same as the JOINs in SQL.

After successfully importing the tables, then I turn onto the data standardization within Power BI. Upon checking the tables, I came across some dirty like such as:


The nationality of the players are described in repetitive abbreviations. I cleaned this data at the Power Query under Transform Data of the Home section as follows:
The nationality of the players are described in repetitive abbreviations. I cleaned this data at the Power Query under Transform Data of the Home section as follows:
Within the Power Query, under Transform Tab, there is the Replace Values option. In this project, whenever I cleaned any data in Power Query, I opted for this method.
Within the Power Query, under Transform Tab, there is the Replace Values option. In this project, whenever I cleaned any data in Power Query, I opted for this method.
Under the 'exp' column, which I renamed to "Years in the League", there is "R" letter, which stands for rookie that means a newcomer to the league, but because I need consistency in the data, I updated it to "0", so that this column possess one data type which is going to be "whole number".
Under the 'exp' column, which I renamed to "Years in the League", there is "R" letter, which stands for rookie that means a newcomer to the league, but because I need consistency in the data, I updated it to "0", so that this column possess one data type which is going to be "whole number".
Maintaining data consistency is obligatory.
Maintaining data consistency is obligatory.
The exact same step for fixing the special "s" letter in Petrusev.
The exact same step for fixing the special "s" letter in Petrusev.
The exact same step for removing nulls. After this step, the data standardization is complete and onward to the dashboard and creating my visualizations.
The exact same step for removing nulls. After this step, the data standardization is complete and onward to the dashboard and creating my visualizations.

Upon assembling my dashboard, I aimed to make it very flexible, multifunctional and very easy to analyze. Here is what it consists of:


This is my multifunctional dashboard. Top left is the title, top right (yellow background) is the slicer that enables to pick whichever player to be analyzed and multiple selection is enabled too. Below, the black color shows the average points, assists, rebounds, steals, blocks and turnovers per game during the season where as the gray shows the same stats for playoffs. The purple charts shows the comparisons of any selected players points per game in season versus playoffs, where as the 2nd and 3rd chart shows the same comparisons for assists and turnovers.
This is my multifunctional dashboard. Top left is the title, top right (yellow background) is the slicer that enables to pick whichever player to be analyzed and multiple selection is enabled too. Below, the black color shows the average points, assists, rebounds, steals, blocks and turnovers per game during the season where as the gray shows the same stats for playoffs. The purple charts shows the comparisons of any selected players points per game in season versus playoffs, where as the 2nd and 3rd chart shows the same comparisons for assists and turnovers.

In order to establish the stat cards, I used this formula in DAX to obtain the average of the 6 stats, points, assists, rebounds, steals, blocks and turnovers in season and in playoffs.


A simple divide function that is chosen from the playoffs table "PO_Total" that divides total points to the games played and eliminates all zero values at the same time.
A simple divide function that is chosen from the playoffs table "PO_Total" that divides total points to the games played and eliminates all zero values at the same time.
Exact same formula, this time for the regular season. And this formula has been applied to the all 6 stats for regular season and playoffs by creating a new column.
Exact same formula, this time for the regular season. And this formula has been applied to the all 6 stats for regular season and playoffs by creating a new column.

The reason I have chosen new column instead of a measure is that although I am calculating the average stat of any player, it has been done for each row (player this instance), not whole column (team), therefore there can be no talk of an aggregation here as well as no new measure selection.


In order to make my comparison and findings accurate, I applied filters to all columns. I eliminated players, who has played so few minutes in regular season (less than 100 minutes in total). I also eliminated potential null and 0 values as well as team total row.


ree
The filters that have been applied.
The filters that have been applied.
Players that have less than 100 minutes of playing time in regular season and therefore filtered.
Players that have less than 100 minutes of playing time in regular season and therefore filtered.

Now, I can compare every players stats of my choosing in regular season and playoffs. Here are some that really caught my attention.


TOBIAS HARRIS' points and assists have gone downwards drastically in the playoffs, almost %50 in points and more than %50 in assists.
TOBIAS HARRIS' points and assists have gone downwards drastically in the playoffs, almost %50 in points and more than %50 in assists.
TYRESE MAXEY, who has the 2nd highest PPG in season, lost the ball more in playoffs then regular season.
TYRESE MAXEY, who has the 2nd highest PPG in season, lost the ball more in playoffs then regular season.
The same can be said about JOEL EMBIID, who is the team's best player. It also has to be mentioned that Embiid suffered a major injury during playoffs but an average higher than 4 is massive, especially in playoffs.
The same can be said about JOEL EMBIID, who is the team's best player. It also has to be mentioned that Embiid suffered a major injury during playoffs but an average higher than 4 is massive, especially in playoffs.

After assessing the top 3 players, I checked the role players and here is what I come up with.


Cameron PAYNE, Buddy HIELD, Nicolas BATUM, Kyle LOWRY and Kelly Oubre JR., the teams second unit or role players. Their contribution in the playoffs have decreased significantly. A -12 point contribution, -5.5 assist contribution.
Cameron PAYNE, Buddy HIELD, Nicolas BATUM, Kyle LOWRY and Kelly Oubre JR., the teams second unit or role players. Their contribution in the playoffs have decreased significantly. A -12 point contribution, -5.5 assist contribution.

Let's add Tobias Harris to this list.


A statistic sheet that speaks for itself. These 6 players registered 20 points and 7 assists less per game in playoffs which points to the fact that the New York Knicks eliminated the 76ers by limiting all these 6 players to extremely lower averages than their seasonal averages but also forcing the top 2 players of 76ers more turnovers.
A statistic sheet that speaks for itself. These 6 players registered 20 points and 7 assists less per game in playoffs which points to the fact that the New York Knicks eliminated the 76ers by limiting all these 6 players to extremely lower averages than their seasonal averages but also forcing the top 2 players of 76ers more turnovers.

Besides the cards shown above, the bottom chart clustered bar charts compare each players stats in season versus playoffs. This is what I aimed with this project, not only I manage to show individual player stats but also in multiple areas (season vs playoffs) and I am able to show each of those stats not only by 1 player but also combine with multiple players and visualize these findings with charts as well.


In the end, I inserted a text to summarize my findings. With this base, I can show, determine and visualize even more stats but I wanted to keep it clear here not so complicated. With a new column formula in DAX or an aggregation formula in a new measure, I can calculate any stats of any player of any team at any time regardless of complexity.


 
 
 

Comments


bottom of page