Strumento per la stima della formazione FantaF1, basato su dati reali di Formula 1 e sulle regole di punteggio dell'app GPK Games.
Ho sviluppato questo progetto come supporto per le mie scelte. Da ogni weekend di gara scarico i dati ufficiali (prove libere, qualifica, gara) tramite la libreria FastF1, stimo i punti FantaF1 di ogni pilota e seleziono la squadra ottimale entro il budget di 400 crediti. Ho inoltre sperimentato, a scopo dimostrativo, un modello Random Forest sui risultati di GP passati.
Il metodo basato sulle prove libere è stato validato sul campo: all'Ungheria 2026 la formazione consigliata mi ha portato al primo posto del mio fantaf1.
- Download dei dati ufficiali F1 (FP3, qualifica, sprint, gara) con cache locale, per non riscaricare i dati a ogni esecuzione.
- Calcolo dei punti FantaF1 secondo il regolamento GPK Games: punti di qualifica e gara, bonus per il miglior tempo nelle prove libere, per aver battuto il compagno di squadra e per aver battuto il leader del mondiale.
- Ottimizzazione della formazione (4 piloti + 1 team) entro il budget di 400 crediti, con scelta automatica del capitano (punteggio raddoppiato).
- Modello Random Forest (dimostrativo) per stimare i punti attesi di un pilota.
Installa le dipendenze:
pip install -r requirements.txtGenera la formazione consigliata per un GP (per default l'Ungheria):
python fantaf1.pyIl risultato dipende dai dati FP3 disponibili nel momento dell'esecuzione.
Eseguendo genera_formazione("Belgium") è possibile cambiare circuito.
Per ripercorrere il flusso completo, è disponibile il notebook
notebooks/01_fantaf1_prediction.ipynb.
├── fantaf1.py # modulo principale (formazione FP3 + Random Forest)
├── notebooks/
│ └── 01_fantaf1_prediction.ipynb # percorso completo narrato
├── data/
│ └── prezzi_fantaf1_2026.csv # prezzi pilota/team della stagione corrente
├── legacy/ # bozze e versione originale del notebook
├── requirements.txt
└── LICENSE
- I punteggi replica il regolamento dell'app GPK Games ed è mantenuto identico alla versione che ho validato sul campo.
- I prezzi di mercato cambiano a ogni giornata di gioco e vanno aggiornati nel file CSV.
- Il dataset del modello Random Forest è piccolo (5 GP): il risultato è da considerare dimostrativo, non uno strumento predittivo robusto.
- La stima della gara dalle prove libere non tiene conto di strategia, meteo o incidenti: è un'approssimazione, non una previsione certa.
- Le prime esecuzioni richiedono connessione Internet per scaricare i dati
(a meno della cache
f1_cache/).
FastF1, Python (pandas, numpy), scikit-learn, Jupyter.
MIT (vedi LICENSE). Il progetto è a scopo personale; non è affiliato né
sponsorizzato da GPK Games o dalla Formula 1.



