FootyMind Beheer
← Terug
☰ Menu — spring naar een onderdeel

Beheerpaneel

Hier stel je FootyMind in

Elk blok hieronder legt in gewone taal uit wát het doet en waaróm het er is. Klik op een titel om een blok open of dicht te klappen.

🔎

Begin hier de twee blokken die je het vaakst nodig hebt

✅ Klopt alles?

Eén antwoord in plaats van vier dashboards. Controleert de broncode, de live app én de BTTS-motor. Een controle die niet kán draaien telt nooit als "goed" — dan staat hier "onbekend", niet groen.

Laden…

Code & app

BTTS-motor

📦Draaiende versie

🌡️Thermostaat (informatief)

Baseline-anker

Wil je het bewijs buiten deze app? De testsuite draait bij elke wijziging op GitHub — een groen vinkje daar betekent dat alle wachters en losse tests slagen, ongeacht wat iemand hier beweert.

☕ App wakker houden (Keep-alive)

Zet aan om de app wakker te houden (bezoekers wachten nooit op een koude start), of uit zodat de app mag slapen als je weg bent — dat spaart Render-uren.

Laden...
Beheer de knoppen waarmee je de app instelt

🔓 Toegangsmodus

Bepaal of bezoekers moeten inloggen of dat de app open is voor iedereen.

Laden...

🤖 AI-model

Kies welk AI-model alle analyses en voorspellingen maakt (Claude, Gemini, Grok of GPT). De instelling wordt direct actief. Externe modellen vereisen hun eigen API-sleutel in de omgevingsvariabelen.

Laden...

💵 Wat kost elk model?

Het tarief is de prijs per 1 miljoen tokens (invoer = jouw prompt, uitvoer = het antwoord). Het uitgegeven bedrag is gemeten: bij elke AI-aanroep wordt het echte tokenverbruik van de aanbieder vastgelegd en tegen het tarief afgerekend. Bedragen in dollar — zo factureren alle aanbieders.

Laden...

🏆 Welk model presteert het best?

Op basis van afgeronde BTTS-voorspellingen (Brier-score, lager = scherper). Een model is betrouwbaar te vergelijken vanaf 100 voorspellingen. De volledige ranglijst (met filters, Over 2.5 en CSV-export) staat op de Stats-pagina.

Laden...

👥 Gebruikers

Accounts beheren: aanmaken, wachtwoord resetten, blokkeren of verwijderen.

Laden...

📈 Verloop — nauwkeurigheid per dag

7-daags voortschrijdend trefpercentage per wedstrijddag (zelfde filters als het Accuraatheid-dashboard: alleen gesettelde bron='live'-picks). Dagen met te weinig picks in het venster (<10) tonen geen lijnpunt. Beweeg over de grafiek voor de details per dag.

Laden...

🗄️ Cache Beheer

TTL per endpoint-type — data wordt automatisch ververst na afloop.

🔔 Push-meldingen

Ontvang automatisch een melding op je telefoon bij engine-fouten, DB-problemen of lage API-quota. Installeer de gratis ntfy-app en voer hieronder je topic in.

1. Download ntfy in de App Store of Google Play

2. Open de app → "+" → voer jouw topic in (bijv. footymind-abc123)

3. Voer hetzelfde topic in bovenstaand veld en klik "Opslaan & testen"

4. Je ontvangt direct een testmelding als het werkt ✅

🔎 Competitie-ID opzoeken

Zoek het exacte api-football league-id op (via de officiële API) vóór je een competitie toevoegt — zo hoeven id's niet gegokt te worden. Typ bijv. deild of Iceland.

🏆 Competities beheren

Voeg zelf competities toe of verberg ingebouwde. Zoek het exacte api-football-id eerst op met "🔎 Competitie-ID opzoeken" hierboven. Eigen competities krijgen geen fijn afgestemd BTTS-anker (neutrale standaard ~52%).

Nieuwe competitie toevoegen

Laden…

Monitoring is alles gezond?

📊 Systeemstatus

Kerncijfers van de app in één oogopslag.

📶 Bandbreedte

Hoeveel data de app zelf ophaalt bij API-Football en de database. Dit is de post waar de hosting op afrekent.

Laden...

🛡️ Engine Bewaking

Automatische sanity-checks op de BTTS-motor — hoort altijd groen te zijn.

Laden...

🖥️ App Monitor

Live status van alle componenten — wordt elke 60 seconden automatisch ververst.

Laden...

🔍 App Scanner

Controleert in één keer de héle app: broncode (dubbele routes, onbeschermde endpoints, foutafhandeling), de live werking (database, schema, config, settlement) én de BTTS-motor — die wordt live doorgerekend met de volledige directionele sanity-suite (7 checks) plus de Engine-bewaking. De scan verandert zelf niets en raakt de motor niet aan — veilige reparaties doe je per bevinding met de knop 🔧 Repareer.

🚨 Kritiek

⚠️ Waarschuwing

