CalcioPronostici
Analisi

Costruisci il tuo modello di previsione calcistica (Poisson)

Autore: Riccardo Monti
Costruisci il tuo modello di previsione calcistica (Poisson)

I dati necessari, un modello Poisson costruito passo dopo passo in una griglia completa di risultati, le correzioni da aggiungere, il backtesting walk-forward che evita il bias del futuro e l'aritmetica che dice quando un modello non vale le ore spese.

Un modello di previsione calcistica è una procedura che trasforma la cronaca delle partite in una probabilità per ogni risultato esatto, e da quella griglia in un prezzo per ogni mercato del coupon. Il cuore del modello è una distribuzione e due numeri per ogni partita: quanti gol ci si aspetta da ciascuna squadra. Tutto il resto è igiene dei dati, correzioni e test, ed è lì che la maggior parte dei modelli fatti in casa fallisce silenziosamente.

In breve.
  • Servono i risultati partita per partita con date e luoghi, non le medie di stagione. Dodici partite in casa e dodici in trasferta per club è il minimo operativo.
  • Il modello base è Poisson: due valori di gol attesi producono una griglia di risultati, e 1X2, totali e GG/NG sono tutte somme di celle in quella griglia.
  • Nella partita elaborata, la griglia dà 51,4% casa, 24,5% pareggio, 24,1% fuori casa — quote eque di 1,95, 4,08 e 4,14.
  • Backtest walk-forward o non testare affatto: qualsiasi numero calcolato sull'intera stagione contiene il risultato della partita che stai valutando.
  • Il benchmark non è il profitto ma il mercato: se le tue probabilità non sono migliori di quelle del coupon, nessun piano di puntata le salva.

Cosa deve battere il modello

Il confronto non è tra il tuo modello e la realtà, ma tra il tuo modello e il prezzo. Un coupon a tre vie di solito totalizza circa il 105%, quindi il margine è di circa cinque punti distribuiti tra gli esiti — il calcolo è spiegato nella guida al margine del bookmaker.

Questo fissa l'asticella. Per valere la scommessa, la tua probabilità deve battere quella del mercato di più del margine sull'esito che stai puntando. Essere più o meno buono come il coupon è un vero risultato, ma comunque perde soldi a un ritmo costante.

I dati di cui hai realmente bisogno

Inizia con la tabella più piccola che supporti il modello: ogni colonna in più è un'altra cosa da tenere pulita.

CampoPerché serveTrappola comune
Data e ora del calcio d'inizioOrdina i dati per i test e la ponderazione per la recenticitàOrdinare per numero di giornata invece che per data dopo i rinvii
Squadra di casa e ospiteSepara ogni dato per luogoCambi di nome e doppie grafie che creano due squadre
Gol per ogni squadraL'unica variabile di output obbligatoria del modelloRegistrare gol dei tempi supplementari o dei rigori nelle partite di coppa
CompetizionePartite di campionato e coppa si comportano diversamenteMescolare un campionato nazionale con partite europee
Tiri e gol attesi, se disponibiliUn input meno rumoroso dei gol stessiMescolare dati di due provider con definizioni diverse
Il prezzo che avresti potuto prendereTrasforma una previsione in una scommessa testabileSalvare il prezzo di oggi e fingere che fosse disponibile allora

Due stagioni di una divisione sono sufficienti per costruire il modello e un'altra per testarlo. I gol sono rumorosi — una squadra può giocare bene e perdere 0-1 — ecco perché gli input basati sulle occasioni aiutano una volta che la versione base funziona: vedi gol attesi spiegati e l'elenco più ampio di statistiche che prevedono i risultati.

Il modello base in tre passaggi

Passo uno — il livello della lega stessa. Supponiamo che la divisione abbia giocato 240 partite producendo 612 gol: 2,55 a partita. Le squadre di casa ne hanno segnati 336 e quelle in trasferta 276, quindi la base per la casa è 336 ÷ 240 = 1,40 e la base per la trasferta è 276 ÷ 240 = 1,15. Questi due numeri contengono già il fattore campo, misurato e non ipotizzato.

Passo due — quattro rapporti. Per la squadra di casa, dividi i gol segnati per partita in casa per 1,40 e i gol subiti per partita in casa per 1,15. Per gli ospiti, dividi i gol segnati in trasferta per 1,15 e i gol subiti in trasferta per 1,40. Un rapporto di 1,00 significa esattamente nella media in quel compito.

Passo tre — due valori di gol attesi. Moltiplica, mai sommare. Supponiamo che la squadra di casa abbia un rapporto di 1,30 in attacco in casa e gli ospiti 0,91 in difesa in trasferta; il valore per la casa è 1,40 × 1,30 × 0,91 = 1,65. Se gli ospiti hanno 1,05 in attacco in trasferta e i padroni di casa 0,87 in difesa in casa, il valore per la trasferta è 1,15 × 1,05 × 0,87 = 1,05.

La griglia dei risultati, e cosa ne esce

