Comment fonctionne le modèle Diamond
Diamond Signal est une plateforme d'analyse statistique sportive. Cette page documente publiquement les sources de données, la méthodologie, la calibration et les limites du modèle. Aucune décision financière ou de pari ne devrait être prise sans considération personnelle.
1. Sport et périmètre
Le modèle couvre actuellement deux ligues professionnelles nord-américaines :
- MLB (Major League Baseball) — saison régulière + post-saison
- NHL (National Hockey League) — saison régulière (post-saison à venir)
Une projection est produite chaque jour à 9h45 ET (heure de l'Est) pour tous les matchs au programme du jour, soit avant les confirmations de lineups officiels qui sortent généralement 2 à 4 heures avant le coup d'envoi.
2. Sources de données
Toutes les statistiques exploitées sont publiques et obtenues en temps réel auprès des sources officielles ou conventionnelles du sport :
- MLB Stats API — calendrier, lineups probables, stats lanceurs et frappeurs, classement
- NHL Stats API — calendrier, gardiens partants, stats équipes et joueurs
- Baseball Savant (Statcast) — métriques avancées sur la qualité de contact (xERA notamment)
- Open-Meteo / Weather collectors — prévisions de vent, température et humidité pour les stades extérieurs
- Vegas / The Odds API — moneylines de référence pour le calcul de l'écart
3. Composantes du modèle
La probabilité de victoire est construite en plusieurs étapes :
Score relatif des deux équipes
Bilan victoires/défaites, ERA/GAA, OPS, run differential, WHIP et indicateurs équivalents NHL. Pondéré pour produire un baseline de probabilité home vs away.
Qualité du lanceur partant (MLB) ou gardien (NHL)
ERA et WHIP saison du starter prévu, comparés à la moyenne ligue. Ajusté selon la tendance des 3 dernières sorties.
Forme récente (10 derniers matchs)
Win rate et run differential des 10 dernières rencontres pour chaque équipe.
Rating Elo dynamique
Calcul d'Elo classique recalibré à chaque match résolu. Sert de croisement avec le score statistique pour stabiliser les prédictions face aux séries de variance.
Confrontations directes (head-to-head)
Historique des rencontres entre les deux équipes sur les 24 derniers mois.
Ajustements contextuels
Avantage du parc, conditions météo, tendances de l'arbitre du marbre, latéralité des lanceurs, fatigue du bullpen, repos du lanceur, blessures clés, splits domicile/extérieur, fuseaux horaires de voyage. Chaque facteur produit un delta borné, dont la somme est elle-même bornée pour éviter les explosions.
Lineup confirmé (refresh horaire)
Lorsque le lineup officiel est publié 2-4h avant le match, un refresh horaire (entre 11h et 18h ET) recalcule la composante lineup et applique le delta sur la prédiction matinale. Une notification est envoyée si l'écart change de manière significative (≥2 points).
xERA Statcast (MLB)
Correction sur la base de l'ERA attendue selon la qualité de contact mesurée par Baseball Savant. Permet de filtrer la chance offensive/défensive sur les saisons partielles.
Les pondérations exactes de chaque composante, ainsi que certains ajustements contextuels propriétaires développés au fil des analyses historiques, ne sont pas publiés. Le code source du modèle reste privé pour préserver la valeur du service.
4. Calibration de la probabilité
Une prédiction brute du modèle peut être sur-confiante ou sous-confiante par rapport à la réalité observée. Diamond applique une calibration Platt scaling par sport, qui apprend à transformer la probabilité brute en probabilité observée à partir de l'historique des matchs résolus.
Concrètement :
- Méthode : régression logistique à 2 paramètres (A, B), entraînée par descente de gradient sur log-loss avec régularisation L2.
- Données : tous les signaux MLB et NHL résolus depuis le lancement de la plateforme (WIN/LOSS, hors PUSH).
- Cycle : ré-entraînement automatique chaque dimanche à 16h UTC. Les paramètres mis à jour sont appliqués aux prédictions du lundi matin.
- Effet : on tire les probabilités vers leur fréquence observée. Si historiquement le modèle dit « 65 % » mais que la réalité est de 55 %, la calibration ramène automatiquement la prédiction affichée à 55 %.
5. Niveau de confiance
Chaque signal est étiqueté avec un niveau de confiance qui dépend de la quantité de données disponibles et de la cohérence des indicateurs croisés :
Stats complètes, lanceurs/gardiens identifiés, forme récente cohérente, marché de référence liquide.
Données suffisantes, mais incertitude sur l'un des facteurs (lineup pas confirmé, lanceur récent, marché peu liquide).
Données partielles ou première rencontre de la saison. À considérer avec prudence.
6. Limites connues
- Début de saison: les statistiques cumulées ont peu de valeur prédictive sur les 30 premiers matchs. Une pénalité de fiabilité est appliquée pour atténuer les prédictions extrêmes en début de saison.
- Lineup matinal: le run principal de 9h45 ET tourne avant la publication des lineups officiels. Le refresh horaire intègre le lineup quand il devient disponible, mais les matchs du début d'après-midi (1er match) ne bénéficient pas toujours d'une mise à jour avant leur coup d'envoi.
- Variance courte fenêtre: sur quelques dizaines de matchs, la précision affichée peut osciller fortement autour de sa vraie valeur. Évaluez les performances sur 100+ projections minimum.
- Marché parfois plus juste: sur certaines équipes ou périodes, le consensus public peut intégrer une information non publiée (ex : info insider sur un joueur). Les écarts modestes (<5 pp) ne sont pas systématiquement profitables.
- Pas de prédiction pour les playoffs NHL: les ajustements de fin de saison demandent un modèle dédié, pas encore déployé.
7. Cycle de vie d'un signal
- 9h45 ET — production matinale. Le bot analyse tous les matchs du jour, applique la calibration courante, persiste les signaux en base et envoie les notifications matinales.
- 11h - 18h ET — refresh horaire. Pour chaque match dont le coup d'envoi est dans 1 à 4 heures, on recalcule la composante lineup et on met à jour la prédiction si l'écart bouge significativement.
- Match en cours — la prédiction est gelée à la valeur de la dernière mise à jour. Aucun pari ou décision ne devrait être pris pendant le match.
- Après le match — résolution automatique en WIN/LOSS/PUSH. Le résultat alimente l'historique public consultable sur la page Statistiques.
- Chaque dimanche — ré-entraînement du calibrateur sur l'historique mis à jour.
8. Performance historique
Toutes les projections passées sont publiques, sans cherry-picking ni sélection a posteriori. La page Statistiques affiche le taux de réussite global, le nombre de projections et la divergence moyenne. Chaque projection y figure individuellement avec son résultat.
Les performances passées ne préjugent pas de la précision future des statistiques. Une bonne période peut être suivie d'une moins bonne, et inversement.
9. Disclaimer
10. Mises à jour de cette page
Cette page est versionnée dans le code source du projet. Toute modification matérielle de la méthodologie sera reflétée ici. Pour toute question, contactez contact@diamondsignal.app.