How omnimahui/epl-betting works
EPL Match Predictor turns historical match results, bookmaker odds and Understat xG into engineered match features, then trains and evaluates prediction models and offers a CLI for match probabilities. The README also describes a walk-forward betting strategy, but no implementation path for that strategy is present in the tree, so it is not mapped as a runtime component. Several referenced model and data-acquisition modules are also absent; links are limited to documented or excerpt-supported behavior.
Main entry points: predict.py Prediction CLI · merge.py Normalize and merge · features_v2.py Feature engineering · train_supervised.py Supervised training
Components 16
Data preparation
- Team name map
config/team_name_map.json - Normalize and merge
src/pipeline/merge.py - Unified matches
- Feature engineering
src/pipeline/features_v2.py - Match features
Prediction
- Supervised training
train_supervised.py - Trained LSTM
- RL environment
src/env/match_prediction_env.py
Evaluation and analysis
- Model metrics
src/evaluation/metrics.py - Feature ablation
src/evaluation/ablation.py - Feature importance
src/evaluation/feature_importance.py
User interface
- Prediction CLI
predict.py - Outcome probabilities
Other components
- Match data source
- Understat xG
- Match requester
Connections 17
- Match data source → Normalize and merge: provides results
- Understat xG → Normalize and merge: provides xG
- Team name map → Normalize and merge: normalizes names
- Normalize and merge → Unified matches: writes matches
- Unified matches → Feature engineering: builds from
- Feature engineering → Match features: produces features
- Feature engineering → Supervised training: builds features
- Match features → Supervised training: loads features
- Supervised training → Trained LSTM: saves model
- Match requester → Prediction CLI: requests prediction
- Prediction CLI → Match features: reads features
- Prediction CLI → Trained LSTM: uses model
- Prediction CLI → Outcome probabilities: prints probabilities
- Match features → Model metrics: evaluates predictions
- Match features → Feature ablation: compares feature groups
- Match features → Feature importance: ranks features
- Match features → RL environment: provides observations