ℹ️ Info

Nog niet gescand — klik op "Scan de hele app".

📡 API Rate Limit

API-Football Pro — bijgewerkt na elke live API-call.

Geen data beschikbaar

📈 Cache Statistieken

Hits en misses sinds de laatste herstart — hoe hoger de hit rate, hoe minder API-calls.

Laden...
BTTS & Prestaties hoe goed voorspelt de app?

⚙️ Settlement — Resultaten Verwerken

Haal einduitslag op voor alle afgelopen voorspellingen. Runs automatisch elke nacht om 03:00 UTC — klik hier om direct te verwerken.

Totaal in DB

Wachtend op uitslag

Gesetteld ✓

🛫 Runway thermostaat

Hoe ver de thermostaat nog van armen is, en wat de teller heeft teruggezet.

Laden...

🌡️ Thermostaat v2 — BTTS Kalibratie

Eindkans (Poisson-basis + Claude-correctie) vs. werkelijk BTTS-resultaat. Alleen wedstrijden met bekende uitkomst en final_btts_pct in de DB.

Thermostaat toepassen

Staat de knop uit, dan gebruikt de app de ruwe motoruitkomst zonder kalibratie-correctie. Standaard uit sinds de audit van 03-08-2026: de −7pp die op 02-08 werd geleerd kwam uit één speeldag, en het onderliggende patroon haalde geen significantie (Spearman ρ = −0,11 bij n=66). Zet hem pas aan als er ≥50 gesettelde duels over ≥5 speeldagen staan.

Zelf instellen AUTOMATISCH
De automatische thermostaat hierboven blijft gewoon werken. Hieronder kun je hem overrulen of bijsturen met je eigen getallen.
🎛️ Draai aan de thermostaat Kies een knop, draai eraan en lees ernaast of je goed zit. Zodra je loslaat wordt het opgeslagen en rekent de BTTS-pijplijn er vanaf dat moment mee.
0 pp
Meetlat wordt geladen…Zodra de meting binnen is, staat hier of je getal klopt.
Jouw eigen correctie in procentpunten
Beide scoren (BTTS) Plus maakt elke BTTS-kans hoger, min maakt hem lager. Zet je hier −5, dan wordt 70% voortaan 65%.
pp
Alleen de hoge BTTS-picks Aparte correctie voor picks vanaf 65%. Laat je dit leeg, dan geldt het getal hierboven overal.
pp
Over 2.5 doelpunten Zelfde idee, maar dan voor de markt "meer dan 2,5 doelpunten".
pp
Spelregels voor de automaat laat leeg voor de standaardwaarde
Vanaf hoeveel afgerekende wedstrijden mag hij leren? Lager = hij begint eerder bij te sturen, maar op minder bewijs. Standaard 50.
duels
Over hoeveel verschillende speeldagen? Voorkomt dat één drukke zaterdag de hele motor verzet. Standaard 5.
dagen
Hoeveel mag hij zichzelf maximaal verzetten? De rem op de automaat. Standaard 8. Op 0 meet hij nog wel, maar verandert hij niets.
pp
Idem, maar per competitie Mag ruimer zijn: een enkele competitie kan echt afwijken. Standaard 12.
pp
Laden...

🤐 Dekking — waar zwijgt de app?

Niet elke wedstrijd verdient een advies. Kan de rekenmotor niet draaien (te weinig locatiedata), dan gokt het AI-model de kans — en dat scoorde in de meting slechter dan een muntworp. Hieronder staan je eigen cijfers. Sinds v2.8.182 staat de schakelaar standaard AAN, dus wedstrijden met te dunne data krijgen bewust geen advies — met de knop hieronder zet je dat zelf aan of uit.

Laden...

📐 League-baselines — geteld of geschat?

Elke competitie heeft een baseline: hoe vaak scoren beide ploegen hier normaal gesproken? Die 166 percentages waren met de hand geschat — en minstens één zat aantoonbaar fout (league 284 stond als "Bolivia, hoogte-effect" terwijl het de Roemeense Liga II is). Hier worden ze geteld uit de echte uitslagen van dit seizoen. Een meting telt pas mee vanaf 40 gespeelde duels en krimpt naar de handmatige schatting als anker — zo kan één gek seizoen de motor niet meesleuren.

Laden...

🎯 λ-kalibratie — kloppen de verwachte doelpunten?

λ is de wortel van alles: BTTS, Over 2.5 én de zekere markten zijn sommen over de scorematrix die uit λthuis en λuit volgt. Staat λ 20% te hoog, dan is elke markt tegelijk scheef — en dat zie je in géén enkele andere meter. Hier telt de app simpelweg: hoeveel doelpunten waren er verwacht, en hoeveel vielen er? Thuis en uit apart, want een scheve kant verdwijnt in het totaal.

Laden...

💰 Rendement — levert het geld op?

