Come si costruisce un mercato in cui si comprano squadre di calcio, e come si verifica che non sia rotto.
L'idea è semplice: ogni squadra ha una quotazione, sale se vince, scende se perde, e l'utente compra e vende con un budget virtuale. La difficoltà non è scrivere la formula. È che quasi tutte le formule ragionevoli sono rotte, e lo si scopre solo facendole girare sui risultati veri.
Il fallimento tipico non è che il gioco sia noioso: è che qualcuno trova la strategia che vince sempre, la pubblica, e nel giro di tre settimane il gioco è finito. Il primo motore che ho testato aveva esattamente questo difetto: comprare ogni giornata la squadra favorita rendeva il 108% e vinceva 30 stagioni su 30.
Un motore è corretto quando nessuna classe osservabile di squadre — le big, le piccole, i favoriti di giornata, quelle appena salite, quelle appena scese — ha rendimento atteso diverso da zero. L'abilità deve stare nel prevedere le sorprese, non nel leggere la classifica.
Se ogni squadra apre a 100 monete, le prime otto giornate sono una convergenza garantita verso il valore reale: si comprano le big e si incassa senza rischio. Le quotazioni di apertura devono già contenere le aspettative.
Il modello le costruisce da tre segnali: i punti per partita della stagione precedente (45%), una media pesata sulle ultime tre stagioni (20%) e il logaritmo del valore della rosa (35%). Le neopromosse partono da un prior equivalente a circa 40 punti, con un malus prudenziale del 7%.
La quota non si muove sul risultato ma sullo scarto fra il risultato e l'attesa. Una squadra che vince contro l'ultima in classifica ha fatto quello che il mercato già prezzava: la quota non si muove. La stessa squadra che pareggia perde valore.
Sopra questo nucleo agiscono quattro forze: una leva che rende le squadre economiche più volatili (non più redditizie), i bonus narrativi per rimonte e gol nel finale, un richiamo verso il valore fondamentale implicito nell'Elo, e l'impatto della domanda — se molti comprano l'Inter, l'Inter costa di più. Quest'ultimo ingrediente è ciò che distingue un mercato da una tabella di pagamenti.
Tutte le squadre a 100 monete: le prime otto giornate diventano un pasto gratis sulle big. Risolto con il modello di apertura basato su classifica e valore rosa.
Le favorite vincono con più gol per definizione: premiare il numero di gol grezzo regala rendimento atteso positivo a chi compra le big. Va misurato contro l'attesa.
Sembra generosa verso le piccole, in realtà è un drift garantito: nel primo test sui dati veri tutte le big crollavano e tutte le piccole raddoppiavano. La leva deve amplificare la sorpresa in entrambe le direzioni.
L'Elo si comprime durante la stagione: agganciarci il fair value trascina tutte le quote verso la media a prescindere dai risultati. La mappatura corretta è per ranghi.
Corretto in teoria — la sorpresa è a media zero — e disastroso come gioco: chi di calcio capisce si sente preso in giro. Risolto con le cedole a stacco.
In Ligue 1 il PSG compare come «Paris Saint-Germain» in tre stagioni e «Paris Saint-Germain FC» nelle altre: il modello lo trattava come una neopromossa a stagioni alterne. Da solo questo mandava fuori banda tutte le metriche del campionato.
Prima della partita la quota scende dell'importo atteso della cedola; dopo la partita chi possiede la quota incassa quella realizzata. Il valore atteso resta zero — nessun arbitraggio — ma l'esperienza dell'utente diventa «la mia squadra ha vinto, mi hanno accreditato monete». È la differenza fra un modello corretto e un gioco che si ha voglia di riaprire il lunedì.
Sette archetipi di giocatore competono nello stesso mercato per quaranta stagioni simulate. Il criterio non è che vincano i più bravi: è che nessuno domini e che il giocatore casuale perda. Se il random sta a metà classifica, le decisioni non contano e il gioco è una lotteria.
I parametri sono stati calibrati sulla sola Serie A: potevano essere sovradattati. La verifica applica esattamente gli stessi valori a Premier League, Liga, Bundesliga e Ligue 1 — undici stagioni ciascuno, oltre ventunmila partite — senza ritoccare nulla tranne un parametro dichiaratamente locale, l'ampiezza delle quotazioni di apertura.
| campionato | spread | distorsione di prezzo | distorsione sui favoriti | auto correlazione | informatività | volatilità | abilità |
|---|---|---|---|---|---|---|---|
| Serie A | 0.54 | -0.008 | +0.0010 | +0.018 | 0.95 | 4.1% | +13.9% |
| Premier League | 0.36 | -0.010 | +0.0006 | -0.030 | 0.88 | 4.2% | +13.5% |
| La Liga | 0.36 | -0.012 | +0.0005 | -0.047 | 0.84 | 4.0% | +12.2% |
| Bundesliga | 0.30 | -0.017 | -0.0016 | -0.043 | 0.86 | 4.2% | +11.4% |
| Ligue 1 | 0.30 | -0.036 | +0.0002 | -0.056 | 0.88 | 4.1% | +9.7% |
Risultato controintuitivo dello stesso esercizio: i campionati con un padrone stabile richiedono le quotazioni di apertura più strette. Ligue 1 e Bundesliga stanno a 0,30, la Serie A a 0,54. Il dominio del PSG e del Bayern è già interamente scontato nei tre segnali del modello — che ogni anno concordano tutti sulla stessa squadra — e allargare ulteriormente le quote finisce per sovraprezzarli.
Sul campione corto l'autocorrelazione dei prezzi risultava nulla, cioè perfetta. Su undici stagioni e oltre trentamila osservazioni si vede che un residuo negativo di circa −0,03 è strutturale. Non è un bug da correggere: è la misura di quanto vantaggio ha chi compra ciò che è appena sceso. Un margine reale ma modesto, che va scoperto e tenuto con disciplina — non una formula che risolve il gioco. La differenza fra le due cose è tutta nella dimensione del numero, e serviva il campione lungo per vederla.
Provando a eliminarlo si scopre che la relazione fra la reattività del rating Elo e l'autocorrelazione ha la forma di una U: con un rating troppo lento è il valore fondamentale congelato a riportare indietro i prezzi, con uno troppo veloce è il rating stesso a sovra-reagire. Il minimo cade attorno a K = 10, ma a quel valore l'ampiezza delle quotazioni di apertura necessaria esplode fino a 26 volte fra la prima e l'ultima squadra. Curare il sintomo faceva peggio della malattia.
Misurato su 920 coppie di stagioni consecutive nei cinque campionati: una squadra che quest'anno sta un punto per partita sopra la media, l'anno prossimo starà a 0,81 punti sopra. È il coefficiente di regressione verso la media del calcio europeo, e serve ogni volta che si deve prezzare una stagione che non è ancora cominciata.
Il motore non serve solo a non essere rotto: serve a raccontare. Ecco cosa avrebbe fatto guadagnare e cosa avrebbe rovinato, in undici stagioni dei cinque campionati.
| Le migliori stagioni | |||
|---|---|---|---|
| +130% | Leicester City | 2015-16 · Premier League | quotata 14ª, chiusa 1ª |
| +121% | Bayer Leverkusen | 2023-24 · Bundesliga | quotata 6ª, chiusa 1ª |
| +117% | VfB Stuttgart | 2023-24 · Bundesliga | quotata 16ª, chiusa 2ª |
| +114% | Chelsea FC | 2016-17 · Premier League | quotata 9ª, chiusa 1ª |
| +92% | Girona FC | 2023-24 · La Liga | quotata 10ª, chiusa 3ª |
| +89% | Lille OSC | 2018-19 · Ligue 1 | quotata 15ª, chiusa 2ª |
| Le peggiori | |||
| -51% | Monza | 2024-25 · Serie A | quotata 12ª, chiusa 20ª |
| -50% | AS Monaco | 2018-19 · Ligue 1 | quotata 2ª, chiusa 17ª |
| -50% | Parma | 2020-21 · Serie A | quotata 10ª, chiusa 20ª |
| -49% | Montpellier HSC | 2024-25 · Ligue 1 | quotata 12ª, chiusa 18ª |
| -46% | Sheffield United | 2023-24 · Premier League | quotata 20ª, chiusa 20ª |
| -46% | FC Schalke 04 | 2020-21 · Bundesliga | quotata 11ª, chiusa 18ª |
La stagione più redditizia di tutto il campione e la settima peggiore appartengono alla stessa squadra, ad anni consecutivi. Nel 2015/16 il Leicester apre quattordicesimo per quotazione a 74 monete, vince la Premier League e rende +130%. L'agosto dopo apre primo, a 193 monete, chiude dodicesimo e perde il 46%. Nessuna delle due cose è un errore del modello: è esattamente ciò che deve succedere quando il prezzo incorpora l'anno precedente e il campo no.
Le categorie non si comportano allo stesso modo, e la forma è a U: le costosissime e le economiche rendono più delle squadre di metà classifica. È il motivo per cui la distorsione misurata in modo lineare risulta nulla pur essendoci struttura — una cosa che si vede solo guardando i gruppi separatamente.
| Chi ha fatto più posti di quanti ne dicesse il prezzo | |||
|---|---|---|---|
| +15 | RB Leipzig | 2016-17 · Bundesliga | quotata 17ª, chiusa 2ª |
| +14 | VfB Stuttgart | 2023-24 · Bundesliga | quotata 16ª, chiusa 2ª |
| +13 | Leicester City | 2015-16 · Premier League | quotata 14ª, chiusa 1ª |
| +13 | Wolverhampton Wanderers | 2018-19 · Premier League | quotata 20ª, chiusa 7ª |
| +13 | Granada CF | 2019-20 · La Liga | quotata 20ª, chiusa 7ª |
| +13 | Lille OSC | 2018-19 · Ligue 1 | quotata 15ª, chiusa 2ª |
| Chi ne ha persi di più | |||
| -15 | AS Monaco | 2018-19 · Ligue 1 | quotata 2ª, chiusa 17ª |
| -13 | Espanyol Barcelona | 2019-20 · La Liga | quotata 7ª, chiusa 20ª |
| -13 | Girona FC | 2024-25 · La Liga | quotata 3ª, chiusa 16ª |
| -13 | AS Saint-Étienne | 2019-20 · Ligue 1 | quotata 4ª, chiusa 17ª |
| -12 | Tottenham Hotspur | 2024-25 · Premier League | quotata 5ª, chiusa 17ª |
| -12 | 1. FC Köln | 2017-18 · Bundesliga | quotata 6ª, chiusa 18ª |
Undici stagioni consecutive, riacquistando ogni anno alla quotazione di apertura. Il risultato dice una cosa che al tifoso suona strana e all'investitore no: vincere non paga, se eri dato per vincente. La Juventus ha messo in fila cinque scudetti dentro questa finestra e ha moltiplicato per 2,3, meno di Roma. L'Inter, che ha alternato disastri e trionfi partendo spesso sottovalutata, ha moltiplicato per quasi 9.
All'altro capo della classifica ci sono i club che hanno passato il decennio a deludere le proprie quotazioni: il Southampton ha lasciato per strada il 68% del capitale, la Sampdoria il 57%, il Genoa il 27%. Il caso del Genoa è istruttivo perché la media non racconta una discesa continua: nel 2023/24, quotato diciottesimo, ha chiuso undicesimo e reso il 50% in una sola stagione. È il profilo di rendimento di chi viene sistematicamente prezzato male in entrambe le direzioni.
Oggi le probabilità pre-partita vengono stimate con l'Elo. Sostituirle con le quote reali (i CSV storici sono gratuiti) rende il calcolo della sorpresa molto più preciso.
In Bundesliga e Ligue 1 la strategia contrarian vince un po' troppo spesso. Entrambi i campionati hanno 18 squadre invece di 20: meno diversificazione possibile, quindi edge di mean reversion più concentrato. Va riverificato con più ripetizioni prima di concludere che sia un problema reale.
Lo stacco delle cedole fa scendere le quotazioni di circa il 60% nel corso della stagione, compensato in contanti. Matematicamente corretto, visivamente brutto: mostrare sempre il rendimento totale e mai la quota nuda risolve il problema senza toccare il modello.
Avendo ampiezze diverse per campionato, «150 monete» significa cose diverse in Serie A e in Ligue 1. Se resta l'idea del budget unico distribuito sui cinque campionati, serve un fattore di conversione dichiarato.