Skip to main content

Methodology

Understand match balance in under 60 seconds using 29 data-driven signals and probability ranges, without outcome claims or betting advice.

0
Data Signals
~0s
Reading Time
0%
Transparent

Philosophy

"Inform without persuading" is the core principle. xGoal helps you understand match balance before kickoff without making outcome claims or betting recommendations.

Probability ranges that reflect real uncertainty are more honest than fake precision. Signals, not opinions. Balance, not predictions.

What This Means in Practice

Probability ranges (35-45%), not point estimates (40%)

xGoal describes balance ("Team A shows stronger form"), not outcomes ("Team A will win")

Ranges are widened when data is limited or signals conflict

Confidence levels indicate assessment stability

The Signals

xGoal analyzes signals organized into 4 categories. General signals cover attacking, defensive, and contextual team performance. H2H signals (premium) capture opponent-specific historical patterns. Click any signal to read its full methodology, including how we calculate it, when it's most reliable, and common misconceptions.

New to football analytics? Read our complete guide to how football analytics works.

Head-to-Head

5 signals Premium

Historical patterns specific to this exact opponent matchup

Understanding Probability Ranges

Football is inherently uncertain. Instead of pretending to know exact probabilities, we show ranges that reflect real uncertainty.

Why Ranges?

A single percentage (like "40% chance of home win") implies false precision. Football outcomes depend on countless factors we can't quantify: referee decisions, individual brilliance, luck.

Ranges (like "35-45% chance of home win") are more honest. They acknowledge uncertainty while still providing useful context.

Try It Yourself

Click to see how range width changes with data certainty

Home Win45-55%
Draw22-28%
Away Win20-30%

Multiple signals align consistently

How Ranges Are Calculated

1

Start with baseline probabilities

For home wins, draws, and away wins based on historical data

2

Adjust based on signals

Strong signals shift the midpoint, conflicting signals widen the range

3

Widen when uncertain

Missing data, stale data, or conflicting signals all increase range width

4

Ensure probabilities sum correctly

All three outcomes always add to 100%

What Wider Ranges Mean

Wider ranges indicate more uncertainty, not lower quality. When signals conflict or data is limited, showing wider ranges is the honest approach. Narrow ranges only appear when multiple stable signals align.

Confidence Levels

Confidence reflects how stable and reliable the analysis is — not how likely any specific outcome is. The numbers below are from real match data (February 2026 snapshot, 22,078 matches).

High Confidence

69–82% accuracy

Data is complete, signals agree, context is stable. The engine's favoured outcome was correct in roughly 7 out of 10 matches.

Medium Confidence

47–60% accuracy

Some signals are mixed or data is incomplete. Accuracy ranges from 47–60% depending on the score — around or above coin-flip, but with notable uncertainty.

Low Confidence

35–42% accuracy

Missing or stale data, heavy signal conflicts. Below coin-flip accuracy — the analysis is shown because context is better than nothing, but treat it as a rough indicator only.

See the full accuracy breakdown by score →

Data Freshness

All data is refreshed daily at 06:00 UTC. Data is almost always fresh. Staleness only occurs close to kickoff when live events (lineup changes, late injuries) happen after the last refresh.

Fresh

< 24 hours

Normal state. Data includes latest match results, team news, injury updates from daily refresh.

Slightly Stale

24-48 hours

Rare. May miss live match context (lineups announced, last-minute injuries) for matches kicking off soon. Minor confidence impact.

Outdated

48+ hours

System failure. Should almost never happen. Indicates refresh system is not working. Confidence significantly reduced.

Daily automatic refresh at 06:00 UTC means data is fresh for 99% of matches. Staleness mainly affects live match context close to kickoff.

Prediction Quality

xGoal continuously measures prediction accuracy using the Brier score, the gold standard metric for evaluating probabilistic forecasts.

What is the Brier Score?

The Brier score measures how close our predicted probabilities are to actual outcomes. It ranges from 0.0 (perfect predictions) to 1.0 (worst possible). Lower scores indicate more accurate predictions.

Football Prediction Benchmarks:

Good Quality
< 0.25
Acceptable
High Quality
< 0.22
Strong
Excellent Quality
< 0.20
Top Tier

xGoal Brier Score

0.187 Brier Score

The CatBoost ML engine combines 29 analytical signals with pi-ratings (a proven team-strength model) into 87 features that capture non-linear interactions between team performance, context, and match conditions. Validated on 22,078 real European matches across 29 leagues and 3 seasons with 56.7% accuracy.

Where xGoal sits among published benchmarks (lower is better)

Climatology baseline (always predict league averages)0.227
Best gradient boosting without odds features0.215
Best ML model (2023 Soccer Prediction Challenge)0.211
Top statistical models convergence (Hubáček et al.)0.210
Bookmaker consensus (44 leagues)0.206
Market odds (Open Intl Soccer DB, 52 leagues)0.202
Pinnacle / Bet365 closing lines (EPL best season)0.195
EPV tracking-data model (Bundesliga, Forcher et al. 2025)0.194
CatBoost + pi-ratings (best published, 206-match test set)0.1925
“Friends of Elo” (2023 Challenge expanded set)0.1871
xGoal CatBoost ML + Pi-ratings (29 leagues, 22,078 matches)0.187

Brier score measures probability accuracy (lower is better, 0.25 = random). The 0.206 bookmaker consensus includes professional closing odds across 44 leagues. xGoal outperforms every model that doesn't rely on private tracking data or tiny single-league test sets.

Matches Evaluated
22,078
European Leagues
29
Accuracy
56.7%
ML Features
87

What xGoal Does Not Do

Transparency means being clear about limitations. Here's what xGoal explicitly does NOT do:

No Outcome Predictions

xGoal shows probability ranges and describes balance. It never claims "Team A will win" or recommends betting on any outcome.

No Accuracy Guarantees

Football is unpredictable. All insights are probabilistic assessments, not guarantees. Use them as context, not certainty.

No Private Data

All data comes from publicly accessible sports data providers. There is no insider information or proprietary sources.

No Hidden Uncertainty

When data is missing, stale, or signals conflict, wider ranges and lower confidence. Honesty over fake precision.

All insights are for educational and entertainment purposes only. Always do your own research and never risk money you can't afford to lose.

Learn More

Dive deeper into football analytics concepts and explore our signals interactively.