← Natrag na priču

Loto forenzika · Metodologija

Svaki test, svaka granica, svaki srušeni nalaz

Ovo je stranica za skeptike. Glavna priča prevodi sve na običan jezik; ovdje smiju stručni pojmovi (svaki uz objašnjenje) i ovdje je pokopano sve što nije preživjelo provjere, s imenom i prezimenom.

Podatke (kompletne tablice obiju povijesti, CSV) rado šaljem na zahtjev svakome tko zatraži.

1 · Sedam koraka analize

  1. Sirovina. Tri neovisne obitelji izvora: službeni API Hrvatske Lutrije (od 2015.), arhivirani godišnji XLS-ovi s lutrija.hr sačuvani u Internet Archiveu (Wayback Machine) i binarne datoteke koje čuva samo Hrvatski arhiv weba (haw.nsk.hr). Za sporna kola postoje i sekundarni svjedoci: arhivirani HTML rezultata, pa i imena slikovnih datoteka kuglica u 20 godina starim stranicama.
  2. Čitanje i forenzika formata. Prije forenzike brojeva dolazi forenzika samih datoteka: HL-ovi XLS-ovi iz 2002. pišu datume kao MM.DD, drže godišnje markere kao brojeve, imaju Excel-ćelije krivog tipa, fantomske duplikate i kola upisana kao „uzastopni dani“. Svaki sloj izvora dobio je vlastiti parser s assertima.
  3. Potpuna povijest. Rezultat šivanja: Loto 7 = 2.940 kola (15.10.1991.–danas), Loto 6 = 2.416 kola (6.11.1988.–danas); ukupno 5.356 kola, 0 rupa, 0 duplikata, svaki red s izvorom. Gdje se izvori preklapaju, unakrsna validacija: 820 od 825 kola egzaktno (99,4 %), svih 5 odstupanja ručno presuđeno s dva ili više neovisnih svjedoka; API era Lota 6 potvrđena 250/250 protiv HL-ovih godišnjih XLS-ova, rekonstruiranih 318 kola Lota 7 potvrđeno 318/318. Poštena ograda: najstarije razdoblje Lota 6 (1988.–1992.) ima samo jednu obitelj izvora, bez neovisne unakrsne provjere.
  4. Baterije testova. Glavna baterija v3: 218 testova poštenosti izvlačenja nad Lotom 7, Lotom 6 i EuroJackpotom (frekvencije po broju, parovi, era-usporedbe, Monte Carlo simulacije, usporedba sa stotinama tisuća izmišljenih poštenih lutrija). Dubinske baterije: redoslijed izlaska kuglica, sparivanje i trojke, novac (rekonstrukcija raspodjele na lipu), sindikati/sistemski listići. Keno (strojna izvlačenja) ima 19 unaprijed definiranih testova: frekvencije, pozicije, parovi, preklopi susjednih kola, autokorelacije, raspored u vremenu, rolling prozori, CUSUM.
  5. Globalna korekcija. Ukupno 6.980 p-vrijednosti u pet skupina, pod zajedničkom Benjamini–Hochberg FDR korekcijom (postupak koji uračunava da uz ovoliko testova sam slučaj mora proizvesti lažne alarme). Nakon korekcije nije ostao nijedan signal u testovima poštenosti lota: najmanja p-vrijednost glavne baterije je 0,0033, a prag za prvi rang je 0,00023, pa ni najekstremniji rezultat nije ni blizu. Korekciju je prošlo deset testova iz skupine o sindikatima i sistemskim listićima, i svi govore o ponašanju igrača: dobitnika po kategorijama ima neravnomjernije nego da svatko bira za sebe, jer mnogi igraju iste kombinacije. Interna ograda, poštena i ovdje: BH pod zavisnošću testova je aproksimacija, a dio hipoteza dubinskih lovaca formuliran je nakon uvida u v3, i zato je globalni prag postavljen konzervativno.
  6. Gauntlet. Svaki ključni rezultat išao je kroz adversarijalni postupak: slijepe replike (neovisna reimplementacija testa od nule, vlastiti kod, vlastiti seed) i skeptik-sudac s ovlasti ispravka. Keno-replika reproducirala je svih 6 ključnih rezultata: hi-kvadrat statistike na 2 decimale u obje ere, distribuciju preklopa 10,5 milijuna parova u svih 16 redaka.
  7. Audit proza ↔ podaci. Prije objave svaka brojka, svaki superlativ i svaki omjer u tekstu prolazi automatsku provjeru protiv payloada stranice i kataloga nalaza, po uzoru na prethodne objave (jadranska analiza: 141 provjera).

