Metodik
Fullständig dokumentation av hur EVE Probability Engine v1.3 beräknar matchsannolikheter. Alla vikter, formler och datakällor — öppet redovisade.
Principer
Samma indata → samma resultat. Ingen slump, ingen manuell justering, ingen "magkänsla".
Varje faktor har en publik vikt och en spårbar källa. Ingen black box.
Varje prediktion hash-låses (SHA-256) före avspark. Precision spåras med Brier Score, Log Loss och CLV.
Fair Line utan vig (0% marginal). Vi visar vad modellen tror — inte vad som säljer.
9-faktormodell — Vikter
Summa = 100%. F10 (Taktikprofil) och F11 (xG) är specade men pausade tills datapipelinen är färdig — se Roadmap nedan.
Faktor för faktor
Tabellstyrka
position_norm = 1 - ((position - 1) / (total_teams - 1)). Justerat med poäng/match för att skilja lag med samma position.Form senaste 5
form_score = (V×3 + O×1 + F×0) / 15. Senaste 5 matcherna, viktat lika.Hemmaplan
Split hemma/borta-record. home_factor = home_win_rate × hemmabonus (default 10%, clamp 5–15%). Klimatjusterad per liga.H2H historik
h2h_score = (segrar × 3 + oavgjort) / (totalGames × 3). Fallback: 0.50 om inga matcher.Spelartillgänglighet
penalty = nyckelspelare × 0.08 + ordinarie × 0.04 + rotation × 0.02. factor = max(0.20, 1.0 - penalty).Vila / matchbelastning
rest_score = clamp((dagar_vila - 2) / 5, 0, 1). Optimal: 4–6 dagar. Under 3 = trött, över 7 = brist på rytm.Väder
Temperaturavvikelse, vind, nederbörd. Extrem = favorit drabbas (vädret jämnar ut). Indoor = neutral (0.50).Elo Rating
Elo-diff normaliserad: diff_norm = (elo_home - elo_away) / 400. factor_home = sigmoid(diff_norm). Rating uppdateras efter varje match med K=20.GoalStrengthIndex
Hemma/borta-split: attack = scored/match, defense = conceded/match. GSI_diff = (attack - defense) normaliserat mot ligasnitt. Korrelation ~0.85 med xG-baserade modeller.Sannolikhetsberäkning
Varje faktor ger ett värde 0.0–1.0 för hemma respektive borta. Hemmavärde > 0.5 = hemmalaget starkare i den faktorn.
weighted_home = Σ (factor_home × weight)
weighted_away = Σ (factor_away × weight)
strengthDiff = |weighted_home − weighted_away|
p_draw_raw = drawRate × (1 − 1.5 × strengthDiff)
p_draw = clamp(p_draw_raw, 0.27, 0.40)
p_home, p_away = normaliserade till Σ = 1 − p_draw
Normalisering: p_home + p_draw + p_away = 1.000
Fair Line: fair_odds = 1 / probability (ingen marginal)
Oavgjort-sannolikhet baseras på empirisk liga-historik (Allsvenskan ~27%, Superettan ~26%, Svenska Cupen ~25%, Premier League ~26%) och justeras med strengthDiff. Path A clamp 0.27–0.40 säkerställer att p_draw aldrig blir orealistiskt lågt eller högt.
Confidence (datatillgång): baserat på antal tillgängliga faktorer med riktig data. 0.70 baseline + bonus per faktor med data, clamp 0.30–0.95.
Beslutsregel (Layer 2)
Sannolikhetsberäkning och beslut är separerade lager. Layer 1 producerar ärliga sannolikheter. Layer 2 avgör vilken utgång EVE pickar.
pick = "draw" om strengthDiff < 0.03 OCH p_draw_raw ≥ 0.22
pick = "home" om p_home ≥ p_away
pick = "away" annars
Varför separation: argmax(p_home, p_draw, p_away) pickar nästan aldrig draw, eftersom p_draw är kalibrerad i ett smalare intervall (0.27–0.40) medan p_home och p_away konkurrerar på en bredare skala.
Beslutsregeln läser p_draw_raw(modellens råa tro innan clamp) och strengthDiff(lagstyrkeskillnad) — inte de kalibrerade visningsvärdena. Detta gör att modellen kan picka oavgjort på äkta jämna matcher utan att förvränga sannolikhetsfördelningen.
Poisson-målmodell
Separat modell som beräknar förväntade mål (λ) per lag och härleder Ö/U, BTTS och troligaste slutresultat.
Formel (v1.2 — multiplikativ):
λ_home = L_H × (GF_H_home / L_H) × (GA_A_away / L_H)
Clamp: 0.2 – 3.2 (stabilitet vid liten data)
Elo-injektion: λ *= exp(k × elo_diff_norm), k = 0.08
L_H = ligasnitt mål hemma per match. GF_H_home = hemmalag goals for per hemmamatch. GA_A_away = bortalag goals against per bortamatch.
Grid: Scoreline-grid 0–7 mål per lag (64 utfall). Varje ruta = P(home=i) × P(away=j) via Poisson PMF.
Output: 1X2, Ö/U 1.5/2.5/3.5, BTTS, Top 5 scorelines.
Mild Elo-injektion (k=0.08) korrigerar λ baserat på ranking-skillnad. Clamp 0.2–3.2 ger stabilitet tidigt i säsongen med lite data.
Elo Rating System
Startrating: 1500
K-faktor: 20
Hemmabonus: +60 Elo-poäng
E(A) = 1 / (1 + 10^((R_B - R_A - 60) / 400))
Ny rating: R_A' = R_A + K × (S - E(A))
S = 1.0 (vinst), 0.5 (oavgjort), 0.0 (förlust)
Ratings beräknas från säsongsstart och uppdateras kronologiskt. Hemmabonus +60 motsvarar ~8% extra vinstsannolikhet — i linje med empirisk forskning.
CLV — Closing Line Value
CLV mäter om EVE systematiskt identifierar värde som marknaden sedan prissätter in.
Opening odds (bokad vid EVE-beräkning)
EVE fair line (modellens sanna sannolikhet)
Closing odds (strax före avspark)
Edge = P_eve - P_market
Positiv CLV = modellen visste innan marknaden
Kritisk regel: Closing odds används aldrig som modellinput — enbart för utvärdering efter matchen. Annars uppstår cirkulärt beroende.
Precisionsmått
BS = (1/N) × Σ [(p_home - actual_home)² + (p_draw - actual_draw)² + (p_away - actual_away)²]. Lägre = bättre. Slumpmässig 3-vägs = 0.667. Bra modell < 0.22. Elit < 0.19.
LL = -(1/N) × Σ log(p_actual). Straffar säkra felgissningar extra hårt.
Visar om EVEs 40%-prediktioner verkligen inträffar 40% av gångerna. Perfekt kalibrering = punkter längs diagonalen.
SHA-256 av vikter + version beräknas vid varje prediktion. Garanterar att ingen kan ändra prediktionen i efterhand. Visas på varje matchkort och Stryktipsrad.
Datapipeline
sync-fixtures → sync-team-stats → compute-elo → compute-xg
→ compute-probability → generate-stryktips
→ (efter match) sync-results → accuracy log + CLV
Alla data hämtas från API-Football (officiell leverantör). Elo och GSI beräknas lokalt av EVE utan extern AI. Poisson-modellen är ren matematik — ingen maskininlärning.
Varje beräkningssteg loggas med tidsstämpel, version och hash. Alla resultat sparas permanent för retrospektiv analys och modellförbättring.
SmartPick v2.1 — Stryktipset & Europatipset
Separat modell för Svenska Spels tipsspel. 8 signaler viktade för att maximera antal rätt per omgång.
Skärpaste tillgängliga sannolikheter (0% marginal). EVE:s primära baslinje.
Publika odds (~10% marginal). Komplement till marknadsreferensen.
Förändring sedan öppningsodds. Sjunkande odds = smart money.
När den publika streckfördelningen avviker >8% från oddsen — EVE går mot folkopinionen.
Kryss underskattas systematiskt av spelarna. EVE justerar upp när data stöder det.
Ligaspecifik hemmaplansfördel (Championship + League One > PL).
När skarp och publik marknad divergerar >3% — EVE följer den skarpa.
10 professionella svenska tippare bedömer varje match. Stark konsensus = extra konfidens.
Baslinje: Marknadens skärpaste sannolikheter (0% marginal) när tillgängliga, publika odds som fallback.
Uppdateras 3 gånger per dag (07:00, 12:00, 14:00 UTC).
Låses med SHA-256 hash 10 minuter före spelstopp.
Målmodell v2 — Måltipset
EVE:s egen målmodell för att ranka vilka matcher som blir mest målrika.
Stark favorit → fler mål. Statistiskt bevisat samband.
Låg draw-sannolikhet → polariserat → fler mål.
Draw-odds stigit → marknaden ser avgörande, inte kryss.
Folket streckar kryss lågre än odds → de ser mål.
Historiskt snitt per liga (Bundesliga 3.1, La Liga 2.55).
EVE använder
Begränsningar
EVE är transparent om vad modellen inte har:
Varje begränsning är en möjlig förbättring. Vi prioriterar baserat på Brier Score-impact.
Roadmap
Två faktorer är specade i v1.3 men pausade tills deras datapipelines är på plats. Aktiveras i v1.4 — då reduceras F9 från 17% till 10% och de två nya bär tillsammans 23%.
Bollinnehav, formationsstabilitet, disciplin. Kräver sync-tactical cron + assembler-koppling.
Källa: api-football:teams/statistics
Skotbaserad expected goals per match. Kräver sync-xg cron + per-match aggregering.
Källa: api-football:fixtures/statistics
EVE Probability Engine är ett analysverktyg — inte spelrådgivning. Sannolikheter är modellbaserade uppskattningar, inte garantier. Spela aldrig för pengar du inte har råd att förlora.
EVE PROBABILITY ENGINE v1.3 · 9 aktiva faktorer · Poisson · Elo · GSI · SMARTPICK v2.1 · MÅLMODELL v2 · VERIFIERAD