Documento

Vista ML: v_player_season_stats

Questa è una VIEW (non una tabella) che unisce tutti i dati in una singola riga denormalizzata per giocatore-stagione. È pensata per essere il punto di partenza per il feature engineering ML.

Base: players INNER JOIN fc_player_seasons — include solo giocatori con fantacalcio_id.

CSV di training: il repo privato FantaStats/training-data contiene i CSV stagionali esportati da questa vista, pronti per il training ML.


Riferimento colonne (133 totali)

Identità e anagrafica

Colonna Descrizione
Id_giocatore ID univoco giocatore
Nome_giocatore Nome del giocatore
Nato_il Data di nascita
Altezza Altezza in cm
Piede_preferito Piede preferito (left / right / both)
Stagione Stagione (es. “2024” = 2024/25)
campionato “SerieA” o “euroleghe”

Club e allenatori

Colonna Descrizione
Squadra_1 Squadra principale della stagione
Squadra_2 Seconda squadra (se trasferito a stagione in corso)
Partite_a_voto_squadra_1 Giornate con voto alla squadra 1
Partite_a_voto_squadra_2 Giornate con voto alla squadra 2
Allenatore_1Allenatore_7 Allenatori in ordine cronologico di prima apparizione
Allenatore_1_partiteAllenatore_7_partite Giornate con voto sotto quell’allenatore
Allenatore Allenatore principale (fonte Bera)
Modulo Modulo di gioco più usato
Valore_di_Mercato Valore di mercato Transfermarkt (€) — ultimo snapshot disponibile prima dell’inizio stagione

Statistiche Fantacalcio stagione

Colonna Descrizione
Ruolo Ruolo classico (Portiere/Difensore/Centrocampista/Attaccante)
Ruolo_mantra Ruolo Mantra (es. “Dc;Ds”)
Partite_a_voto Giornate con voto (presenze effettive)
Partite_da_titolare Partite da titolare
Partite_da_subentrato Partite da subentrato
Partite_saltate_per_giornate_di_squalifica Giornate saltate per squalifica
Partite_saltate_per_infortunio_campionato Giornate saltate per infortunio (fonte Fantacalcio)
Partite_non_convocato Giornate da non convocato
Partite_saltate_per_infortunio_totali Totale partite saltate per infortunio (fonte Transfermarkt)
Partite_saltate_per_malattia_totali Totale partite saltate per malattia
Partite_saltate_per_altro_totali Totale partite saltate per altro motivo
Giorni_di_infortunio Giorni totali di infortunio (Transfermarkt)
Giorni_di_malattia Giorni di malattia
Giorni_di_altro Giorni di assenza per altro motivo
Goals_fatti Gol segnati
Assist Assist
Goals_fatti_in_casa Gol in casa
Goals_fatti_fuori_casa Gol in trasferta
Rigori_segnati Rigori segnati
Rigori_calciati Rigori calciati
Goals_subiti Gol subiti (portieri)
Cartellini_gialli Cartellini gialli
Cartellini_rossi Cartellini rossi
Autogoals Autogol
Media_voti Media voto classico
Fantamedia Media fantavoto
Quotazione_fantacalcio_classic_fine_stagione Quotazione Classic a fine stagione
Quotazione_fantacalcio_mantra_fine_stagione Quotazione Mantra a fine stagione
Fanta_valore_di_mercato_classic_fine_stagione FVM Classic a fine stagione
Fanta_valore_di_mercato_mantra_fine_stagione FVM Mantra a fine stagione

Metriche xG (Understat + Bera)

Colonna Descrizione
Expected_goals xG totale stagione
Expected_assists xA totale stagione
Non_penalty_goals Gol non da rigore
Non_penalty_expected_goals npxG totale stagione
Expected_goals_chain xGChain — xG di ogni azione in cui è coinvolto
Expected_goals_buildup xGBuildup — xG della fase di costruzione in cui è coinvolto
Expected_goals_90_minuti xG per 90 minuti
Non_penalty_expected_goals_90_minuti npxG per 90 minuti
Expected_assists_90_minuti xA per 90 minuti

SofaScore — tiri e gol

