
Baseline — NBA Game and Data Analysis
Baseline — une analyse NBA qui montre son travail
⚠ Analyse statistique NBA uniquement — aucun conseil de pari ni de jeu d'argent. Chaque chiffre ci-dessous est une probabilité modélisée assortie d'une plage d'incertitude explicite : ce n'est ni une sélection ni une recommandation. L'outil n'attribue aucune étiquette d'action et ne présente jamais un résultat comme certain.
Ce qu'il fait
Baseline transforme une affiche NBA en une analyse statistique reproductible, construite uniquement à partir de statistiques NBA publiées. Demandez un match : vous obtenez un score modélisé, la marge à domicile, le spread, le total, la probabilité de victoire et une plage centrale de 60 %. Demandez un joueur : vous obtenez les minutes attendues, ainsi que les points, rebonds, passes, tirs à trois points et PRA modélisés.
La différence tient à ce qui se trouve derrière le chiffre. Chaque analyse porte sa version de modèle, sa date de coupure des données, sa saison source et — lorsqu'une saison n'a encore aucun match — un indicateur explicite de repli. Les tableaux sont produits par un moteur déterministe, et non par un modèle de langage qui improvise de la prose : la même requête à la même date de coupure renvoie la même réponse.
Quand l'utiliser
- Une lecture d'avant-match sur une affiche précise. « Lakers contre 76ers le 23 octobre — que dit le modèle ? » Vous voulez un score, une marge et une probabilité de victoire issus de statistiques publiées, pas d'une impression.
- Une nouvelle saison avec un effectif remanié. Les effectifs changent chaque été. Baseline reconstruit une rotation de 240 minutes à partir de l'effectif actuel et de l'historique NBA de chaque joueur, au lieu de réutiliser discrètement l'équipe de l'an dernier.
- Un chiffre de joueur avec une raison en minutes. Les minutes pilotent l'estimation, et les statuts des coéquipiers les réaffectent : « pourquoi ce chiffre est-il celui-là ? » a donc une vraie réponse.
- Vous devez justifier le chiffre. Analystes, journalistes et joueurs de fantasy qui doivent expliquer d'où vient un chiffre obtiennent la date de coupure, la saison source, la rotation et le JSON complet.
Comment ça marche
- Construire la rotation. Pour un match à venir, le CLI récupère les effectifs publiés des deux équipes pour la saison cible et l'historique NBA de chaque joueur sur la saison précédente, puis estime une rotation de dix joueurs sur 240 minutes, plafonnée à 38 minutes par joueur.
- Rétrécir les priors. Le rating offensif, le rating défensif et le rythme sur le terrain du joueur sont ramenés vers la moyenne de la ligue de la saison précédente selon
0.60 × min(1, prior_player_minutes / 1200), puis pondérés par les minutes de rotation estimées. - Mélanger effectif et équipe. Le profil de l'effectif est mélangé au profil de l'équipe précédente via
clamp(0.90 − 0.45 × retained_prior_rotation_minutes_share, 0.45, 0.90). Plus la rotation de la saison passée a disparu, plus le modèle fait confiance au nouvel effectif : le turnover change le chiffre, pas seulement l'étiquette de confiance. - Absorber les vrais matchs. Dès que les deux équipes ont joué, leur profil observé est intégré selon
games / (games + 12). Un échantillon d'un seul match déplace à peine le chiffre. - Convertir en points. Chaque attaque est confrontée à la défense adverse autour de la moyenne de la ligue, convertie au rythme modélisé, puis ajustée pour l'avantage du terrain et le repos connu.
- Quantifier l'incertitude. Une distribution normale des résidus produit la probabilité de victoire et toute probabilité de seuil que vous demandez. Le turnover et les joueurs sans historique NBA élargissent la plage au lieu d'être masqués.
Pourquoi c'est différent
- Il modélise qui joue réellement. La plupart des analyses rapides réutilisent les ratings de l'équipe de la saison passée. Baseline construit une rotation à partir des effectifs publiés et de l'historique de chaque joueur, puis réaffecte ces 240 minutes quand un rapport de blessures officiel déclare quelqu'un absent.
- Le chiffre est reproductible. Le CLI rend le rapport et estampille chaque exécution avec la version du modèle, la date de coupure, la saison source et les indicateurs de repli. Relancez l'analyse et retrouvez le même chiffre, ou ouvrez le JSON et remontez la trace. Un modèle de chat qui répond de mémoire ne peut faire ni l'un ni l'autre.
- Sources nommées, valeurs étiquetées. Les statistiques d'équipe et de joueur proviennent des statistiques publiques d'ESPN ; les statuts de blessure proviennent des PDF horodatés du rapport officiel de blessures de la NBA, sur un domaine figurant sur la liste blanche. Tout ce que la source ne publie pas — les ratings individuels et l'usage — est calculé ici par une formule explicite et étiqueté comme calculé, sans être présenté comme publié. Si un effectif ou une source requis est indisponible, l'exécution échoue et le dit : elle ne substitue pas silencieusement une autre source et ne devine pas.
Exemple
Entrée : game --home PHI --away BOS --season 2026-27 --as-of 2026-11-10 (facultatif : --margin-threshold 4.5 ou --total-threshold 224.5)
Sortie : un titre d'affiche et trois tableaux Markdown — un tableau modèle/contexte avec les scores, la marge à domicile et sa plage centrale de 60 %, le total, la probabilité de victoire, la disponibilité, les saisons sources et la confiance ; un tableau des effectifs des deux équipes avec les forces, faiblesses, principales arrivées et principaux départs modélisés, et les effets du personnel sur l'attaque, la défense et le net pour 100 possessions ; et un tableau d'impact du personnel sur deux équipes avec les minutes des nouveaux venus, des signaux de rôle, ainsi que les changements de minutes et de statistiques liés à la disponibilité.
La sortie d'exemple de cette commande donne Philadelphie 113.2, Boston 115.3, marge à domicile −2.0, probabilité de victoire 0.4426 — un léger avantage pour Boston, ce que disait le modèle plutôt qu'un pronostic forcé.
Formats d'entrée
- Une demande en langage naturel nommant les deux équipes et la date
- Sélection de la saison (
2025-26,2026-27) et une date cible explicite--as-of - Un nom de joueur, avec ou sans équipe
- Sélection facultative de la statistique :
pts,reb,ast,fg3m,praouall - Des seuils facultatifs que vous fournissez vous-même — marge, total ou une statistique de joueur
- Une URL directe facultative vers un PDF officiel de rapport de blessures NBA (doit être sur
official.nba.comouak-static.cms.nba.com) - Des ajustements de scénario manuels facultatifs, en points
- Une sortie en tableaux Markdown rendus en chinois ou en anglais, ou le JSON complet via
--format json/--output
Couverture et profondeur des données
Source : statistiques publiques ESPN, plus les PDF horodatés du rapport officiel de blessures de la NBA sur un domaine en liste blanche.
- Profil d'équipe — rating offensif, rating défensif, net rating, rythme, matchs joués
- Forme récente — les N derniers matchs du club, pour le mélange en cours de saison
- Contexte de repos — le calendrier et les dates du club lui-même
- Historique de match du joueur — minutes, points, rebonds, passes, tirs à trois points et dates, match par match
- Prior de rôle et d'usage du joueur — minutes de la saison, ratings et usage ; les ratings individuels et l'usage sont calculés ici plutôt que publiés
- Taux par 36 minutes — points, rebonds, passes, tirs à trois points
- Calendrier — identifiants de match, dates et désignation domicile/extérieur
- Effectif — l'effectif de la saison cible ; pour une saison passée, reconstruit à partir des statistiques de cette saison
- Disponibilité — PDF horodaté du rapport officiel de blessures de la NBA
Ce qu'il ne fait pas
- Il ne vous dira pas quoi faire du chiffre. Les seuils viennent de vous ; l'outil renvoie uniquement la probabilité modélisée au-dessus, sans étiquette d'action.
- Il ne confirmera pas un cinq de départ ni une restriction de minutes. Les rapports officiels ne prouvent pas une composition, donc ce champ reste indisponible sauf si vous fournissez une source officielle confirmée.
- Ce n'est pas un ensemble entraîné. Aucun ajustement d'hyperparamètres, aucune défense spécifique à un joueur adverse, aucune variable de déplacement, d'altitude ou d'arbitrage, aucune possession par possession.
- Il n'est pas encore calibré. Le statut de validation du modèle indique que ses poids et ses termes d'incertitude n'ont pas été entraînés en walk-forward. Considérez la confiance comme faible quand les échantillons sont petits ou que la disponibilité est inconnue.
- Il ne donnera pas les postes ni les numéros de maillot d'un effectif passé. Pour un match historique, l'effectif est reconstruit à partir des statistiques de cette saison — tous ceux qui ont enregistré des minutes — donc il est juste sur qui a joué, et dit clairement que le poste et le numéro sont indisponibles plutôt que de deviner.