I conteggi dei gol seguono una forma di Poisson abbastanza fedele da poter valutare: la probabilità di esattamente k gol quando μ sono attesi è e−μ × μk ÷ k fattoriale, la formula illustrata nella guida alle linee Under/Over. Per μ = 1,65 le probabilità della squadra di casa per 0, 1, 2, 3 e 4 gol sono 19,2%, 31,7%, 26,1%, 14,4% e 5,9%. Per μ = 1,05 le probabilità degli ospiti sono 35,0%, 36,7%, 19,3%, 6,8% e 1,8%.

Moltiplica ogni valore della casa per ogni valore degli ospiti e ottieni la griglia. I valori sono percentuali; le righe sono i gol in casa, le colonne i gol in trasferta.

Casa / Trasferta01234
06,727,063,701,300,34
111,0911,646,112,140,56
29,159,615,041,770,46
35,035,282,770,970,25
42,082,181,140,400,11

Queste venticinque celle coprono il 96,9% degli esiti, quindi calcola fino a otto o dieci gol prima di sommare. Ogni mercato è poi una somma di celle: sotto la diagonale è una vittoria in casa, la diagonale un pareggio, sopra la diagonale una vittoria fuori casa.

Sommando l'intera griglia si ottiene 51,4% casa, 24,5% pareggio e 24,1% fuori casa. Le quote eque sono i reciproci: 1 ÷ 0,514 = 1,95, 1 ÷ 0,245 = 4,08, 1 ÷ 0,241 = 4,14. La stessa griglia dice che entrambe le squadre segnano il 52,5% delle volte (quota equa 1,90) e che tre o più gol arrivano il 50,6% delle volte (quota equa 1,97), quindi un solo calcolo valuta l'intera partita.

Esempio. Il coupon mostra 1,85 / 3,60 / 4,40. Convertendo in percentuali si ottiene 54,1% + 27,8% + 22,7% = 104,6%, quindi il libro porta un margine del 4,6% — il metodo è spiegato in convertire le quote in probabilità. Rispetto alla tua griglia, il prezzo della casa è caro: 0,514 × 1,85 − 1 = −4,9%, un passo. Il prezzo della trasferta no: 0,241 × 4,40 − 1 = +6,0%, che su una scommessa di 5 € è 0,30 € di valore atteso. Su quaranta scommesse di questo tipo a 5 € — 200 € puntati — si tratta di circa 12 €, in una sequenza molto irregolare.

Correzioni che vale la pena aggiungere, in ordine

  1. Ponderazione per la recenticità. Una partita dello scorso ottobre non dovrebbe contare quanto una di marzo. Pesa ogni partita con un fattore di decadimento — dimezzare ogni trenta partite circa è un buon inizio — piuttosto che un taglio netto a dieci partite.
  2. Contrazione per campioni piccoli. Una squadra promossa con sei partite non dovrebbe portare un rapporto di attacco di 1,60. Con k partite e una costante di 10, prendi k ÷ (k + 10) del rapporto grezzo e il resto dalla media della lega.
  3. Correzione per i punteggi bassi. Il Poisson indipendente sottostima leggermente 0-0 e 1-1 e sovrastima 1-0 e 0-1, perché in una partita reale i due punteggi non sono indipendenti. Ritoccare queste quattro celle è il primo raffinamento standard.
  4. Divisione per competizione. Le partite di coppa, le partite ininfluenti e quelle europee si comportano diversamente: modellale separatamente o escludile.
  5. Override manuali, con parsimonia. Un titolare assente confermato (attaccante o portiere) merita un aggiustamento. Due override per partita è un modello con un assistente; dieci è una persona che indovina con passaggi extra.

Backtesting senza look-ahead bias

Il look-ahead bias è qualsiasi informazione nel tuo test che non avresti avuto al momento della scommessa. È silenzioso, lusinga sempre, ed è il motivo per cui la maggior parte dei modelli fatti in casa sembra eccellente sui dati storici e perde soldi in tempo reale.

ScorciatoiaCosa perdeEffetto sul risultato
Valutazioni costruite sull'intera stagioneIl risultato della partita che stai valutandoLusinga pesantemente; il modello conosce a metà la risposta
Testare sugli stessi dati usati per scegliere le soglieLa tua stessa retrospettiva su quali regole hanno funzionatoOgni soglia sembra ottimale
Usare i prezzi di chiusura come prezzo presoInformazioni arrivate dopo la tua scommessaSovrastima il margine, poiché i prezzi di chiusura sono più affilati
Eliminare le partite con dati mancantiDi solito le partite sospese e straneRimuove esattamente i risultati che fanno male
Ordinare per giornata invece che per ora di calcio d'inizioPartite rinviate giocate dopoPiccolo ma sistematico, e sempre a tuo favore

La cura è il test walk-forward. Ordina ogni partita per ora di calcio d'inizio; per ogni partita ricostruisci le valutazioni dalle partite terminate prima, valutala, registra la scommessa che la regola avrebbe piazzato e il prezzo disponibile in quel momento, e vai avanti. Tieni una stagione intatta finché il modello non è definitivo, e tratta il primo risultato come quello reale.

