Algorithm Methodology ← Back to App

Algorithm Methodology & Transparency

Last updated: 2026-04-19 · Version 14.8 · Contact: footballinteligenceAI@gmail.com

This page provides complete transparency into how Football Intelligence generates predictions. We publish this methodology to comply with Google's YMYL Quality Rater Guidelines and to allow users to make fully informed decisions. We have nothing to hide — our model is statistically grounded and open.

1. Data Sources & League Coverage

Football Intelligence ingests historical and live match data from three primary sources:

SourceUsed ForUpdate Frequency
apifootball.comLive scores, events, standings, bookmaker predictionsReal-time / every 30 s
football-data.orgHistorical results, Poisson index construction, fixturesDaily refresh
The Odds APILive bookmaker odds from 40+ sportsbooks for value detectionReal-time on demand

Leagues covered: Premier League (England), La Liga (Spain), Bundesliga (Germany), Serie A (Italy), Ligue 1 (France), UEFA Champions League, UEFA Europa League, UEFA Conference League, Eredivisie (Netherlands), Primeira Liga (Portugal), Ekstraklasa (Poland), Scottish Premiership, Belgian Pro League.

2. The Poisson Distribution Model

The Poisson distribution is a discrete probability distribution that expresses the probability of a given number of events (goals) occurring in a fixed interval, given a known average rate (lambda, λ). In football, it was shown by Maher (1982) and Dixon & Coles (1997) that goals in a match closely follow independent Poisson processes for each team.

The core formula is:

P(k goals) = (λ^k × e^−λ) / k!

Where:
· λ = expected goals (lambda) — the mean predicted by the model
· k = number of goals (0, 1, 2, 3 ... )
· e = Euler's number ≈ 2.71828
· k! = factorial of k

By computing P(home_goals = i) and P(away_goals = j) for all i, j from 0–7, we generate a full 8×8 scoreline probability matrix. Summing the appropriate cells gives: win probability (Σ cells where i > j), draw probability (Σ diagonal), and away win probability (Σ cells where j > i).

3. Attack Strength & Defensive Record

For each team playing at home, we compute two relative indices from their season-to-date results:

attack_home = (goals_scored_at_home / home_games) / league_avg_home_goals
defense_home = (goals_conceded_at_home / home_games) / league_avg_away_goals

attack_away = (goals_scored_away / away_games) / league_avg_away_goals
defense_away = (goals_conceded_away / away_games) / league_avg_home_goals

These indices measure performance relative to the league average. A value of 1.0 means average; above 1.0 means better than average at that role.

Lambda calculation for a domestic match:

λ_home = attack_home(H) × defense_away(A) × league_avg_home_goals
λ_away = attack_away(A) × defense_home(H) × league_avg_away_goals

League average goals by competition are maintained in a calibration table updated each season. Example values: Premier League home 1.53, away 1.19; Bundesliga home 1.72, away 1.28.

4. Bayesian Regularisation

Raw attack/defense indices are unreliable when a team has played few matches (e.g., early in the season). We apply Bayesian regularisation (shrinkage toward the prior mean of 1.0):

index_regularised = (raw_index × n + prior_mean × α) / (n + α)

Where:
· n = number of matches played (min 6, max 14 for the sample window)
· α = regularisation weight = 1
· prior_mean = 1.0 (league average)

This ensures that teams with fewer than 6 matches do not generate extreme predictions. The sample window is capped at 14 games to maintain recency: only the most recent half of a team's games are used to compute the index (weighted toward recent form).

5. Home Advantage Weighting

Home advantage is intrinsically encoded in the separate home/away league averages used as multipliers. We do not apply a fixed additive home-advantage constant; instead, the multiplicative structure naturally captures the league-specific home advantage through the league_avg_home_goals parameter, which is calibrated from 5+ seasons of historical data per competition.

6. European Competition Adjustments

For UEFA Champions League and Europa League matches, teams come from different domestic leagues with different strength levels. We normalise using the UEFA country coefficient ranking (5-year method):

LeagueStrength Factor
Premier League1.10
La Liga1.06
Bundesliga1.03
Serie A0.98
Ligue 10.93
Primeira Liga0.84
Eredivisie0.81