2 · Sedam prigovora koje očekujem

1. „Statistika ne može uhvatiti jednokratnu prevaru.“

Točno, i to je moj argument, ne protuargument. Testovi love kronično namještanje: trajna inflacija jednog broja od ≥19 % (era 7/39) odnosno ≥28 % (7/35) bila bi viđena; fizički defekt od par posto ostaje ispod praga, a jednokratne prevare (Pennsylvania 1980., Srbija 2015.) uhvatili su ljudi i kamere, ne brojke. Zato nigdje ne piše „dokazano pošteno“. Piše „nema grubog, trajnog iskrivljenja“.

2. „Broj stupaca ne broji sistemske listiće, pa su vam očekivanja kriva.“

Taj je prigovor oboren unaprijed: ukupna prodaja podijeljena brojem stupaca daje egzaktno konstantnu jediničnu cijenu kombinacije u svakom od 3.113 kola (6,30 kn / 6,75 kn / 0,90 €), dakle „columns“ već broji svaku plaćenu kombinaciju, uključujući raspis sistema (medijan kombinacija po listiću ≈ 3,1). Očekivani broj dobitnika = stupci × vjerojatnost vrijedi bez obzira na to ŠTO igrači igraju; sistemi i kopirane kombinacije utječu isključivo na varijancu, i upravo je zato korištena Monte Carlo/empirijska varijanca umjesto naivne Poissonove.

3. „API podaci nisu službeni / povijest je rekonstruirana.“

Povijest je šivana iz tri neovisne obitelji izvora s unakrsnom validacijom 820/825 (99,4 %) i potvrdama 250/250 te 318/318 protiv HL-ovih vlastitih godišnjih arhiva. Gdje se HL-ovi vlastiti izvori međusobno ne slažu (a ne slažu se u najmanje 8 kola), to je dokumentirano sa sirovim ćelijama, presuđeno s ≥2 neovisna svjedoka ili dokazanom nemogućnošću (npr. dopunski broj jednak već izvučenom). Jedino kolo bez presude, 24.3.2007. (28 ili 38), nosi zvjezdicu u alatu.

4. „Mali uzorak po eri.“

Ere su razdvojene granicom dokazanom iz samih podataka (7/39 do 12.10.2018., 7/35 od 13.10.2018.) i testirane odvojeno: 7/39 N=2.115 kola, 7/35 N=825, Loto 6 N=2.416. Monte Carlo null s 20.000 simulacija i korekcijom p=(count+1)/(nsim+1); snaga testova je izračunata i objavljena; upravo iz nje dolaze pragovi detekcije iz prigovora 1.

5. „Conscious selection je poznat efekt, što je tu novo?“

Poznat je kao pojava; ovo je prva granularna inverzija za Hrvatsku: karta popularnosti po pojedinom broju, rekonstruirana isključivo iz agregata dobitnika, s bootstrap intervalima. Uz nju stoji i out-of-sample dokaz: model podešen na polovici kola pogađa 75 % varijance broja trojki u kolima koja nikad nije vidio, 52 % u najstrožem vremenskom splitu gdje prošlost predviđa budućnost. To pretvara interpretaciju u izmjerenu tvrdnju.

6. „Zašto vjerovati AI analizi?“

Zato što ništa ne počiva na povjerenju: sve ključne brojke reproducirane su neovisnim implementacijama: slijepa replika s vlastitim kodom i seedom potvrdila je 6/6 ključnih rezultata Keno baterije (hi-kvadrat na 2 decimale), skeptik-sudac s vlastitim kodom presudio je svaku bateriju, a podatke šaljem svakome tko želi ponoviti račun.

7. „Model suigrača je nagađanje.“

Model je deklariran (poglavlje 7), kalibriran na kolima koja nije vidio i potvrđen kroz dvije neovisne igre: karte popularnosti Lota 6 i Lota 7 poklapaju se 0,72 na ljestvici do 1. A njegove granice pišu na samoj kartici alata: za kombinacije s jakim uzorkom procjena je donja granica: stvarna masa zna biti 2–7× veća, jer se ljudi poklapaju na cijelim uzorcima.

3 · VAR arhiva: svi srušeni nalazi

U priči je obećano sve što nije preživjelo, s imenom i prezimenom. Osam puta je nalaz, moj ili tuđi, pao na provjeri.

▶ Srušeno #1

Triplet 5-13-35

