1. Data Sources

Odds are collected continuously from Kambi-connected bookmakers — among them 1x2.se (operator ID pafpre1x2se), Unibet, and Paf — plus The Odds API as a complement for broader market coverage.

We use Pinnacle as our reference market. The reason is simple: Pinnacle has the lowest margin and the highest limits in the industry, which makes their odds widely regarded as the market's most accurate estimate of true probabilities. It's against that reference that we compare other bookmakers' odds.

Data collection runs through a multi-layer chain with automatic failover: if a source fails or responds too slowly, the system moves on to the next source in the chain. Data that, for whatever reason, is served from cache is always flagged as such in the interface, so it's never unclear how fresh a figure is.

The frontend never calls external APIs directly. Everything goes through our own backend layer, which handles fetching, validation, caching, and switching between sources. That keeps behavior consistent and traceable, regardless of which source happens to respond.

2. From Odds to Probability

The starting point is always decimal odds. The raw implied probability for an outcome is calculated as:

Implied probability = 1 / odds

If you sum the implied probability for every outcome in a market, the total always exceeds 100%. That excess is the bookmaker's margin — often called the vig or overround — and it's how the bookmaker secures a profit regardless of outcome.

We'll follow one match through the entire calculation chain below as a concrete example: a 1X2 market with odds of 2.10 / 3.40 / 3.80 for home win, draw, and away win respectively.

OutcomeOddsImplied probability
Home win2,1047,6%
Draw3,4029,4%
Away win3,8026,3%
Total103,3%

The total comes to 103.3%, i.e., 3.3 percentage points above 100%. That's the bookmaker's margin on this market.

3. De-vigging (Margin Removal)

To get to the market's actual estimate of the probabilities, the margin has to be removed. This is done proportionally, so each outcome's share of the excess is proportional to its own implied probability, and the total after removal comes to exactly 100%. The result is called fair probability — the market's estimate without the bookmaker's markup.

Fair probability = Implied probability / Sum of implied probabilities
Fair odds = 1 / Fair probability

For the home win in our example: 47.6 / 103.3 = 46.1%. That gives fair odds of 2.17 — the odds the market, without its margin, actually considers the home win to be worth.

OutcomeImplied probabilityFair probabilityFair odds
Home win47,6%46,1%2,17
Draw29,4%28,5%3,51
Away win26,3%25,4%3,94

4. Edge Calculation

With a fair probability in hand, we can compare it against what other bookmakers actually offer. The difference — the edge — is calculated like this:

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

Continuing the example: the fair probability for the home win is 46.1%. Another bookmaker offers 2.45 on the same outcome. That gives an edge of:

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

An edge of +12.9% means that, according to our model, the bookmaker's odds are noticeably higher than what the outcome is statistically worth.

Not every positive edge gets published. Two thresholds must be met before a bet is shown to members:

  • Edge must exceed 3%. Smaller deviations fall within the normal noise of the model and the data.
  • Odds above 3.50 are not published. At such high odds, the variance in individual outcomes becomes too high for the edge figure to be meaningful in practice.

In our example, odds of 2.45 with an edge of +12.9% clear both thresholds and would be published.

5. Stake Level (Units)

Recommended stakes are expressed in units. One unit equals SEK 100. The stake scales up with the size of the edge:

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

High odds reduce the stake further, since the variance and risk of individual outcomes increase with higher odds. In our running example, an edge of +12.9% results in a stake of 3 units, i.e., SEK 300, at odds of 2.45.

6. Grading

Bets are graded automatically against real match results. There's no manual involvement in grading and no cherry-picking of which bets count.

Profit = units × (odds − 1)
Loss = −units
Void = 0

Void is used for a canceled match, an invalid market, or if the bet couldn't be graded against a reliable source for technical reasons.

Finishing the example with a winning bet: 3 units at odds 2.45 gives 3 × (2.45 − 1) = 3 × 1.45 = 4.35 units in profit, i.e., SEK 435 on a stake of SEK 300.

Odds are timestamped at publication. The odds we report in statistics and results are the odds available when the bet was published — not a better price that may have appeared later.

7. CLV (Closing Line Value)

CLV measures our published odds against the market's closing odds — the last odds available before the match started. Positive CLV over time is considered the strongest indicator that a model has real, lasting edge, since the closing odds reflect all the information the market has had time to price in.

Being upfront: Measuring CLV requires saving closing odds at match start. BetSynq is starting to collect this going forward. Historical bets lack closing odds and can't be recalculated retroactively. CLV will therefore only be reported once there's enough data to be meaningful. We'll say it plainly, with no excuses: right now, there's no historical CLV figure to show.

8. What We DON'T Do

  • We don't hide losing bets. Every published bet is graded and reported, regardless of outcome.
  • We don't adjust odds after the fact. The odds we report are always the ones available at the time of publication.
  • We don't show returns on data where odds are missing. If there isn't enough data for an accurate calculation, we show no figure instead of a guess.
  • We don't promise profit. Positive edge is a mathematical advantage over time, not a guarantee of the outcome in any single bet.