Methods

Data sources and forecasting methodology

Data Sources

The app uses a hybrid data source: historical seasons are imported from local backfill datasets (primarily football-data.co.uk exports), while in-season refreshes use OpenLigaDB (api.openligadb.de) for current fixtures/results and standings.

Forecasting Model

The prediction engine uses a Poisson regression model to estimate match outcomes. Each team is assigned attacking and defensive strength ratings derived from historical goals scored and conceded, adjusted for home advantage. These ratings are used to compute expected goals (xG) for each fixture, from which win/draw/loss probabilities are calculated.

Monte Carlo Simulation

Season projections are generated via Monte Carlo simulation: thousands of remaining-season scenarios are sampled using the match probability model. For each simulation run, every unplayed match is resolved and a final table is produced. Aggregating across all runs yields probability distributions for final position, points totals, promotion, and relegation.

Model Parameters

Key tuning parameters include home advantage factor (1.15×), form weight (0.55, balancing recent vs. season-long form), power tilt (0.04, scaling strength differences), and xG ratio cap (1.6, limiting extreme predictions). These were calibrated via backtesting against historical seasons.

Prediction Intervals

The PI bands shown in the forecast table represent percentile-based prediction intervals from the simulation distribution. A 90% PI means 90% of simulated outcomes for that team fall within the displayed points range. Wider intervals indicate greater uncertainty.

What-If Scenarios

Scenario mode lets you override remaining match outcomes for a selected team (e.g., "win all remaining") and observe how the projected table shifts. Manual overrides allow fine-grained control over individual matches.

Bundesliga Tracker · Data from OpenLigaDB