Najsumnjivija trojka kuglica: 11 zajedničkih pojava, naivno sedam standardnih devijacija iznad očekivanja. Uz korekciju za broj pregledanih trojki: p ≈ 0,12. Svaka osma poštena lutrija imala bi svoju „5-13-35“ priču; 11 pojava razmazano je kroz 21 godinu.

Presuda: šum multipliciteta.

▶ Srušeno #2

Kriva nula: lipe i Poisson

Dvaput je naivan model „otkrio“ anomaliju koje nema: zadnje znamenke lipa (p ≈ 1e-4, a uzrok je kvantizacija cijene od 1,80 kn u koracima od 4,5 lipe) i Poissonovi z-ovi do −12 na agregatima (a igrači igraju korelirane listiće, pa varijanca nije Poissonova). Oba testa ponovljena su s ispravnim nul-modelom i oba su čista.

Presuda: pola forenzike je forenzika vlastitih pretpostavki.

▶ Srušeno #3

Kriva era-granica

Prva verzija stavila je granicu igre na 26.9.2015. (tehnički lom API formata) umjesto na 13.10.2018. (stvarni prelazak 7/39 → 7/35). S krivom granicom brojevi 36–39 izgledali su upola rjeđi, gotova lažna anomalija za naslovnicu. Ispravljena granica dokazana je iz samih brojeva: zadnje kolo s brojem većim od 35 je 10.10.2018.

Presuda: kriva granica razdoblja, ispravljena iz podataka.

▶ Srušeno #4

v1 report: umirovljen kao nereproducibilan

Prva verzija baterije tvrdila je „20.000 simulacija“, a stvarno je vrtjela 5.000, uz antikonzervativnu MC formulu bez +1 korekcije i krivi N za eru 7/39. v3 stvarno vrti 20.000 simulacija s p=(count+1)/(nsim+1); hi-kvadrat statistike reproducirane egzaktno, v1 zamrznut kao artefakt.

Presuda: i vlastiti prvi report je srušen.

▶ Srušeno #5

Cirkularno mapiranje kategorija

v1 je razine dobitka mapirala „po sličnosti“ s teorijom, što je cirkularno (anomalija bi se sama maskirala) i degenerirano, jer dvije kategorije imaju identičnu vjerojatnost (4 pogotka i 3+dopunski, egzaktno ista šansa). Kritičar je zahtijevao mapiranje hardkodirano iz pravila igre plus assert monotonosti isplata; provedeno.

Presuda: konceptualna greška, uhvaćena i ispravljena.

▶ Srušeno #6

Valutna mina

Radna pretpostavka „svi iznosi su u eurima“ bila je kriva: API vodi kune do 31.12.2022. Kritičar je to dokazao iz cijene po stupcu (6,30 kn → 0,90 €; tečaj 7,5345). Da je promaklo, svaki novčani nalaz bio bi kriv 7,5 puta. Sada trajni assert u kodu.

Presuda: greška koja bi srušila objavu, uhvaćena prije objave.

▶ Srušeno #7

Skeptik ispravlja i lovca (0,18 → 0,47)

Ni interni lovci nisu pošteđeni: skeptik-sudac reproducirao je nalaz o najjačem paru brojeva i našao grešku u lovčevoj max-statistici: pravi p je oko 0,47, ne 0,18, u smjeru „još čišćeg šuma“. Sustav se ispravlja u obje strane.

Presuda: ispravak u korist nule.

▶ Srušeno #8

Keno „RTP“: artefakt praznog polja

Prva verzija Keno-poglavlja o povratu igračima računala je s poljem broja dobitnika koje API prije 2019. uopće ne popunjava, pa je dobila dramatično krive postotke. Skeptik je artefakt dokazao iz sirovih JSON-ova (polja isplata popunjena, polje dobitnika nula) i poglavlje je materijalno ispravljeno: stvarni povrat Kena računa se iz samog knjiženja isplata. Posebno je poučno da je slijepa replika, vjerna izvoru, istu grešku vjerno reproducirala; uhvatio ju je tek skeptik s pristupom sirovini.

Presuda: greška u izvoru podataka, ne u slučaju.

4 · Ograde snage: što testovi mogu, a što ne

Izvlačenje. Baterija detektira kroničnu pristranost: trajno napuhavanje jednog broja od ≥19 % (era 7/39) odnosno ≥28 % (era 7/35) bilo bi viđeno. Fizički defekt od par posto ostaje ispod praga; jednokratne manipulacije statistika načelno ne vidi.

Keno (strojna izvlačenja). U eri izvlačenja svakih 5 minuta prolazne anomalije kraće od otprilike 500 kola (~42 sata) izvan su osjetljivosti baterije; jednokratne manipulacije i predvidljivost uz poznat seed generatora statistika načelno ne vidi. Odsustvo signala na toj skali nije dokaz odsustva.

