Bettrails
Methodology

How we measure

Where Bettrails’ numbers come from, what each model does and how we check whether they are right. No black boxes: if something is still being tested, we say so.

602,785eSoccer matches
3,091esports series
35,214NBA 2K matches
96.1 %market calibration (30 days)

01The data

We collect every match of nine virtual football leagues (GT Leagues, Esports Battle, Volta, eRivals, Adriatic, Cyber Live Arena, GG League, Valhalla and Valkyrie), of League of Legends, Dota 2, CS2 and VALORANT, and of three NBA 2K leagues. Matches and results come in every minute; the history starts in 2025.

If a league runs late or a result is missing, we don’t make it up: the match stays without a score until the real figure arrives.

02Level: ELO

Every virtual football player has an ELO: a level number that rises with wins and falls with losses, moving more the more unexpected the result. Beating a strong opponent is worth more than beating a weak one.

In esports we use our own strength ranking for LoL, Dota 2 and VALORANT, and Valve’s official ranking (VRS) for CS2.

03Virtual football: the goals model

04Esports: the models

For each series we compute who wins and, per map, the kills and duration (LoL and Dota 2) or the rounds and overtime probability (CS2 and VALORANT). Also how much the series changes if a team wins map 1, and streaks with their context: how often a streak like that continued versus the usual rate.

A new model is flagged being validated until it has been checked against new matches. A short sample is flagged too.

05NBA 2K

Matches, results, teams and head-to-heads for three leagues. The basketball model is in internal testing and will not be published until it proves accurate.

06The market, margin-free

Market prices carry a margin: their probabilities add up to more than 100 %. We remove it to read what the market really expects.

In GT Leagues matches over the last 30 days, the average over/under margin was 13.5 %.

07How we measure

Every day we compare the margin-free market probability with what really happened in every GT Leagues match of the last 30 days. Market calibration sums up how closely what it expected matches what happened: the closer to 100, the better. It is the benchmark we compare against; our own models are only used after being tested on past matches.

96.1 %market calibration (30 days)
The margin-free market said
50.1 %
What really happened
53.9 %
Matches with more goals than the line · 2,396 GT Leagues matches · 30 days

In esports we also compare our predictions with the market’s closing price. The figures on this page are recalculated automatically every day at 05:00 (Spain time).

08What we don’t do

We don’t give tips or recommendations, we don’t guarantee results and we have no ties to bookmakers, platforms or sponsors. Bettrails is analytics: data to understand the game. Adults (18+) only.

Figures updated on 07/10/2026 05:00 (UTC+02:00)