Trefpercentage zegt niets over winst: 55% raak is verlies zodra de gemiddelde odds onder 1,82 liggen. Hier worden de gesettelde value bets afgerekend tegen de odds waartegen ze zijn afgegeven — vlakke inzet van 1 eenheid per pick, één weddenschap per wedstrijd en markt.

Laden...

🧪 Bewijs verzamelen — hoe ver zijn we?

Een oordeel over de motor heeft genoeg gesettelde duels nodig. Bij 19 picks liep de betrouwbaarheidsband van −0,55 tot +0,54: elk cijfer daarbinnen is ruis. Hier zie je hoe ver de reeks staat en welk land het verst naast zit — met een toets erbij, zodat een land met twee duels niet als bevinding leest.

Laden...

🏅 TOP-picks — houdt het teken zijn belofte?

Het TOP-teken op de wedstrijdkaart belooft dat die groep vaker raak is. Hier staat of dat zo blijft.

Laden...

📐 Discriminatie — staat de volgorde goed?

Het accuraatheid-blok meet of je kansen op het juiste niveau zitten. Dit blok meet iets anders: of de volgorde klopt — gebeurt wat jij hoog inschat ook vaker dan wat je laag inschat? Een kalibratie-offset kan alleen het niveau repareren, nooit de volgorde. En bij elk cijfer staat hoe zeker het is: zonder die context is een verschil op één speeldag niet van toeval te onderscheiden.

Over 2.5 aanbieden als speelbare pick

Staat de knop uit, dan krijgt Over 2.5 het label indicatief: hij verschijnt niet meer als "BESTE"-tip op de voorpagina en is niet aan een combi toe te voegen. De kans zelf wordt gewoon berekend, opgeslagen en gemeten — anders zou uitzetten precies de meting stoppen die moet bewijzen of uitzetten terecht is. Nagemeten op 16-08 (336 gesettelde duels): Over 2.5 is niet slechter dan "altijd de basisrate roepen" maar beter (−0,0073, binnen de ruis), met AUC 0,596 tegen 0,577 voor BTTS. Het zwakke cijfer kwam van één speeldag. Zet hem dus pas uit als een meting over ≥3 speeldagen een beslissend negatief verschil laat zien.

Odds-anker vereisen bij hoge picks

Staat de knop aan, dan krijgt een BTTS-pick vanaf 58% die zonder bookmaker-odds tot stand kwam een twijfel-vlag: hij verschijnt niet in "Meest Kansrijk". De kans zelf verandert niet en wordt gewoon opgeslagen, dus settling, accuraatheid en thermostaat blijven meten — zo is later te valideren of de eis terecht is.

Laden...

📊 Accuraatheid — echte voorspel-prestaties

Alleen echte voorspellingen (bron='live'). Zet een Vanaf-datum om je test-/afstelperiode buiten je definitieve track record te houden. De Brier-score meet hoe goed je kansen kloppen (0 = perfect, lager = scherper). Beoordeel hem nooit op zichzelf: de tegel Baseline ernaast is de Brier van "altijd dezelfde kans roepen, gelijk aan de basisrate". Sta je daarboven, dan voegt het model niets toe. Let op: die baseline is 0,25 alléén als de basisrate precies 50% is — en het is nooit het trefpercentage.

Laden...

🗺️ Land/competitie-koppeling

Read-only diagnose: spoort voorspel-rijen op waar het opgeslagen league_id en de opgeslagen competitie-naam niet bij elkaar passen (land-mislabel — bv. een Boliviaans duel dat onder Belarus is opgeslagen). Verandert niets en raakt de motor niet aan.

Voorspel-rijen

Unieke leagues

⚠️ Verdacht

Laden…

🤖🔍 Auto-model-vergelijking (verdachte competities)

Voorspelt aankomende duels van de competities die jij verdenkt (de watchlist hieronder) op de modellen die jij per competitie kiest (standaard alleen Haiku 4.5 — het goedkoopste; zet Sonnet 5/Opus 4.8/Opus 5 per competitie aan als je écht wilt vergelijken), zodat je zwart-op-wit ziet of ze structureel fout voorspeld worden. Raakt de motor niet aan; stopt automatisch na de einddatum.

🎯 Verdachte competities — voeg toe wat je verdenkt van te vaak fout voorspellen. Kies per competitie zelf de modellen (tik ze aan/uit onder elke competitie):

Laden…

Nieuwe competities starten op alleen Haiku 4.5 (goedkoopst). Meer modellen aanzetten = meer Claude-kosten (elk duel × het aantal aangevinkte modellen). Zet Sonnet 5/Opus 4.8/Opus 5 alleen aan waar je écht wilt vergelijken.

Laden…

🔍 Bewijs — worden de verdachte competities fout voorspeld?

📅 Periode: t/m — laat leeg voor álles
Klik "Toon bewijs" voor het zwart-op-wit: per competitie, kalibratie, de detaillijst van élke gesettelde pick en de vergelijking met het app-gemiddelde. Kies eventueel eerst een periode (van–tot).