Expected Points nella pallacanestro
Dal risultato del tiro alla qualità del tiro. Un primo sguardo al modello Expected Points.
L’attacco di una squadra vive e muore sulla qualità dei tiri che produce. Per anni abbiamo valutato questa qualità guardando a ciò che succede dopo il tiro: percentuali realizzative, punti segnati, offensive rating. Sono tutte metriche utili, ma hanno un limite strutturale: dipendono dall’esito del singolo tiro, che per definizione è rumoroso, influenzato da varianza e contesto. L’idea degli expected points nasce proprio dall’esigenza opposta: spostare il focus dal “com’è andato il tiro?” al “che qualità aveva il tiro nel momento in cui è partito?”. Invece di guardare solo se il pallone è entrato o no, proviamo a stimare quale fosse la probabilità che entrasse date alcune caratteristiche del tiro: distanza dal canestro, zona del campo, se il difensore era vicino, se il tiro è arrivato da un passaggio, e così via. Questo cambio di prospettiva è fondamentale per analizzare davvero la qualità di un attacco. Gli expected points non hanno bisogno del risultato del tiro per essere calcolati: usano le informazioni disponibili prima che la palla lasci la mano del tiratore. In questo modo possiamo valutare la capacità di una squadra di costruire buoni tiri in maniera stabile nel tempo, al di là delle serate in cui “entra tutto” o “non entra niente”.
I dati: tiri della LBA 2025/2026
Per costruire il modello di expected points abbiamo utilizzato i dati di tiro raccolti dal team HoopDeck sulle partite della LBA 2025/2026. La registrazione avviene utilizzando una tecnologia proprietaria sviluppata dal team HoopDeck.
Per ciascun tentativo di tiro memorizziamo:
- la posizione precisa del campo da cui è partito il tiro (coordinate sul parquet);
- se il tiro è stato contestato o meno dalla difesa;
- se il tiro è stato assistito da un compagno e, in caso affermativo, l’identità del giocatore che ha fornito l’assist.
Questo livello di dettaglio è ciò che ci permette di passare da una semplice percentuale realizzativa a una stima della qualità del tiro, cioè ai suoi expected points.
Esempi concreti di tiri nel dataset
Vediamo due tiri reali dalla stagione LBA 2025/2026 per capire il tipo di dati che abbiamo a disposizione.
Tiro 1
Dettagli del tiro: - Posizione: Restricted Area - Contestato: Sì - Assist: No - Risultato: Segnato
Qui possiamo vedere la posizione del tiro registrata dal team HoopDeck. Cliccando sul tiro si possono visualizzare le caratteristiche (C: contested; UA: unassisted)
Il tiro viene registrato nella banca dati HoopDeck, con le sue caratteristiche:
| Game | Period | score | Player | Team | Type | X | Y | Contested | Assisted |
|---|---|---|---|---|---|---|---|---|---|
| Cremona-Cantù | 4Q | 86-87 | 2FGM | 3.11 | -39.96 | Yes | No |
Tiro 2
Dettagli del tiro: - Posizione: 3 punti - Contestato: No - Assist: Sì - Risultato: Segnato
Qui possiamo vedere la posizione del tiro registrata dal team HoopDeck. Cliccando sul tiro si possono visualizzare le caratteristiche (UC: uncontested; A: assisted)
Il tiro viene registrato nella banca dati HoopDeck, con le sue caratteristiche:
| Game | Period | score | Player | Team | Type | X | Y | Contested | Assisted |
|---|---|---|---|---|---|---|---|---|---|
| Cremona-Cantù | 1Q | 12-8 | 3FGM | -0.16 | -18.7 | No | Yes |
Come funziona il modello Expected Points
Ora che abbiamo visto i dati grezzi, spieghiamo come li trasformiamo in expected points.
La logica del modello
Il modello prende le caratteristiche di un tiro e prevede la sua probabilità di entrare.
Input del modello (le variabili che abbiamo visto negli esempi):
- Posizione del tiro nel campo (più sei lontano, minore è la probabilità);
- Contestato o no (Tiro contestato = meno probabilità);
- Assistito o no (Tiro assistito = più probabilità).
Output del modello: una probabilità tra 0 e 1 (EP: Expected Probability).
Per capire come funziona, pensa al modello come a un “osservatore esperto” che ha visto migliaia di tiri della LBA. Il modello impara dai dati che gli mostriamo: per ogni tipo di tiro (posizione, contestato, assistito) registra con che frequenza entra o meno. Quando arriva un nuovo tiro, il modello non lo vede come un caso isolato, ma lo confronta con tutti i tiri simili che ha già visto. È come se cercasse nella sua memoria i tiri più vicini per caratteristiche e usasse la loro storia per stimare la probabilità che questo nuovo tiro entri.
Questo processo di “apprendimento dai dati passati e previsione sui nuovi dati” è alla base di molti modelli statistici moderni. Nel nostro caso, il modello non deve indovinare se il tiro entrerà o meno, ma solo stimare quanto sia “buono” quel tiro nel momento in cui parte: quanto è probabile che vada a canestro, dato dove è stato tirato, quanto è stato contestato e se è arrivato da un passaggio. Da questa probabilità passiamo poi agli expected points, che ci danno una misura in punti di quanto “vale” quel tiro in termini di qualità.
Guardiamo il layup di Willis. Il modello lo confronta con tutti i layup contestati e non assistiti vicino al ferro che ha già visto nella stagione.
| Game | Period | score | Player | Team | Type | X | Y | Contested | Assisted | EP (%) |
|---|---|---|---|---|---|---|---|---|---|---|
| Cremona-Cantù | 4Q | 86-87 | 2FGM | 3.11 | -39.96 | Yes | No | 52.2 |
Passiamo ora alla triple di Bortolani. Il modello la confronta con tutte le triple non contestate e assistite che ha osservato in stagione.
| Game | Period | score | Player | Team | Type | X | Y | Contested | Assisted | EP (%) |
|---|---|---|---|---|---|---|---|---|---|---|
| Cremona-Cantù | 1Q | 12-8 | 3FGM | -0.16 | -18.7 | No | Yes | 47.5 |
Da probabilità a Expected Points
Una volta che abbiamo la probabilità, convertiamo in punti attesi:
Expected Points (xP) = Probabilità (EP) × Valore del tiro
- Tiro da 2 punti:
xP = EP × 2 - Tiro da 3 punti:
xP = EP × 3
Vediamo per i due esempi quanto valgono gli Expected Points:
| Game | Period | score | Player | Team | Type | X | Y | Contested | Assisted | EP | xP |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Cremona-Cantù | 4Q | 86-87 | 2FGM | 3.11 | -39.96 | Yes | No | 52.2 | 1.04 |
| Game | Period | score | Player | Team | Type | X | Y | Contested | Assisted | EP | xP |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Cremona-Cantù | 1Q | 12-8 | 3FGM | -0.16 | -18.7 | No | Yes | 47.5 | 1.43 |
Punti reali vs Expected Points: una partita di esempio
Gli expected points non servono solo per analizzare singoli tiri, ma possono essere aggregati a livello di partita per confrontare la produzione offensiva reale con quella attesa in base alla qualità dei tiri.
Gli expected points vengono calcolati anche sui tiri liberi, usando semplicemente la media di lega. In questo modo è possibile avere una visione completa della qualità della produzione offensiva: non solo i tiri da 2 e da 3, ma anche i liberi entrano nel calcolo.
Prendiamo come esempio la partita tra Cremona e Cantù della 19° giornata di LBA 2025/2026. Nella tabella qui sotto vediamo i punti totali (PTS) e gli expected points (xP) delle due squadre. Notiamo come la partita sia finita 89–87 per Cremona, ma Cantù abbia avuto una produzione offensiva attesa migliore in termini di qualità dei tiri.
| Team | PTS | xP |
|---|---|---|
| 89 | 84.8 | |
| 87 | 92.1 |
Dal confronto tra punti reali ed expected points è possibile trarre alcune conclusioni interessanti: una squadra può vincere una partita nonostante una produzione offensiva di qualità inferiore, oppure perdere nonostante abbia costruito tiri migliori. Questo tipo di analisi aiuta a leggere la partita oltre il risultato finale, focalizzandosi sulla qualità delle scelte offensive e sulla capacità di costruire buoni tiri nel corso dei 40 minuti.
In altri articoli approfondiremo analisi più specifiche. L’obiettivo è mostrare come gli expected points possano diventare uno strumento concreto per valutare attacchi, giocatori e strategie, andando oltre le semplici percentuali di tiro.