Each team's domestic lambda is scaled by the ratio of their league's strength factor. European matches use neutral-ground averages (home: 1.40, away: 1.18) as the baseline, reflecting reduced home advantage in two-legged European ties.

7. Scoreline Probability Matrix

Using λ_home and λ_away, we compute P(i, j) for all scorelines i ∈ [0,7] and j ∈ [0,7]. From this 8×8 matrix we derive:

Fair decimal odds are computed as the inverse of the probability: fair_odds = 1 / probability. Unlike bookmaker odds, these contain no overround margin.

8. Value Betting Detection

A value bet exists when a bookmaker's offered decimal odds are higher than the fair odds derived by our model:

implied_probability = 1 / bookmaker_odds
model_probability = P(outcome) from Poisson matrix

value_edge = (model_probability − implied_probability) / implied_probability × 100%

Value bet condition: bookmaker_odds > fair_odds (i.e. value_edge > 0%)

Football Intelligence fetches live odds from 40+ sportsbooks via The Odds API and displays the highest available odds for each market. Only bets with a positive value edge are highlighted as opportunities. A value edge of 5%+ is generally considered meaningful for long-term profitability.

9. Kelly Criterion Stake Calculator

The Kelly Criterion (Kelly, 1956) is a mathematical formula for the theoretically optimal fraction of a bankroll to stake on a bet with known edge and odds:

Kelly% = (odds × model_probability − 1) / (odds − 1)

Example:
· Bookmaker odds = 2.50 (implied probability = 40%)
· Model probability = 48%
· Kelly% = (2.50 × 0.48 − 1) / (2.50 − 1) = 0.20 / 1.50 = 13.3% of bankroll

We display both Full Kelly and Half-Kelly (50% of the calculated fraction). We strongly recommend Half-Kelly or lower, because:

  1. No model has perfect probability estimation — model error means actual edge is likely lower than calculated.
  2. Full Kelly leads to high variance and bankroll drawdowns even with a genuine edge.
  3. The Kelly formula assumes independent bets and a long-run perspective.

⚠ Maximum recommended stake: Never exceed 5% of your bankroll on a single bet, regardless of what the Kelly formula calculates. Use the Half-Kelly value as a ceiling, not a target.

10. Claude Sonnet AI Layer — SportGPT

SportGPT is a conversational AI assistant powered by Claude Sonnet 4.6 (Anthropic, 2024). It receives the Poisson model output for a specific match as context and can answer natural-language questions about probability breakdowns, form analysis, staking recommendations, and market interpretation.

SportGPT does not independently calculate probabilities — it interprets and explains the outputs of the Poisson model described above. The AI layer adds natural-language reasoning, contextual knowledge (injuries, team news, head-to-head history from its training data), and personalised staking advice based on the user's bankroll and risk profile.

Model: Anthropic claude-sonnet-4-6 (claude-sonnet-4-6) · Context window: Up to 20 messages of history (Elite plan) · Temperature: 0.7 (balanced reasoning)

11. Model Limitations & Accuracy

We are committed to transparent communication about what our model cannot do:

Football Intelligence displays model accuracy metrics and a settled pick history so users can evaluate actual performance over time. We do not cherry-pick results or hide losses.

12. Legal Disclaimer

Football Intelligence is an educational and informational tool only. Nothing on this platform constitutes financial advice, investment advice, or a recommendation to place any bet. All statistical outputs are for analytical purposes and carry inherent uncertainty.

Sports betting is regulated differently across jurisdictions. It is your responsibility to ensure that sports betting is legal in your country before using this information to place bets. This service is strictly for users aged 18 and over.

Sports betting involves significant financial risk. You may lose money. Never bet more than you can afford to lose. If gambling is causing you harm, please contact:
· UK: BeGambleAware.org · 0808 802 0133
· UK: GamCare.org.uk · 0808 802 0133
· PL: Centrum Wsparcia — 801 889 880
· International: GamblingTherapy.org

Questions about our methodology? Contact us at footballinteligenceAI@gmail.com

Today's Top AI Predictions — Live Data

Generated by the Poisson model described above. Open full Value Calculator →

Loading predictions… Open full app →

18+ · Not financial advice · Value Betting Guide · Full App