EN summary. A viral Italian YouTube video argued that Crazy Time is a perfectly honest wheel wrapped in a predatory design. I went to check its claims against live data, then tried to build the predictor the video says cannot exist. It cannot. What came out instead is a measuring instrument, and one finding that has nothing to do with gambling: checking accumulating data 30 times at p<0.05 raises false alarms from 5% to 28%.
Questo repository non è un prodotto. È il resoconto di un esperimento partito male e finito bene. La parte che vale non è quella che cercavo.
Il 30 luglio 2026 Ariele D'Amici pubblica "IL CRAZY TIME E' UNA TRAPPOLA (Ecco Come Funziona Davvero)", venti minuti su come il gioco d'azzardo più diffuso in streaming svuoti il conto restando perfettamente legale.
La tesi centrale è controintuitiva e ben costruita: la ruota è onesta. È fisica, certificata, nessuno la controlla. Ed è proprio per questo che il sistema funziona, perché non ha bisogno di barare: la spoliazione sta nel disegno, non nel giro.
Il video smonta cinque meccanismi.
1. La matematica stampata sulla ruota. Le 54 caselle non sono distribuite a caso: il numero 1 ne occupa 21, il Crazy Time una sola. Il margine del banco sembra ridicolo, il 4% circa, ma va moltiplicato per 45 giri l'ora. Non conta quanto ti prendono, conta quante volte.
2. Le perdite travestite da vincite. Il numero 1 riempie quasi metà ruota e paga 1:1, quindi ti fa "vincere" di continuo mentre il saldo scende. I ricercatori di Waterloo lo chiamano losses disguised as wins. Il video lo collega a Skinner e al rinforzo intermittente: non è il premio a creare dipendenza, è il fatto che sia imprevedibile.
3. L'ingegneria del tempo. La finestra per puntare è calibrata per farti cliccare senza farti pensare (Kahneman e i due sistemi), il feed laterale mostra solo le vincite e mai le perdite, il rosso è ovunque. Il tutto è travestito da game show del sabato sera invece che da tavolo verde.
4. Gli streamer. Le clip virali, i saldi finti, il Decreto Dignità del 2018 che vieta la pubblicità al gioco d'azzardo, le multe AGCOM a Meta e X.
5. La barra dello storico. Il colpo di grazia: quella lista di risultati sempre a schermo sembra un servizio, ma serve a innescare la fallacia dello scommettitore. Il video chiude su Montecarlo, 18 agosto 1913, ventisei neri di fila.
Video: https://youtu.be/G0BfO6aREVM
Due cose, in ordine.
Prima ho provato a costruire esattamente lo strumento che il video dice impossibile: un predittore che legge lo storico e capisce "quando è calda" una casella. Non esiste, non per una scelta di prudenza. La ruota è fisica e senza memoria, quindi la probabilità del prossimo giro resta identica qualunque cosa sia uscita prima. Un predittore hot/cold è la fallacia dello scommettitore travestita da software.
Poi ho costruito l'unica cosa che una domanda vera ce l'ha. Le ruote fisiche possono avere bias reali: Joseph Jagger a Montecarlo, nel 1873, ci costruì una fortuna trovandone uno. Quella è falsificabile: questo repository la misura.
Ho preso i numeri del video e li ho confrontati con i dati reali di un tavolo live. La maggior parte regge: è notevole per un video divulgativo.
La distribuzione delle 54 caselle è esatta. 21 + 13 + 7 + 4 + 4 + 2 + 2 + 1, verificabile contando i segmenti.
Gli RTP per casella sono quelli ufficiali Evolution. Crazy Time 94,41%, Pachinko 94,33%, il numero 1 al 96,08%.
L'aritmetica del margine tiene. Dieci euro a giro per 45 giri fanno 450 euro puntati: il 4,5% se ne porta via venti l'ora.
Le perdite travestite da vincite sono un fenomeno documentato, applicato correttamente. Ho quantificato: con la puntata tipica spalmata sui bonus, l'83,33% dei giri paga qualcosa mentre il saldo scende. Non è una stima, sono i 45 segmenti dei numeri su 54.
Skinner, Kahneman, Decreto Dignità, multe AGCOM: tutto in piedi.
La finestra per puntare. Il video dice quattro o cinque secondi. Su Crazy Time sono circa tredici. È l'imprecisione più costosa, perché tutta l'argomentazione su Kahneman poggia su quel numero: gonfiarlo di tre volte indebolisce il punto invece di rafforzarlo. Il ragionamento reggeva anche a tredici secondi.
La selezione dei bonus. "Il momento più eccitante è quello dove ti fregano di più" funziona citando Crazy Time (94,41%) e Pachinko (94,33%), ma tace Cash Hunt (95,78%) e Coin Flip (95,70%), che sono praticamente allineati alla base. La tesi è direzionalmente vera, la selezione dei dati no.
Montecarlo, una probabilità su 66 milioni. È la cifra che circola, calcolata come se la roulette fosse una moneta equa. Con lo zero della roulette francese la probabilità reale è circa una su 137 milioni.
"Il gioco d'azzardo più giocato del pianeta." È il game show live più giocato. Le slot nel complesso non sono nemmeno vicine.
"Produci dopamina." Gli studi di Waterloo misuravano conduttanza cutanea e battito cardiaco, non dopamina.
Nessuno di questi errori è in malafede, ma vanno tutti nella stessa direzione: rendere il numero più drammatico di quanto già fosse. In un video sulla manipolazione, la cosa merita di essere notata.
1. Non esiste modo di guadagnare: non è questione di strategia. Ogni casella ha valore atteso negativo. Il valore atteso è additivo: l'EV di una combinazione di puntate è la media pesata degli EV singoli, quindi nessuna combinazione di puntate perdenti dà un risultato positivo. Non è un limite dei dati: è algebra. Chiude in un colpo tutta la classe di idee "e se puntassi X insieme a Y".
| Casella | Margine del banco | Costo orario (20 € a giro, 45 giri) |
|---|---|---|
| 10 | 3,70% | −33,30 € |
| 1 · 2 · 5 | 3,92% | −35,28 € |
| Cash Hunt | 4,22% | −37,98 € |
| Coin Flip | 4,30% | −38,70 € |
| Crazy Time | 5,59% | −50,31 € |
| Pachinko | 5,67% | −51,03 € |
| spalmata sui bonus | 4,69% | −42,22 € |
Le due caselle col moltiplicatore più alto sono le due peggiori.
2. Il moltiplicatore dei bonus non è un extra sopra l'RTP: è l'RTP. Cinque euro sul Crazy Time a ogni giro. Esce una volta ogni 54 giri, quindi per vederlo spendi 270 euro. Quando esce paga in media 51 volte la puntata, cioè 254,91 euro. Netto: −15,09 euro. Il 51x è grosso perché deve compensare 54 giri persi, ma manca del 5,59%.
3. L'RTP pubblicizzato non è quello che vedi in sessione. La sola ruota rende fra il 72% e l'81%. L'RTP ufficiale del 96% circa include il Top Slot, che colpisce la tua casella l'1,2% dei giri. Il 96% è una media di lungo periodo dominata da eventi rari. Verifica indipendente: il moltiplicatore medio implicito del Top Slot esce intorno a 21x, dentro il range documentato che va da 2x a 50x.
4. Le scelte dentro i bonus sono equivalenti. Sono gli unici due punti in cui una decisione del giocatore entra nel risultato: la posizione nel Cash Hunt (108 caselle) e il flapper nel Crazy Time (3).
- Simboli Cash Hunt: dispersione di lungo periodo dell'1,29%, con nove simboli fra 24,62x e 24,94x. Nella finestra osservata il simbolo "F" segnava +27,9%: se fosse stato reale avrebbe implicato un RTP del 122,8%, cioè un gioco favorevole al giocatore.
- Flapper Crazy Time: dispersione di lungo periodo del 2,58%.
- Le 108 posizioni: le medie andavano da 15,9x a 76,0x, che sembra un abisso.
Simboli e posizioni sono però due affettature indipendenti degli stessi
moltiplicatori, quindi
Var(media gruppo) = Var(mult)/npermette a una di prevedere l'altra. Previsto 10,17, osservato 9,61, rapporto 0,94. Nessun effetto posizione, senza assumere nulla sulla forma della distribuzione.
5. Il campo "hot" dell'API è lo scarto dal teorico.
Il fornitore dei dati espone un hotFrequencyPercentage a ogni livello: ruota,
simboli, flapper. È esattamente (osservato − teorico) / teorico, verificato su
tutte e otto le caselle con uno scarto massimo di 0,13 punti. La barra dello
storico che il video smonta è stata rivenduta come campo JSON.
6. La ruota non mostra scarti, ma non li mostrerebbe comunque. Chi-quadro 7,30 su 7 gradi di libertà, p = 0,398 su 439 giri. Solo che con 439 giri il Crazy Time dovrebbe essere truccato di oltre il 110% per essere rilevabile. Senza analisi di potenza, "non ho trovato niente" è una frase vuota.
Questa è la parte per cui il repository esiste: non parla di gioco d'azzardo.
La regola standard è "se p è sotto 0,05 ho trovato qualcosa". Vale per un'occhiata sola. Guardando dati che si accumulano trenta volte, si danno al caso trenta occasioni di ingannare.
Ho generato 100 campagne di monitoraggio su ruote costruite eque, ciascuna con 30 letture successive.
| Metodo | Falsi allarmi su ruote eque |
|---|---|
| p-value grezzo, 30 sbirciate | 28 / 100 |
| Fattore di Bayes | 1 / 100 |
| Alpha-spending O'Brien-Fleming | 0 / 100 |
Il video mostra come la barra dello storico induca a vedere schemi dove non ce ne sono. Questo è lo stesso errore commesso da chi i dati li analizza di mestiere, con gli strumenti giusti e le migliori intenzioni. Qualunque cruscotto aperto ogni giorno per decidere se una modifica ha funzionato ha esattamente questo problema.
Il numero è riproducibile: npm run selftest.
L'endpoint usato (RapidAPI, piano gratuito) impone limiti che hanno plasmato lo strumento più di qualunque scelta progettuale.
- 30 richieste al mese, non al giorno. Niente polling, niente ricostruzione della sequenza giro per giro.
- Aggregati su finestra mobile di 439 giri circa, pari a dieci ore, non lo storico. Nessun test sull'ordine temporale è possibile, perché l'ordine nei dati non c'è.
- Nessun identificativo di tavolo, regione, valuta o studio. Evolution gestisce più tavoli Crazy Time, quindi l'analisi di equità vale per un tavolo, non necessariamente per quello su cui giocheresti. I conti economici invece valgono ovunque, perché dipendono dai 54 segmenti e dagli RTP ufficiali.
- La dimensione della finestra varia, osservata fra 422 e 439, quindi la
semantica esatta non è documentata né verificabile dall'esterno. Sommare
letture sovrapposte conterebbe gli stessi giri due volte:
pool()scarta le letture più vicine della durata della finestra.
| Obiettivo | Frequenza | Richieste al mese |
|---|---|---|
| Equità della ruota | 6 a settimana | ~26 |
| Risoluzione oraria (dealer signature) | 1 ogni 2,4 ore | ~296 |
| Quasi real-time | 1 ogni 10 minuti | ~4.300 |
| Sequenza giro per giro | 1 ogni 80 secondi | ~32.400 |
Il modulo orario è scritto e si accende da solo quando i dati hanno la
risoluzione necessaria. Finché non ce l'hanno, hours rifiuta di produrre numeri
e spiega cosa manca. Uno strumento che risponde sempre abitua a fidarsi di numeri
che non dovrebbero esistere.
npm install
# Non richiedono chiave API: girano sui dati inclusi nel repository
npm run ev # quanto costa ogni puntata
npm run bonus # le scelte dentro i bonus contano?
npm run analyze # equità, Bayes, equivalenza, correzione sequenziale
npm run hours # analisi per ora del giorno, con cancello sulla risoluzione
npm run backtest # cinque strategie sulla stessa sequenza di giri
npm run selftest # valida il motore statistico su verità note
npm run dashboard # http://localhost:8321
# Richiede una chiave RapidAPI in .env.local
# CRAZYTIME_RAPIDAPI_KEY=...
npm run snapshot # 1 richiesta: scarica, salva e analizza una finestraLa dashboard mostra una tabella sola: quanto costa ogni casella. Legge solo la cache su disco, non chiama mai l'API.
npm run selftest esegue 25 controlli. Le primitive statistiche sono
verificate contro valori tabulati, ma la parte che conta è il comportamento su
verità note: su 40 ruote eque il motore deve tacere, con falsi allarmi
intorno al 5%; su ruote truccate costruite apposta deve sparare; il cancello
orario deve rifiutare snapshot giornalieri e accettare letture orarie.
Un rilevatore che non spara mai è inutile quanto uno che spara sempre.
| File | Contenuto |
|---|---|
src/wheel.ts |
i 54 segmenti, payout, RTP ufficiali, normalizzazione nomi |
src/stats.ts |
chi-quadro, normale, Wilson, Holm, RNG, analisi di potenza |
src/evidence.ts |
fattore di Bayes, TOST, alpha-spending O'Brien-Fleming |
src/bonus.ts |
equivalenza delle scelte nei bonus, griglia posizioni, controprova |
src/hourly.ts |
cancello risoluzione, differenze fra finestre, test ora del giorno |
src/analyze.ts |
equità, siccità, potenza, decodifica della metrica "hot" |
src/ev.ts |
margine del banco, perdite travestite, bruciatura oraria |
src/backtest.ts |
simulazione delle strategie |
src/source.ts |
client API quota-aware, parsing snapshot, cache |
src/selftest.ts |
validazione su verità note |
src/cli.ts · src/server.ts · src/dashboard.html |
interfacce |
I commenti nel codice sono in italiano e spiegano il perché delle scelte statistiche, non il cosa fa la riga.
- I moltiplicatori dei bonus sono modellati lognormali con media ricavata invertendo gli RTP ufficiali. Evolution pubblica l'RTP, non la distribuzione: la media è deducibile, la forma no.
- Le soglie di alpha-spending usano l'approssimazione a incrementi indipendenti, che è conservativa: sbaglia dalla parte di non far concludere troppo presto, il verso giusto quando la posta è "ho trovato un bias".
- La controprova fra simboli e posizioni non ha invece parametri liberi, quindi è quella che decide. La simulazione lognormale, il cui esito dipende dalla coda assunta, è rimasta come nota secondaria. Un test il cui verdetto cambia con un parametro arbitrario non deve dare il verdetto.
Questo strumento non fornisce alcun vantaggio al gioco e dimostra quantitativamente il contrario. È un esercizio di misura e di metodo statistico. Se cerchi un sistema per vincere a Crazy Time, la risposta sta nella prima tabella: non esiste, mentre il punto 1 spiega perché non può esistere.
MIT.