90 pre-match stats per match, computed without looking ahead.
Form over 5, 10 and 20 matches, xG and OAxG (opponent-adjusted xG), rest, standings, shots, corners, cards, league context — and the real outcomes to predict. Every stat only uses matches played before the match day.
Choose your option
One purchase, one download: CSV + Parquet and a README documenting every column.
Football Machine Learning
2021 → 2026, 15 leagues.
- 28,036 matches, one file per season + a combined file
- Computed by ProbWin, not a provider re-export
- Joins the odds files on match_id
Download link valid 72 h, 5 downloads
Buy — €39Football Complete Pack
All 3 datasets, all seasons.
- 1X2 & Results
- Over/Under 2.5
- Machine Learning
The features are ready, the model is yours
Join the 1X2 or Over/Under odds on match_id to measure a real return.
Train a 1X2 model
Pre-match stats as inputs, result as target.
f = pd.read_parquet("football_features_all_seasons.parquet")
X = f.filter(regex="_l5$|_l10$|oaxg|days_rest|ranking")
y = f.resultTest OAxG
xG adjusted for the level of opponents faced, computed before each match.
f[["home_oaxg_diff", "away_oaxg_diff", "total_goals"]].corr()Join the odds
Turn a prediction into a return backtest.
odds = pd.read_parquet("football_1x2_all_seasons.parquet")
f.merge(odds, on="match_id")One rule: nothing after kick-off. Verified.
Every feature is recomputed by ProbWin from a deduplicated match history, using only matches played before the match day. Full windows required (otherwise the cell is empty); standings, league rates, season xG and OAxG are season-to-date. Independent check: 900 values recomputed, 0 difference.
History starts in 2021-22: the first weeks of that season have empty long windows. The fill rate of every column is shown below.
What's in the file — and what isn't
Included
- Form, goals, points over 5/10/20 matches
- xG and OAxG (opponent-adjusted xG), 15 leagues
- Rest, standings, shots, corners, cards
- Targets: result, total goals, both teams scored
Not included
- Odds (→ 1X2 and Over/Under files)
- Line-ups and injuries
- Cups and European competitions
Every column, with its fill rate
Measured on the delivered file. 100% = no missing values.
Match
Match identity
Targets
H/D/A result, total goals, both teams scored
Goals & form
Goals for/against over 5/10/20 matches, points, margins, home/away splits
Defence
Clean sheets (rate and count), failed to score — last 10
xG & OAxG
Rolling xG (last 5), season-to-date averages, OAxG
Schedule & table
Rest, matches in 14 days, league position and goal difference on match morning
Shots, corners, cards
Shots on target, shot share, corners, weighted cards, first-half goals
League context
League season-to-date rates, teams' recent rates
The file, exactly as you'll get it
Six real rows, main columns. Download 50 free rows with every column to check it fits your pipeline.
| match_date | league | home_team | away_team | home_goals_scored_l5 | away_goals_scored_l5 | home_oaxg_for | away_oaxg_for | days_rest_home | days_rest_away | home_ranking | away_ranking | result | total_goals |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024-11-25 | T1 | Trabzonspor | Ad. Demirspor | 1.2 | 0.8 | 1.189 | 0.94 | 16.0 | 16.0 | 14.0 | 19.0 | H | 5 |
| 2025-03-29 | E1 | Watford | Plymouth | 0.8 | 1.0 | 0.884 | 0.72 | 14.0 | 14.0 | 10.0 | 24.0 | D | 0 |
| 2025-04-12 | D1 | Borussia Monchengladbach | SC Freiburg | 2.0 | 0.8 | 1.651 | 1.221 | 6.0 | 7.0 | 6.0 | 7.0 | A | 3 |
| 2025-05-11 | N1 | Feyenoord | PSV Eindhoven | 3.0 | 3.0 | 2.532 | 3.398 | 8.0 | 8.0 | 3.0 | 2.0 | A | 5 |
| 2025-05-14 | G1 | Volos NFC | Lamia | 2.0 | 1.0 | 1.061 | 1.054 | 4.0 | 4.0 | 11.0 | 14.0 | H | 3 |
| 2025-05-25 | E0 | Liverpool | Crystal Palace | 2.2 | 1.8 | 2.567 | 2.599 | 6.0 | 5.0 | 1.0 | 12.0 | D | 2 |
Before you buy
What is OAxG?
A team's xG adjusted for the defensive and attacking level of the opponents it faced. The formula is in the README.
How do I get the file?
Right after payment a download link appears on screen and is emailed to you. The archive contains CSV and Parquet files plus a README documenting every column.
Can I use it in a commercial product?
Yes for your models, analyses and tools, commercial ones included. Reselling or redistributing the files themselves is not allowed.
A question before buying?
Email [email protected] — the founder answers, usually the same day.