Advanced ML Football Betting Market Predictor
Budget / Salary€250–750
TypeFreelance project
LocationRemote
Posted3 hours ago
Football match prediction model (Football Manager data + sports news + ML) with probabilities for betting markets
**Project description**
We want to build a **football match prediction oracle**. For each upcoming match, it should output **calibrated probabilities** across the main betting markets and compare them with bookmaker odds to find value bets.
**Markets to cover**
- 1X2 / double chance
- Over/Under goals, BTTS (Goal/No Goal), correct score
- Corners, cards
- Player markets: anytime scorer, assist, "score and assist"
- Any bettable market
**Training data**
- About **10,000 matches, roughly 5 seasons (2021/22 to 2025/26) across 5–6 leagues** (e.g. the top 5 European leagues plus one more).
- The goal is to learn from historical outcomes how likely each event is, given the pre-match situation.
**Data sources (none are in place yet; you'll help us get them)**
1. **Football Manager databases:** player and team attributes, potential, reputation and squad depth, one edition per season. We will buy the game licences together, and you will handle extraction (in-game editor, community exports or similar).
**One season is missing:** FM25 was cancelled, so **there is no official FM database for 2024/25**. We need a sensible way to rebuild or estimate it (e.g. interpolating between FM24 and FM26). Please explain your approach.
Each match may only use the FM edition available **before** that match, so the model never sees future information.
2. **Match data:** results, stats (shots, corners, cards), xG, lineups and minutes played, plus historical opening and closing odds.
3. **Sports news:** we have no source yet. Please quote either a **paid subscription/API** or **crawling of free sites** (RSS, GDELT, sports news sites), and tell us which you recommend.
4. **Context:** weather at kick-off, pitch, travel distance, rest days, referee, and anything else you think is useful.
**News → model features (important)**
We want an **LLM to turn news into structured scores** that the ML model can use: positive (+++) or negative (---) impact on morale, injuries, statements, incidents, training, transfers and so on. Every score needs a timestamp, and only news published before kick-off may be used.
**Modelling**
- We're thinking of **CatBoost**, but we're open to better proposals.
- Probabilities must be **consistent across markets**. For example, Over 2.5 and BTTS shouldn't contradict each other, which suggests a goal-distribution model such as Dixon-Coles or Poisson combined with gradient boosting.
- Corners, cards and player markets can use their own models.
- Please explain your proposed architecture and why.
**Validation (required)**
- Walk-forward backtest on seasons the model hasn't seen
- Log-loss, Brier score, RPS, calibration plots
- Comparison against **bookmaker closing odds** and simulated ROI
We understand betting markets are efficient and don't expect guaranteed profit. We want an honest assessment of where the model has an edge.
**Deliverables**
- Data pipeline (historical backfill plus automated daily updates)
- Trained models plus retraining scripts
- Backtest report
- Simple output: REST API, dashboard or daily report of probabilities and value bets
- Documentation and handover
**What to include in your bid**
1. A short explanation of your approach: model architecture, how you'd handle the missing FM season, and your news/LLM pipeline.
2. **Price and timeline for each phase:** data acquisition, news pipeline, modelling, backtesting, deployment.
3. **Estimated recurring monthly costs** (data APIs, news, weather, LLM, server), in a lean option and a professional option.
4. Optional: a cheaper **MVP** option (fewer markets, no news) so we can test for an edge first.
5. Relevant past work: sports analytics, betting models, ML on tabular data, web scraping, LLM pipelines.
6. Any other idea on how to built it, architecture and data source, is more than welcome. Result is to make a reliable oracle with an hit rate of over 50% regarding quotes of more than 2.
**Project description**
We want to build a **football match prediction oracle**. For each upcoming match, it should output **calibrated probabilities** across the main betting markets and compare them with bookmaker odds to find value bets.
**Markets to cover**
- 1X2 / double chance
- Over/Under goals, BTTS (Goal/No Goal), correct score
- Corners, cards
- Player markets: anytime scorer, assist, "score and assist"
- Any bettable market
**Training data**
- About **10,000 matches, roughly 5 seasons (2021/22 to 2025/26) across 5–6 leagues** (e.g. the top 5 European leagues plus one more).
- The goal is to learn from historical outcomes how likely each event is, given the pre-match situation.
**Data sources (none are in place yet; you'll help us get them)**
1. **Football Manager databases:** player and team attributes, potential, reputation and squad depth, one edition per season. We will buy the game licences together, and you will handle extraction (in-game editor, community exports or similar).
**One season is missing:** FM25 was cancelled, so **there is no official FM database for 2024/25**. We need a sensible way to rebuild or estimate it (e.g. interpolating between FM24 and FM26). Please explain your approach.
Each match may only use the FM edition available **before** that match, so the model never sees future information.
2. **Match data:** results, stats (shots, corners, cards), xG, lineups and minutes played, plus historical opening and closing odds.
3. **Sports news:** we have no source yet. Please quote either a **paid subscription/API** or **crawling of free sites** (RSS, GDELT, sports news sites), and tell us which you recommend.
4. **Context:** weather at kick-off, pitch, travel distance, rest days, referee, and anything else you think is useful.
**News → model features (important)**
We want an **LLM to turn news into structured scores** that the ML model can use: positive (+++) or negative (---) impact on morale, injuries, statements, incidents, training, transfers and so on. Every score needs a timestamp, and only news published before kick-off may be used.
**Modelling**
- We're thinking of **CatBoost**, but we're open to better proposals.
- Probabilities must be **consistent across markets**. For example, Over 2.5 and BTTS shouldn't contradict each other, which suggests a goal-distribution model such as Dixon-Coles or Poisson combined with gradient boosting.
- Corners, cards and player markets can use their own models.
- Please explain your proposed architecture and why.
**Validation (required)**
- Walk-forward backtest on seasons the model hasn't seen
- Log-loss, Brier score, RPS, calibration plots
- Comparison against **bookmaker closing odds** and simulated ROI
We understand betting markets are efficient and don't expect guaranteed profit. We want an honest assessment of where the model has an edge.
**Deliverables**
- Data pipeline (historical backfill plus automated daily updates)
- Trained models plus retraining scripts
- Backtest report
- Simple output: REST API, dashboard or daily report of probabilities and value bets
- Documentation and handover
**What to include in your bid**
1. A short explanation of your approach: model architecture, how you'd handle the missing FM season, and your news/LLM pipeline.
2. **Price and timeline for each phase:** data acquisition, news pipeline, modelling, backtesting, deployment.
3. **Estimated recurring monthly costs** (data APIs, news, weather, LLM, server), in a lean option and a professional option.
4. Optional: a cheaper **MVP** option (fewer markets, no news) so we can test for an edge first.
5. Relevant past work: sports analytics, betting models, ML on tabular data, web scraping, LLM pipelines.
6. Any other idea on how to built it, architecture and data source, is more than welcome. Result is to make a reliable oracle with an hit rate of over 50% regarding quotes of more than 2.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.