Chaque soir de saison NBA, des dizaines de matchs se jouent simultanément. Analyser manuellement chaque rencontre — les statistiques rolling de chaque équipe, l'impact des blessures, la fatigue des back-to-back, les mouvements de cotes — est tout simplement impossible pour un être humain. C'est pourquoi ProbWin a développé une intelligence artificielle spécialisée dans l'analyse du basketball professionnel.
Notre système de machine learning traite des milliers de données en temps réel pour identifier les matchs où les bookmakers se trompent. Le résultat historique de cette saison 2025-26 : 69,5% de réussite sur les Totals avec un ROI de +32,8% sur plus de 220 picks. Ces chiffres sont vérifiables dans notre historique public.
Dans ce guide détaillé, découvrez comment fonctionne notre IA, quels algorithmes elle utilise, et pourquoi elle surpasse l'analyse humaine traditionnelle.
Rejoignez ProbWin gratuitement
Accédez à nos prédictions IA pour MLB, NHL et NFL. Inscription en 30 secondes.
Le modèle de machine learning : Gradient Boosting sur 50+ features
Pourquoi le Gradient Boosting
Notre modèle NBA repose sur l'algorithme Gradient Boosting (via scikit-learn), un algorithme d'ensemble qui construit séquentiellement des arbres de décision. Chaque arbre corrige les erreurs du précédent, ce qui produit un modèle final extrêmement précis.
Pourquoi ce choix plutôt qu'un réseau de neurones ou une régression logistique ?
| Critère | Gradient Boosting | Réseau de neurones | Régression logistique |
|---|---|---|---|
| Précision sur données tabulaires | Excellent | Bon | Moyen |
| Interprétabilité | Bonne (feature importance) | Faible (boîte noire) | Excellente |
| Données nécessaires | ~3 saisons suffisent | Très gourmand | Peu gourmand |
| Gestion des non-linéarités | Excellente | Excellente | Limitée |
| Temps d'entraînement | Quelques minutes | Heures | Secondes |
Le basketball est un sport où les interactions entre variables sont cruciales : un back-to-back a un impact différent selon le pace de l'équipe, son âge moyen, et si elle joue à domicile ou à l'extérieur. Le Gradient Boosting capture naturellement ces interactions.
Les 50+ features du modèle
Notre modèle ingère plus de 50 variables (features) pour chaque match. Voici les principales catégories :
Statistiques rolling (10, 5 et 20 derniers matchs) :
| Feature | Description | Fenêtre |
|---|---|---|
off_rtg_r10 |
Points marqués par 100 possessions | 10 matchs |
def_rtg_r10 |
Points encaissés par 100 possessions | 10 matchs |
net_rtg_r10 / r5 / r20 |
Différence OFF - DEF (force globale) | 5, 10, 20 matchs |
pace_r10 |
Nombre de possessions par match | 10 matchs |
efg_pct_r10 |
Effective Field Goal % (pondère les 3-points) | 10 matchs |
ts_pct_r10 |
True Shooting % (inclut lancers francs) | 10 matchs |
tov_pct_r10 |
Taux de ballons perdus | 10 matchs |
oreb_pct_r10 |
Taux de rebonds offensifs | 10 matchs |
fg3_pct_r10 / fg3_rate_r10 |
Pourcentage et fréquence des 3-points | 10 matchs |
ft_rate_r10 |
Fréquence des lancers francs | 10 matchs |
win_pct_r10 / r5 / r20 |
Pourcentage de victoires | 5, 10, 20 matchs |
Statistiques défensives adverses (Four Factors défensifs) :
opp_efg_pct_r10 → eFG% accordé aux adversaires
opp_tov_pct_r10 → Turnovers forcés
opp_oreb_pct_r10 → Rebonds offensifs concédés
opp_ft_rate_r10 → Lancers francs accordés
Ces quatre métriques défensives sont essentielles : elles mesurent non pas ce que l'équipe fait en attaque, mais ce qu'elle empêche ses adversaires de faire. Une équipe avec un opp_efg_pct bas est une défense élite.
Facteurs contextuels :
| Feature | Description |
|---|---|
home_b2b / away_b2b |
Back-to-back (match la veille) |
home_3in4 / away_3in4 |
3 matchs en 4 jours |
home_4in5 / away_4in5 |
4 matchs en 5 jours |
home_road_trip / away_road_trip |
Nombre de matchs consécutifs à l'extérieur |
rest_advantage |
Différence de jours de repos entre les deux équipes |
home_hca_factor |
Avantage du terrain spécifique à l'équipe |
is_conference_game |
Match de conférence (plus intense) |
is_division_game |
Match de division (rivalité) |
home_injury_impact / away_injury_impact |
Impact estimé des blessures |
home_stars_out / away_stars_out |
Nombre de joueurs clés absents |
Variables dérivées (engineered features) :
pace_matchup → Interaction des paces des deux équipes
net_rtg_diff → Écart de Net Rating (proxy spread)
pace_diff → Différence de pace (asymétrie de style)
combined_off_rtg → OFF Rating combiné des deux équipes
pts_trend → Tendance scoring sur les 5 derniers matchs
net_rtg_trend → Tendance de Net Rating (amélioration/déclin)
Entraînement et retraitement
Le modèle est réentraîné chaque lundi (09:00 UTC) avec les données les plus récentes. Chaque cycle d'entraînement utilise les données de 3+ saisons complètes, ce qui représente environ 3 700 matchs. Ce volume est suffisant pour que le Gradient Boosting apprenne les patterns sans surapprentissage (overfitting).
Le processus d'entraînement génère deux modèles distincts :
- totals_fade_model.pkl : prédit la probabilité que le total réel dépasse la ligne du bookmaker
- spreads_follow_model.pkl : prédit la probabilité que l'équipe à domicile couvre le spread
La méthode Game Script V2 : projeter le déroulement du match
Le problème de l'approche classique
Avant la V2, notre Analyst (l'agent IA qui évalue chaque match) raisonnait comme un simple compteur de PPG (Points Per Game). Il additionnait les moyennes de scoring, les comparait à la ligne, et concluait. Le résultat : un biais massif vers l'Under (62 picks Under contre seulement 18 Over sur la saison).
Or, dans les matchs avec un gros spread (8+ points), le total passe Over 57% du temps — parce que le garbage time en Q4 accélère le pace et gonfle le scoring. L'approche PPG ne capture pas ce phénomène.
La méthode Game Script : raisonner en scénario
Depuis février 2026, notre Analyst utilise la méthode Game Script — une approche en 5 étapes qui projette le déroulement quart par quart :
Étape 1 — Projeter le script du match (Q1 à Q4)
L'IA imagine le déroulement probable : qui mène en première mi-temps ? Y a-t-il un risque de blowout dès le Q3 ? Le garbage time en Q4 va-t-il accélérer le rythme ?
Étape 2 — Estimer le pace et les possessions
Le pace attendu est calculé avec une pondération spécifique : pace_attendu = (moyenne_pace × 0.6) + (pace_equipe_rapide × 0.4). L'équipe la plus rapide impose davantage son rythme — c'est un fait statistique vérifié sur 3+ saisons.
Étape 3 — Analyser l'impact réel des blessures
Un joueur à 25 PPG absent ne retire PAS 25 points au total. Ses remplaçants marquent aussi — typiquement, l'absence d'une star coûte entre 8 et 12 points réels, pas la totalité de sa production. Le marché surévalue souvent l'impact des absences.
Étape 4 — Construire une fourchette de total
L'Analyst construit un range pour chaque équipe : par exemple HOME 108-115, AWAY 102-110, soit un total estimé entre 210 et 225 points.
Étape 5 — Comparer au line du bookmaker
Si la ligne (ex: 219.5) se situe en dehors de la fourchette estimée → signal fort. Si elle est à l'intérieur de la fourchette → PASSER (le marché a probablement raison).
Champs JSON obligatoires
Chaque analyse produite par notre Analyst contient des champs structurés qui garantissent la rigueur du raisonnement :
{
"game_script": "BOS mène dès Q1, spread 8pts, garbage time Q4 probable",
"pace_estimate": "102.3 — rythme rapide, ~205 possessions",
"total_estimate": "HOME 112-118, AWAY 105-111 → range 217-229",
"injury_analysis": "Tatum out → -10pts réels, mais remplacement White/Hauser",
"devils_advocate": "Contre Over: LAL défense top-10 last 10, pace ralenti",
"direction": "OVER",
"confiance": 72
}
Le champ devils_advocate est obligatoire : l'Analyst doit argumenter contre sa propre décision avant de la confirmer. C'est un mécanisme anti-biais essentiel.
Exemple concret : analyse IA d'un match NBA
Voici comment notre système analyse un match type, étape par étape.
Match : Boston Celtics vs Los Angeles Lakers
Données brutes collectées par le Scout :
| Stat | BOS (HOME) | LAL (AWAY) |
|---|---|---|
| Net Rating R10 | +8.2 | +1.4 |
| Off Rating R10 | 118.5 | 113.2 |
| Def Rating R10 | 110.3 | 111.8 |
| Pace R10 | 100.8 | 99.4 |
| Win% R10 | 80% | 50% |
| Back-to-Back | Non | OUI |
| eFG% R10 | 56.2% | 52.8% |
| Jours repos | 2 | 0 |
Ligne bookmaker : Total 219.5 | Spread BOS -7.5
Analyse Game Script de l'Analyst :
"Boston domine à domicile avec un Net Rating élite (+8.2). LAL en back-to-back, fatigue attendue surtout en Q3-Q4. Script probable : BOS prend le large dès Q2, avance de 15+ pts en Q3, garbage time en Q4 avec pace accéléré. Le B2B de LAL réduit leur défense de ~3 pts/100 poss. Pace attendu : ~101.5 (rapide), soit ~203 possessions."
Fourchette estimée : BOS 114-120, LAL 108-114 → Total 222-234
Ligne à 219.5 → en dessous de la fourchette → Signal OVER fort
Confiance : 72% → au-dessus du seuil minimum (65%) → Pick officiel
Totals vs Spreads : pourquoi les Totals sont notre spécialité
Les résultats historiques parlent d'eux-mêmes
| Marché | Taux de réussite | Profit cumulé | ROI | Picks |
|---|---|---|---|---|
| Totals | 69,5% | +72,1 unités | +32,8% | 220+ |
| Spreads | 54,1% | +6,87 unités | +2,7% | 257 |
Les Totals sont clairement le marché le plus rentable. Mais pourquoi ?
Pourquoi le marché des Totals est plus exploitable
-
Moins d'information intégrée par le public. Les parieurs récréatifs se concentrent sur "qui va gagner" (spreads/ML), pas sur "combien de points au total". Cela crée des inefficiences de prix plus fréquentes sur les totals.
-
Le pace est sous-évalué. Le pace (nombre de possessions par match) est le meilleur prédicteur du total. Or, la plupart des bookmakers ajustent principalement leurs lignes sur les moyennes de scoring, pas sur les matchups de pace spécifiques.
-
Les blessures créent des mispricings asymétriques. Quand une star est absente, le marché surréagit sur le spread mais sous-réagit sur le total. L'absence d'un scoreur ne réduit pas le total autant que le public le croit — son remplaçant marque aussi, et l'adversaire ajuste son approche.
-
Le garbage time est systématiquement sous-estimé. Dans les matchs à gros spread, le Q4 en garbage time produit un pace accéléré et du scoring supplémentaire que les lignes pré-match n'intègrent pas assez.
Les Spreads : un marché plus efficient mais exploitable
Le marché des spreads NBA est le plus surveillé au monde — les lignes sont très efficientes. Notre modèle identifie tout de même des edges, principalement dans les petits spreads (0-4 points) avec un edge de 3%+ :
| Catégorie de spread | Edge requis | Win Rate historique |
|---|---|---|
| 0-4 points | 3%+ | 70,6% |
| 4,5-8 points | 3%+ | 55,9% |
| 8+ points | Tout | ~50% (pas exploitable) |
Le Net Rating est la feature la plus importante pour les spreads : il mesure la différence entre l'efficacité offensive et défensive d'une équipe, normalisée par 100 possessions.
Le processus multi-agent : de la donnée au pick
Notre système ne repose pas sur un seul algorithme — c'est une chaîne de 5 agents spécialisés qui collaborent chaque jour.
1. Scout — Collecte et structuration des données
Le Scout s'active à 09:30 UTC (10:30 heure de Paris) et rassemble toutes les données fraîches : - Stats rolling des deux équipes (R5, R10, R20) - Cotes actuelles des bookmakers (Pinnacle, FanDuel) - Rapports de blessures et absences - Historique des 5 dernières confrontations directes (H2H) - Mouvements de cotes depuis l'ouverture
Les données sont structurées en tableaux markdown que l'Analyst peut interpréter directement.
2. Analyst — Évaluation par la méthode Game Script
L'Analyst reçoit les données du Scout et les évalue avec la méthode Game Script décrite plus haut. Il produit : - Un script de match projeté (Q1-Q4) - Une estimation de pace et possessions - Une fourchette de total ou de marge - Un score de confiance calibré (0-80%) - Un argument contradictoire (devil's advocate)
L'Analyst est alimenté par le Playbook — un document de stratégie mis à jour quotidiennement par le Learner avec les patterns gagnants et perdants récents.
3. Executor — Validation et filtrage strict
L'Executor applique des règles mécaniques avant d'officialiser un pick : - La confiance doit être dans la fenêtre calibrée (actuellement 65-100% pour les Totals, 65-74% pour les Spreads) - Les cotes doivent être disponibles et supérieures au seuil minimum - Pas de double-bet sur le même match (un Totals OU un Spread, pas les deux) - Les picks hors fenêtre sont créés en mode shadow pour que le Learner puisse les analyser
4. Writer — Rédaction de l'analyse détaillée
Le Writer rédige une analyse complète pour chaque pick officiel, visible sur notre page NBA : - Contexte du match et enjeux (classement, séries, rivalités) - Facteurs clés identifiés par l'IA - Niveau de confiance et raisonnement Game Script - Cote recommandée et mise suggérée
5. Learner — Auto-calibration post-match
C'est l'agent le plus important du système. Chaque matin à 08:30 UTC, après le settlement des résultats, le Learner analyse la performance de la veille et ajuste le système.
Le Learner : l'arme secrète de ProbWin
Le cycle d'apprentissage quotidien
Chaque matin, le Learner exécute un cycle complet :
-
Analyse des résultats : chaque pick officiel (gagnant ou perdant) est décortiqué — le Learner identifie si le raisonnement de l'Analyst était correct ou si le résultat était dû à la variance.
-
Analyse des picks shadow : le Learner examine aussi les matchs que le système a décidé de NE PAS jouer. Si ces matchs auraient été gagnants de manière systématique, le Learner peut assouplir les critères.
-
Détection de patterns : le Learner cherche des patterns récurrents. Par exemple, il a détecté que les picks CREER (créés de toutes pièces par l'Analyst, sans validation du modèle) ne gagnaient que 53% du temps contre 73% pour les picks JOUER (validés par le modèle).
-
Ajustement des seuils : les fenêtres de confiance sont recalibrées dynamiquement. Le Learner peut ajuster les seuils de ±3 points par cycle, stockés dans la table
agent_config.
Exemples d'ajustements réels
| Paramètre | Valeur initiale | Après calibration | Raison |
|---|---|---|---|
totals_min_confidence |
70% | 65% | Game Script V2 produit des scores plus bas mais plus précis |
totals_max_confidence |
85% | 100% | Aucun surconfiance détectée sur les Totals |
spread_max_confidence |
85% | 74% | Spreads > 74% performaient moins bien (marché trop efficient) |
Le Playbook : mémoire stratégique
Chaque jour, le Learner met à jour le Playbook (scripts/claude/nba/playbook.md), un document de stratégie que l'Analyst consulte avant chaque analyse. Le Playbook contient :
- Les patterns gagnants récents (ex : "Over sur les matchs à pace > 101 + gros spread")
- Les anti-patterns à éviter (ex : "ne pas compter les PPG comme signal principal")
- La méthode Game Script en résumé
- Les résultats des 7 derniers jours avec analyse
Les métriques NBA essentielles pour les pronostics
Pour bien comprendre nos analyses, voici les métriques clés utilisées par notre IA :
| Métrique | Formule simplifiée | Interprétation | Seuil élite |
|---|---|---|---|
| Net Rating | OFF Rating - DEF Rating | Force globale de l'équipe | > +7.0 |
| Pace | Possessions par 48 min | Rythme de jeu | > 101 (rapide) |
| eFG% | (FG + 0.5 × 3PM) / FGA | Efficacité au tir (pondère les 3-points) | > 55% |
| TS% | PTS / (2 × (FGA + 0.44 × FTA)) | Efficacité réelle (inclut lancers francs) | > 60% |
| TOV% | TOV / (FGA + 0.44 × FTA + TOV) | Taux de ballons perdus | < 13% |
| OREB% | OREB / (OREB + Opp DREB) | Secondes chances en attaque | > 30% |
| FT Rate | FTA / FGA | Capacité à aller sur la ligne | > 0.25 |
Lecture rapide : un Off Rating > 115 indique une attaque élite. Un Def Rating < 110 indique une défense élite. Ces seuils sont intégrés dans les guides de lecture fournis à l'Analyst.
Comment utiliser nos picks NBA
Gestion de bankroll recommandée
Notre recommandation pour tirer le meilleur parti de nos picks :
- Mise fixe (flat betting) : Pariez toujours le même montant (1-3% de votre bankroll) par pick. C'est la méthode la plus fiable sur le long terme.
- Ne courez pas après les pertes : une série perdante fait partie du jeu, même avec un taux de réussite historique de 69,5%.
- Suivez tous les picks : la sélectivité réduit l'avantage statistique. Si vous ne suivez que les picks qui vous "parlent", vous introduisez un biais humain.
- Soyez patient : l'edge se manifeste sur le long terme (50+ picks minimum). Sur 10 picks, la variance peut masquer l'avantage.
Ce qu'il ne faut PAS faire
- Ne combinez pas nos picks en parlays (cela réduit drastiquement le ROI)
- Ne doublez pas la mise après une perte (martingale = ruine assurée)
- Ne pariez pas sur un match que notre système a décidé de passer
- Ne modifiez pas les picks (par exemple, jouer Over quand nous recommandons Under)
Où placer vos paris
Pour obtenir les meilleures cotes et maximiser votre ROI, nous recommandons les bookmakers avec les marges les plus faibles : - Pinnacle (via AsianConnect pour la France) — marges les plus basses du marché - BetOnline — accessible mondialement - Les exchanges comme Betfair — 0% de marge (commission uniquement)
FAQ : questions fréquentes sur nos pronostics NBA IA
L'IA peut-elle vraiment battre les bookmakers ?
Oui, mais pas sur tous les marchés. Les bookmakers sont extrêmement efficaces sur les spreads et les moneylines, car c'est là que se concentre le volume de paris. En revanche, le marché des Totals est moins surveillé par le grand public, ce qui crée des inefficiences exploitables par notre modèle. Notre historique sur 220+ picks Totals cette saison le confirme.
Combien de picks par jour émettez-vous ?
En moyenne, 2 à 4 picks par soirée NBA — uniquement quand notre modèle identifie un edge significatif. Les soirs où le marché est bien calibré, nous pouvons n'émettre aucun pick. La discipline de ne jouer que quand l'avantage est réel est la clé de la rentabilité.
Pourquoi ne pas parier sur tous les matchs ?
Parce que les bookmakers ont raison la plupart du temps. Sur un soir typique de 10 matchs NBA, notre modèle ne détecte un edge exploitable que sur 2-4 d'entre eux. Parier sans edge revient à jouer contre la marge du bookmaker — une stratégie perdante à long terme.
Le modèle s'adapte-t-il en cours de saison ?
Absolument. Le Learner recalibre les seuils quotidiennement, et le modèle est entièrement réentraîné chaque lundi avec les données les plus récentes. Les trades en cours de saison sont intégrés dès le match suivant via les stats rolling.
Quelle bankroll faut-il pour commencer ?
Nous recommandons une bankroll de départ permettant de supporter au moins 100 mises unitaires. Si vous misez 10 EUR par pick, prévoyez 1 000 EUR de bankroll. Cela assure que les inévitables séries perdantes ne vous mettent pas en danger.
Pour approfondir votre compréhension des paris NBA, consultez nos guides sur le Pace et les Totals NBA, le Net Rating, les back-to-back, et la gestion de bankroll.