Model suigrača. Procjene iz popularnosti pojedinačnih brojeva donja su granica: u ekstremnim kolima stvarna masa dobitnika je 2,3–6,6× iznad onoga što pojedinačni brojevi objašnjavaju, jer se igrači poklapaju na cijelim uzorcima (nizovi, blokovi, višekratnici). Alat zato za prepoznate uzorke prikazuje raspon, ne točku.

Statistički okvir. Benjamini–Hochberg korekcija pod zavisnošću testova je aproksimacija; dio hipoteza dubinskih baterija formuliran je nakon uvida u glavnu bateriju. Oboje je uračunato konzervativnim pragom, i zato nijedna p-vrijednost u priči ne stoji sama: svaka se čita u kontekstu svih 6.980 testova.

5 · Što na stranici namjerno nema

6 · Državna arhiva i njezine rupe

Nusprodukt projekta koji zaslužuje vlastito poglavlje: javna povijest državne igre na sreću drži se na slijepljenim komadićima, i evo gdje su šavovi.

7 · Izvori, dokazi i deklaracija modela

Obitelji izvora

RazdobljePrimarni izvorNeovisna provjera
1988.–2007.arhivirani XLS-ovi lutrija.hr (Wayback Machine)arhivirani HTML rezultata; za 1988.–1992. samo jedna obitelj izvora (pošteno rečeno)
2007.–2014.godišnji XLS-ovi u Hrvatskom arhivu weba (haw.nsk.hr)preklopi s Waybackom; unakrsna validacija 820/825
2015.–danasslužbeni API Hrvatske LutrijeHL-ovi godišnji XLS-ovi (250/250; 318/318 za rekonstruirana kola)

Deklaracija modela alata

Procjene suigrača, mjesto na ljestvici popularnosti i brojka „64 % kombinacija ispodprosječno popularno“ za Loto 6 računati su miješanim modelom (mixture: udio nasumičnih uplata + popularnost po broju za svjesne igrače; datoteka model_l6_mixture.json). Karta popularnosti podešena je na 1.051 kolo Lota 6 (4.1.2015.–6.9.2026.), razdoblje za koje postoje javni brojevi dobitnika po razinama pogotka; starija kola ulaze u analize izvlačenja, ali ne i u kartu. Medijan popularnosti slučajne kombinacije pod tim modelom je 0,89× prosjeka. Marginalna varijanta modela (0,95× / 56 %) postoji u out-datotekama i ne koristi se u alatu. Za Loto 7 mixture nije fitan, pa alat koristi marginalni model uz obaveznu ogradu o uzorcima. Svaka procjena suigrača za prepoznat uzorak (aritmetički niz, svi brojevi ≤31, folklor tipa 1-2-3-4-5-6) prikazuje se kao raspon do 7× procjene.

Cijene i novac

Cijene po stupcu, egzaktno iz podataka: za Loto 7 6,30 kn (2015.–21.), 6,75 kn (2022.) i 0,90 € (2023.+); za Loto 6 1,80 kn, pa 0,225 €. Tečaj konverzije 7,5345 (iznosi u API-ju u kunama do 31.12.2022.). Fond dobitaka: 55 % uplate (Loto 7) odnosno 50 % (Loto 6) u svakom kolu, egzaktno. Osobna bilanca u alatu računa se isključivo za razdoblje od 3.1.2015. nadalje, jer jedino za njega postoje potpuni javni podaci o uplatama i isplatama po kolu.

Kako je analiza vođena

Analizu su izveli paralelni AI agenti u ulogama koje se međusobno ne vide: 4 lovca na anomalije, 3 replikatora koji su testove neovisno reimplementirali od nule, 2 metodološka kritičara, adversarijalni verifikator modela i skeptik-sudac s vlastitim kodom i drugim seedom. To je 11 adversarijalnih agenata, 12 s graditeljem modela kojeg su svi napadali, u tri vala. Ukupno 6.980 statističkih testova nad 5.356 kola rekonstruirane povijesti (preko 35.000 izvučenih brojeva). Analiza je vođena Claudeom (Fable 5); kako se ovakvi projekti grade, pokazujem na vibecoding.hr.

Podaci

Kompletne tablice obiju povijesti (CSV, svaki red s izvorom-URL-om) šaljem na zahtjev. Javi se porukom. Payload ove stranice (povijesti oba lota, financije API ere, parametri modela) ugrađen je u samu stranicu i čitljiv svakome tko otvori izvorni kod.