This thesis develops an end-to-end, database-backed workflow to analyze and predict NBA player salaries using season-level data from the last fifteen years. First, I formalize the domain requirements and design a conceptual Entity–Relationship (ER) schema with three core entities—Player, Team, and Statistics—then derive the relational schema with primary/foreign keys and implement it in SQL. The SQL layer supports table creation, constraints, and robust data-loading procedures. On the data side, I acquire the dataset via web scraping and public sources, transform it into consistent CSV formats, and integrate it into the SQL database to ensure clean, deduplicated, and queryable player–season records. The analytics pipeline (Python: pandas, NumPy, scikit-learn) retrieves features such as PTS, AST, TRB, STL, BLK, MP, FG_pct, 3P_pct, Age, and Year, and fits a transparent linear regression model with a standard train–test split to assess explanatory power and error magnitudes. I present the methodology, queries (e.g., salary lookups by player ID), model specification, and test-set results, followed by a discussion of limitations (data coverage, multicollinearity, institutional constraints like cap and max contracts). The work concludes with future developments, including regularized linear models, tree-based methods, and richer rate/possession-adjusted features, to improve accuracy and interpretability while preserving a reproducible, scalable architecture.

Questa tesi sviluppa un workflow end-to-end, basato su database, per analizzare e prevedere gli stipendi dei giocatori NBA utilizzando dati a livello di stagione degli ultimi quindici anni. In primo luogo, formalizzo i requisiti del dominio e progetto uno schema concettuale Entity–Relationship (ER) con tre entità core—Player, Team e Statistics—da cui derivo lo schema relazionale con chiavi primarie/esterne e la relativa implementazione in SQL. Il livello SQL supporta la creazione delle tabelle, i vincoli e procedure robuste di caricamento dati. Sul fronte dei dati, acquisisco il dataset tramite web scraping e fonti pubbliche, lo trasformo in formati CSV coerenti e lo integro nel database SQL per garantire record giocatore–stagione puliti, deduplicati e interrogabili. La pipeline analitica (Python: pandas, NumPy, scikit-learn) estrae feature quali PTS, AST, TRB, STL, BLK, MP, FG_pct, 3P_pct, Age, Year e stima un modello di regressione lineare trasparente con uno split train–test standard, al fine di valutarne la capacità esplicativa e gli errori. Presento la metodologia, le query (ad es. ricerca degli stipendi per player ID), la specifica del modello e i risultati sul test set, seguiti da una discussione dei limiti (copertura dei dati, multicollinearità, vincoli istituzionali come salary cap e max contracts). Il lavoro si conclude con gli sviluppi futuri, tra cui modelli lineari regolarizzati, metodi ad albero e feature più ricche normalizzate su ritmo/possesso, per migliorare accuratezza e interpretabilità preservando un’architettura riproducibile e scalabile.

Analisi delle statistiche dei giocatori NBA: un approccio basato su Python per l'estrazione dei dati e la gestione di un database relazionale.

PICCININI, GIORGIO
2024/2025

Abstract

This thesis develops an end-to-end, database-backed workflow to analyze and predict NBA player salaries using season-level data from the last fifteen years. First, I formalize the domain requirements and design a conceptual Entity–Relationship (ER) schema with three core entities—Player, Team, and Statistics—then derive the relational schema with primary/foreign keys and implement it in SQL. The SQL layer supports table creation, constraints, and robust data-loading procedures. On the data side, I acquire the dataset via web scraping and public sources, transform it into consistent CSV formats, and integrate it into the SQL database to ensure clean, deduplicated, and queryable player–season records. The analytics pipeline (Python: pandas, NumPy, scikit-learn) retrieves features such as PTS, AST, TRB, STL, BLK, MP, FG_pct, 3P_pct, Age, and Year, and fits a transparent linear regression model with a standard train–test split to assess explanatory power and error magnitudes. I present the methodology, queries (e.g., salary lookups by player ID), model specification, and test-set results, followed by a discussion of limitations (data coverage, multicollinearity, institutional constraints like cap and max contracts). The work concludes with future developments, including regularized linear models, tree-based methods, and richer rate/possession-adjusted features, to improve accuracy and interpretability while preserving a reproducible, scalable architecture.
2024
2025-10-18
NBA Player Statistics Analysis: A Python-Based Approach to Data Extraction and Relational Database Management
Questa tesi sviluppa un workflow end-to-end, basato su database, per analizzare e prevedere gli stipendi dei giocatori NBA utilizzando dati a livello di stagione degli ultimi quindici anni. In primo luogo, formalizzo i requisiti del dominio e progetto uno schema concettuale Entity–Relationship (ER) con tre entità core—Player, Team e Statistics—da cui derivo lo schema relazionale con chiavi primarie/esterne e la relativa implementazione in SQL. Il livello SQL supporta la creazione delle tabelle, i vincoli e procedure robuste di caricamento dati. Sul fronte dei dati, acquisisco il dataset tramite web scraping e fonti pubbliche, lo trasformo in formati CSV coerenti e lo integro nel database SQL per garantire record giocatore–stagione puliti, deduplicati e interrogabili. La pipeline analitica (Python: pandas, NumPy, scikit-learn) estrae feature quali PTS, AST, TRB, STL, BLK, MP, FG_pct, 3P_pct, Age, Year e stima un modello di regressione lineare trasparente con uno split train–test standard, al fine di valutarne la capacità esplicativa e gli errori. Presento la metodologia, le query (ad es. ricerca degli stipendi per player ID), la specifica del modello e i risultati sul test set, seguiti da una discussione dei limiti (copertura dei dati, multicollinearità, vincoli istituzionali come salary cap e max contracts). Il lavoro si conclude con gli sviluppi futuri, tra cui modelli lineari regolarizzati, metodi ad albero e feature più ricche normalizzate su ritmo/possesso, per migliorare accuratezza e interpretabilità preservando un’architettura riproducibile e scalabile.
File in questo prodotto:
File Dimensione Formato  
tesi definita.pdf

embargo fino al 17/10/2028

Descrizione: Documento tesi
Dimensione 778.44 kB
Formato Adobe PDF
778.44 kB Adobe PDF

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12075/23171