33 variables pré-match par match, prêtes pour votre modèle.
Lignes Pinnacle (premier et dernier relevé avant le match), lanceurs partants, bullpen, forme sur 7 jours, lineup contre la main du partant, facteur de parc, météo — et les scores réels à prédire. Chaque colonne a été auditée pour savoir si elle était connue avant le match.
Choisissez votre formule
Un seul achat, un seul téléchargement : CSV + Parquet et un README qui décrit chaque colonne.
Modeling Features
2023 → 2025, saison régulière.
- 6 561 matchs, un fichier par saison + un fichier combiné
- Tableau « sans fuite » colonne par colonne dans le README
- CSV + Parquet
Lien de téléchargement valable 72 h, 5 téléchargements
Acheter — 29 €Pack MLB complet
Les 5 datasets, toutes saisons.
- Full-Game Odds
- First 5 Innings
- 1re manche · NRFI
- Modeling Features
- Line Movements
Entrées et cibles dans le même fichier
Les variables d'entrée et les cibles sont dans le même fichier. Vous choisissez les colonnes, le README vous dit lesquelles sont sûres pour un backtest.
Entraîner un modèle de totals
Variables pré-match en entrée, total_runs en cible.
df = pd.read_parquet("mlb_modeling_features_2023_2025.parquet")
X = df.filter(regex="^(line_|sp_.*xwoba|bullpen|vavg|evavg|park|temp)")
y = df.total_runsBacktest sans fuite
Préférez sp_*_xwoba_allowed (calculé avant le jour du match) à sp_*_xera (agrégat de fin de saison).
safe = df[df.sp_home_xwoba_pa >= 30]
safe[["sp_home_xwoba_allowed", "total_runs"]].corr()Premier contre dernier relevé
Le total bouge dans environ un match sur deux ; F5 et run line bougent rarement. Notre premier relevé n'est pas l'ouverture du marché.
(df.line_ft_current != df.line_ft_open).mean()Audité colonne par colonne : connu avant le match, ou pas.
Les fenêtres glissantes (vitesse, exit velo, HR sur 7 jours, bullpen sur 14 jours, lineup contre le partant) se ferment strictement avant le jour du match. Le xwOBA concédé par le partant est cumulé depuis le début de saison, strictement avant le match.
Deux familles ne sont pas « sans fuite » et nous le disons : le xERA du partant est un agrégat de fin de saison, et la météo est celle observée le jour J, pas la prévision.
Ce qui est dans le fichier — et ce qui n'y est pas
Sûr pour un backtest
- Lignes Pinnacle (premier et dernier relevé avant le match)
- Forme sur 7 jours
- Lineup contre la main (G/D) du partant, 14 jours
- xwOBA concédé par le partant, cumulé avant le match
À manier avec précaution
- sp_*_xera et xera_diff : agrégat de fin de saison
- temp_c, wind_kph : météo observée, pas prévue
- bullpen_era_* : approximation (HR concédés à partir de la 6e manche, 3 manches imputées par jour de match), pas l'ERA officielle
- Trous < 2 % et xwOBA des partants à moins de 30 PA : remplacés par la moyenne de la ligue (sp_*_xwoba_pa l'indique)
- score_*, total_runs*, margin : ce sont les cibles
- Saison 2026 : non incluse
Toutes les colonnes, avec leur taux de remplissage
Mesuré sur le fichier livré. 100 % = aucune valeur manquante.
Match
Identifiant MLB, date, équipes, heure prévue
Lignes Pinnacle
Total, F5 et run line : premier et dernier relevé avant le match
Lanceurs partants
Identité, main, xERA (agrégat de saison), xwOBA concédé avant le match et nombre de PA
Bullpen et forme
Proxy bullpen 14 j ; vitesse, exit velo et HR des matchs de l'équipe sur 7 j (les deux équipes) ; xwOBA de l'attaque contre la main du partant, 14 j
Environnement
Facteur de parc, météo observée, stade couvert
Cibles
Scores réels (plein match et F5), totaux, écart
Le fichier, tel que vous le recevrez
Six lignes réelles, colonnes principales. Téléchargez 50 lignes gratuites avec toutes les colonnes pour vérifier que tout colle à votre pipeline.
| game_date | away_team | home_team | line_ft_current | sp_away_name | sp_home_name | sp_away_xwoba_allowed | sp_home_xwoba_allowed | bullpen_era_away | bullpen_era_home | park_pf | temp_c | total_runs |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-05-13 | LAA | SD | 7.5 | José Soriano | Dylan Cease | 0.3224 | 0.3142 | 3.46 | 2.5 | 0.93 | 16.3 | 10 |
| 2025-06-01 | MIL | PHI | 8.0 | Jose Quintana | Ranger Suárez | 0.3314 | 0.2555 | 1.38 | 1.5 | 1.03 | 19.5 | 7 |
| 2025-06-23 | NYY | CIN | 10.0 | Allan Winans | Nick Lodolo | 0.3162 | 0.3134 | 0.92 | 1.5 | 1.08 | 33.8 | 7 |
| 2025-07-03 | MIN | MIA | 8.0 | David Festa | Eury Pérez | 0.3343 | 0.3035 | 0.69 | 1.0 | 0.92 | 30.3 | 5 |
| 2025-07-28 | AZ | DET | 8.5 | Eduardo Rodriguez | Troy Melton | 0.3203 | 0.3162 | 1.33 | 1.8 | 0.97 | 27.3 | 6 |
| 2025-08-04 | TOR | COL | 12.0 | Eric Lauer | Tanner Gordon | 0.2769 | 0.3472 | 2.77 | 1.25 | 1.32 | 34.7 | 16 |
Avant d'acheter
Pourquoi garder le xERA s'il n'est pas sans fuite ?
Pour l'analyse descriptive. Pour un backtest, utilisez sp_*_xwoba_allowed : c'est l'alternative calculée strictement avant chaque match.
Comment je reçois le fichier ?
Juste après le paiement, un lien de téléchargement s'affiche et vous est envoyé par email. L'archive contient les fichiers en CSV et en Parquet, plus un README qui décrit chaque colonne.
Puis-je l'utiliser dans un produit commercial ?
Oui pour vos modèles, analyses et outils, y compris commerciaux. La revente ou la redistribution des fichiers eux-mêmes n'est pas autorisée.
Une question avant d'acheter ?
Écrivez à [email protected] — c'est le fondateur qui répond, en général dans la journée.