Colonna Descrizione
Partite_totali_giocate Presenze totali
Minuti_giocati Minuti giocati
Tiri_totali Tiri totali
Tiri_in_porta Tiri in porta
Tiri_fuori_porta Tiri fuori porta
Tiri_bloccati Tiri bloccati
Tiro_da_palla_inattiva Tiri da palla inattiva
Big_chances_missed Grandi occasioni mancate
Palo_o_traversa Pali o traverse colpiti
Goals_su_punizioni Gol su punizione
Goals_da_dentro_area Gol dall’interno dell’area
Goals_da_fuori_area Gol dall’esterno dell’area
Goals_di_testa Gol di testa
Goals_piede_sinistro Gol col piede sinistro
Goals_piede_destro Gol col piede destro
%_Conversione_goal % di conversione gol (gol / tiri)
%_Conversione_rigori % di conversione rigori
%_Conversione_palla_inattiva % conversione da palla inattiva

SofaScore — dribbling e creazione

Colonna Descrizione
Dribbling_riusciti Dribbling riusciti
%_Dribbling_riusciti % dribbling riusciti
Big_chances_create Grandi occasioni create

SofaScore — passaggi

Colonna Descrizione
Passaggi_totali Passaggi totali
Passaggi_precisi Passaggi precisi
Passaggi_non_precisi Passaggi imprecisi
%_Passaggi_precisi % passaggi precisi
Passaggi_precisi_nella_propria_metà_campo Passaggi precisi nella propria metà
Passaggi_precisi_nella_metà_campo_opposta Passaggi precisi nella metà avversaria
Passaggi_precisi_ultimo_terzo Passaggi precisi nell’ultimo terzo
Passaggi_chiave Passaggi chiave (portano a tiro)
Passaggi_a_assist Passaggi pre-assist
Cross_precisi Cross precisi
%_Cross_precisi % cross precisi
Palle_lunghe_precise Palle lunghe precise
%_Palle_lunghe_precise % palle lunghe precise

SofaScore — difesa e duelli

Colonna Descrizione
Contrasti_riusciti Contrasti riusciti
Intercettazioni Intercettazioni
Spazzate_difensive Spazzate difensive
Rigori_causati Rigori causati
Errori_che_portano_a_goal Errori che portano a gol
Errori_che_portano_a_tiro Errori che portano a tiro
Dribbling_subiti Dribbling subiti
Contrasti_terreni_riusciti Contrasti terreni riusciti
%_Contrasti_terreni_riusciti % contrasti terreni riusciti
Contrasti_aerei_riusciti Contrasti aerei riusciti
%_Contrasti_aerei_riusciti % contrasti aerei riusciti
Contrasti_totali_riusciti Contrasti totali riusciti
%_Contrasti_totali_riusciti % contrasti totali riusciti
Falli_subiti Falli subiti
Falli_comessi Falli commessi
Palla_persa_sotto_pressione Palla persa sotto pressione
Palla_persa Palle perse totali
Fuorigioco Fuorigioco
Rigori_ottenuti Rigori ottenuti

SofaScore — statistiche portiere

Colonna Descrizione
Porta_inviolata Clean sheet
Salvataggi Parate
Rigori_affrontati Rigori affrontati
Rigori_salvati Rigori parati
Tiri_salvati_da_dentro_area Tiri salvati dall’interno dell’area
Tiri_salvati_da_fuori_area Tiri salvati dall’esterno dell’area
Goals_subiti_da_dentro_area Gol subiti dall’interno
Goals_subiti_da_fuori_area Gol subiti dall’esterno
Uscite_di_pugno Uscite di pugno
Uscite_fuori_dalla_porta Uscite fuori dall’area
Uscite_riuscite_fuori_dalla_porta Uscite riuscite fuori dall’area
Prese_alte Prese alte
Cross_non_intercettati Cross non intercettati

Query di esempio

Export dati ML:

SELECT * FROM v_player_season_stats WHERE season_id = '2024' ORDER BY fc_fantasy_average DESC;

Confronto xG vs gol reali:

SELECT db_name, fc_role_short, fc_goals, us_xG, ROUND(fc_goals - us_xG, 2) AS overperformance, ss_goal_conversion_percentage, be_xg_90 FROM v_player_season_stats WHERE season_id = '2024' AND fc_role_short = 'A' AND fc_matches_with_vote >= 15 ORDER BY overperformance DESC;

Vista ML partita per partita

Per modelli che ragionano sul singolo match, vedi la pagina dedicata: Vista ML: player_match_stats.