Importante. Conta ogni scommessa generata dalla regola, incluse quelle da cui ti saresti tirato indietro. Un backtest che esclude silenziosamente le partite non è un test del modello, ma della tua memoria, e la stessa disciplina si applica al registro delle tue scommesse reali — vedi tracciamento delle scommesse.

Calibrazione: le percentuali sono oneste?

Il profitto è una misura lenta e rumorosa di un modello. La precisione è più veloce: prendi la probabilità che hai dato, sottrai 1 se l'evento si è verificato e 0 altrimenti, e eleva al quadrato la differenza. Più basso è meglio, e la tua media può essere confrontata direttamente con quella del mercato.

PartitaModelloMercatoRisultatoErrore² modelloErrore² mercato
155%50%Vinta0,20250,2500
240%45%Persa0,16000,2025
362%58%Vinta0,14440,1764
430%35%Persa0,09000,1225
548%52%Vinta0,27040,2304
625%22%Persa0,06250,0484

Il totale del modello è 0,9298 su sei partite, una media di 0,155; quello del mercato è 1,0302, una media di 0,172. In questo pugno di partite il modello è più preciso — e sei partite non decidono nulla, che è il punto. Quanto tempo serve davvero per un verdetto è spiegato in varianza e dimensione del campione.

Esegui la stessa misura anche per fasce. Se tutto ciò che valuti al 60% vince circa il 60% delle volte, il modello è calibrato; se la fascia di confidenza rende costantemente meno, le valutazioni sono forzate.

Quando un modello non vale la pena di essere costruito

Conta le ore onestamente: quaranta per costruire una prima versione, poi due o tre alla settimana per tenere aggiornati i dati. Supponiamo che produca venti scommesse qualificate a settimana a 5 € con un margine reale del 3%. Sono 20 × 5 € = 100 € di giro e 3 € a settimana di valore atteso — circa 1 € l'ora di manutenzione, prima di un singolo mese in perdita.

Tre cose lo rendono peggiore: mercati che non puoi modellare, dove i tuoi dati sono più sottili di quelli dell'operatore; leghe sotto forte attenzione professionale, dove il prezzo contiene già ciò che la tua griglia sa; e il successo stesso, perché un conto che continua a battere il prezzo vede tagliare le puntate — vedi conti limitati.

Un modello vale la pena di essere costruito se vuoi un numero con cui discutere piuttosto che una sensazione, e puoi accettare che il suo prodotto principale siano i rifiuti. Per l'output senza la manutenzione, l'analisi strutturata delle singole partite ti porta gran parte della strada — vedi come analizzare una partita e le divisioni sulla pagina dei tornei.

FAQ

Servono competenze di programmazione per costruirlo?

No per la versione sopra. Un foglio di calcolo con una riga per partita, quattro valutazioni per club e una griglia di venticinque celle fa tutto ciò che è descritto qui. Il codice diventa necessario per il test walk-forward su più stagioni, perché ricostruire le valutazioni a mano prima di ogni partita è impraticabile.

Perché il modello è così spesso in disaccordo con il mercato?

Di solito perché manca informazioni piuttosto che perché trova valore. Assenze, cambio di allenatore, campo neutro e turnover prima di una partita di coppa sono tutti nel prezzo e nessuno nella griglia. Tratta un grande divario come un invito a controllare gli input, e passa oltre quando non puoi spiegare da dove viene.

Dovrei usare i gol attesi invece dei gol reali come input?

Una volta che la versione base funziona, sì. I gol sono un campione piccolo di un processo rumoroso e la qualità delle occasioni si stabilizza più velocemente, quindi le valutazioni basate sui gol attesi si muovono meno su un punteggio anomalo. Esegui entrambe per una stagione e confronta i loro errori quadratici prima di cambiare.

Quanta storia dovrebbero usare le valutazioni?

Circa una stagione e mezza con decadimento, piuttosto che una finestra fissa. Troppo breve e un 4-0 riscrive una valutazione; troppo lungo e stai descrivendo una squadra che non esiste più. Stringi verso la media della lega ogni volta che meno di otto partite nel luogo rilevante supportano un valore.

Questo articolo è solo a scopo informativo e non costituisce un invito al gioco d'azzardo. Le scommesse comportano il rischio di perdere denaro — non puntare mai più di quanto puoi permetterti di perdere. 18+. Se il gioco smette di essere un intrattenimento, leggi la nostra guida al gioco responsabile e cerca aiuto.
RM
Riccardo Monti
Esperto di calcio con specializzazione in tornei europei e mondiali

Riccardo Monti segue da oltre dieci anni i principali tornei calcistici europei e mondiali, con un'attenzione particolare alla Champions League, alla Coppa del Mondo e alla Premier League inglese. Nelle sue analisi combina lo studio della forma attuale delle squadre, le scelte tattiche degli allenatori e i dati statistici come i tiri in porta e il possesso palla. Il suo approccio alle previsioni si basa su un'osservazione attenta del calendario e delle rotazioni, senza mai trascurare il contesto di ogni partita.

Tutti gli articoli dell’autore →