1. Datakällor

Odds hämtas löpande från Kambi-anslutna spelbolag — bland dem 1x2.se (operator-ID pafpre1x2se), Unibet och Paf — samt från The Odds API som komplement för bredare marknadstäckning.

Som referensmarknad använder vi Pinnacle. Skälet är enkelt: Pinnacle har lägst marginal och högst gränser i branschen, vilket gör att deras odds anses vara marknadens mest träffsäkra skattning av verkliga sannolikheter. Det är mot den referensen vi jämför andra bolags odds.

Inhämtningen sker i en flerlagerskedja med automatisk växling: om en källa fallerar eller svarar för långsamt går systemet vidare till nästa källa i kedjan. Data som av någon anledning serveras från cache märks alltid ut som sådan i gränssnittet, så att det aldrig är oklart hur färsk en siffra är.

Frontend anropar aldrig externa API:er direkt. Allt går via ett eget backend-lager som hanterar hämtning, validering, cachning och växling mellan källor. Det gör beteendet enhetligt och spårbart, oavsett vilken källa som råkar svara.

2. Från odds till sannolikhet

Utgångspunkten är alltid decimalodds. Den råa implicita sannolikheten för ett utfall räknas fram med:

Implicit sannolikhet = 1 / odds

Om man summerar den implicita sannolikheten för samtliga utfall i en marknad överstiger summan alltid 100%. Det överskottet är spelbolagets marginal — ofta kallad vig eller overround — och är hur spelbolaget säkrar sin vinst oavsett utfall.

Vi följer en match genom hela beräkningskedjan nedan som ett konkret exempel: en 1X2-marknad med odds 2,10 / 3,40 / 3,80 för hemmaseger, oavgjort respektive bortaseger.

UtfallOddsImplicit sannolikhet
Hemmaseger2,1047,6%
Oavgjort3,4029,4%
Bortaseger3,8026,3%
Summa103,3%

Summan blir 103,3%, alltså 3,3 procentenheter mer än 100%. Det är spelbolagets marginal på den här marknaden.

3. Devigging (marginalborttagning)

För att komma åt marknadens faktiska uppskattning av sannolikheterna måste marginalen räknas bort. Det görs proportionellt, så att varje utfalls andel av överskottet är proportionerlig mot dess egen implicita sannolikhet, och summan efter borttagning blir exakt 100%. Resultatet kallas fair probability — marknadens uppskattning utan spelbolagets påslag.

Fair probability = Implicit sannolikhet / Summa implicita sannolikheter
Fair odds = 1 / Fair probability

För hemmaseger i vårt exempel: 47,6 / 103,3 = 46,1%. Det ger en fair odds på 2,17 — det odds som marknaden, utan marginal, egentligen tycker att hemmaseger är värd.

UtfallImplicit sannolikhetFair probabilityFair odds
Hemmaseger47,6%46,1%2,17
Oavgjort29,4%28,5%3,51
Bortaseger26,3%25,4%3,94

4. Edge-beräkning

Med en fair probability i hand kan vi jämföra den mot vad andra spelbolag faktiskt erbjuder. Skillnaden — edge — beräknas så här:

Edge% = (fair_probability × erbjudet_odds − 1) × 100

Fortsätter vi exemplet: fair probability för hemmaseger är 46,1%. Ett annat spelbolag erbjuder 2,45 på samma utfall. Då blir edge:

(0,461 × 2,45 − 1) × 100 = +12,9%

En edge på +12,9% innebär att spelbolagets odds, enligt vår modell, är påtagligt högre än vad utfallet statistiskt är värt.

Inte varje positiv edge publiceras. Två trösklar gäller innan ett spel visas för medlemmar:

  • Edge måste överstiga 3%. Mindre avvikelser ryms inom modellens och datans normala brus.
  • Odds över 3,50 publiceras inte. Vid så höga odds blir variansen i enskilda utfall för hög för att edge-siffran ska vara meningsfull i praktiken.

I vårt exempel klarar odds 2,45 med edge +12,9% båda gränserna och skulle publiceras.

5. Insatsnivå (units)

Rekommenderad insats uttrycks i units. En unit motsvarar 100 kr. Insatsen trappas efter hur stor edgen är:

EdgeInsats
≥ 8%3 units
5–8%2 units
Under 5%1 unit

Höga odds dämpar insatsen ytterligare, eftersom varians och risk för enskilda utfall ökar med oddshöjden. I vårt löpande exempel ger edge +12,9% en insats på 3 units, det vill säga 300 kr, på odds 2,45.

6. Rättning (grading)

Spel rättas automatiskt mot verkliga matchresultat. Det finns ingen manuell inblandning i rättningen och ingen cherry-picking av vilka spel som räknas eller inte.

Vinst = units × (odds − 1)
Förlust = −units
Void = 0

Void används vid inställd match, ogiltig marknad, eller om spelet av tekniska skäl inte kunde rättas mot en säker källa.

Slutför vi exemplet med ett vunnet spel: 3 units till odds 2,45 ger 3 × (2,45 − 1) = 3 × 1,45 = 4,35 units i vinst, det vill säga 435 kr på en insats av 300 kr.

Odds tidsstämplas vid publicering. Det odds vi redovisar i statistik och resultat är det odds som fanns tillgängligt när spelet publicerades — inte ett bättre odds som eventuellt dök upp senare.

7. CLV (Closing Line Value)

CLV mäter vårt publicerade odds mot marknadens stängningsodds — det sista odds som fanns tillgängligt innan matchen startade. Positivt CLV över tid räknas som den starkaste indikatorn på att en modell har verklig, varaktig edge, eftersom stängningsoddset speglar all information marknaden hunnit prisa in.

Ärligt läge: CLV-mätning kräver att stängningsodds sparas vid matchstart. BetSynq börjar samla in detta framåt i tiden. Historiska spel saknar stängningsodds och kan inte räknas om i efterhand. CLV redovisas därför först när underlaget är tillräckligt stort för att vara meningsfullt. Vi skriver det rakt, utan bortförklaringar: i dagsläget finns ingen historisk CLV-siffra att visa.

8. Vad vi INTE gör

  • Vi döljer inga förlorade spel. Alla publicerade spel rättas och redovisas, oavsett utfall.
  • Vi justerar inte odds i efterhand. Det odds som redovisas är alltid det som fanns vid publiceringstillfället.
  • Vi visar inte avkastning på data där odds saknas. Saknas underlag för en korrekt beräkning visas ingen siffra istället för en gissning.
  • Vi lovar inte vinst. Positiv edge är ett matematiskt övertag över tid, inte en garanti för utfallet i ett enskilt spel.