Étude de Cas Spécialisée • Sports Analytics & Data Engineering

NCAA Project : Analyse Avancée & Modélisation Play-by-Play

Développement d'un pipeline complet d'extraction de données sportives en temps réel, modélisation prédictive des probabilités de victoire (Win Probability) et restitution spatiale des performances de basketball universitaire américain (NCAA Division 1).

Universités D1
353

Équipes référencées avec couleurs

Période Couverte
2001-2025

+23 saisons de Play-by-Play

Précision Tir
50 × 47 ft

Coordonnées demi-terrain (x, y)

Modèle Prédictif
Live WP

Calibré sur cotes Vegas & score

Gouvernance & Provenance de la Donnée

Dates Clés & Origine des Données

Comprendre le périmètre temporel, la source d'acquisition et les méthodes de fiabilisation du jeu de données.

Couverture Temporelle & Calendrier

Périodes historiques prises en charge par le pipeline

2001 - 2025

Historique Play-by-Play & Box Scores

Couvre plus de 23 saisons de basketball NCAA masculin Division 1. Chaque match contient l'historique complet des actions, scores intermédiaires et statistiques des joueurs.

2016 - Présent

Modélisation Win-Probability & Vegas Spread

Intégration systématique des cotes et handicaps d'avant-match de Las Vegas (home_favored_by). Pour les matchs antérieurs ou sans cote, un algorithme d'imputation basé sur la force relative des équipes est appliqué.

2019 - Présent

Coordonnées Spatiales de Tirs (Shot Tracking)

Disponibilité des coordonnées cartésiennes de tir (shot_x, shot_y) suite au déploiement du tracking spatial par ESPN, permettant de tracer les Shot Charts et Heatmaps.

Temps Réel

Fréquence de Rafraîchissement

Extraction en direct seconde par seconde lors des rencontres en cours (live scraping) ou par batch nocturne via la fonction calendrier maître (get_master_schedule()).

Origine & Provenance des Données

Fournisseurs officiels, APIs et réconciliation des entités

ESPN Men's College Basketball API Source Principale

Flux d'ingestion primaire collectant les flux Play-by-Play bruts, les identifiants de match ESPN (game_id), les compositions d'équipes et les fiches box score détaillées.

Chartes Graphiques & Couleurs Officielles TeamColorCodes

Base de données normalisée ncaa_colors regroupant les codes hexadécimaux primaires, secondaires et tertiaires pour les 353 universités de Division 1, garantissant la fidélité visuelle des graphiques.

Dictionnaire Multi-Sites (Réconciliation d'IDs) Cross-Matching

Table de correspondance dict reliant les dénominations d'équipes entre NCAA.com, ESPN, WarrenNolan.com, BartTorvik (Trank) et 247Sports.

Contrôle Qualité & Données Anormales Validation Tidyverse

Flag automatique des événements mal horodatés (wrong_time), détection des prolongations (OT1, OT2), et exclusion des doublons lors des sauvegardes automatisées.

Division 1 NCAA • Groupes & Équipes

Les Universités & Conférences Majeures

Le projet supporte l'ensemble des 353 universités de Division 1 NCAA. Découvrez ci-dessous la répartition par grands groupes de compétition (Big 12, ACC, Big Ten, SEC, Big East...), avec leurs logos, chartes graphiques officielles et identifiants ESPN.

Big 12 16 Universités

Big 12 Conference

Considérée par les modèles métriques (NET & KenPom) comme la conférence la plus difficile et intense du pays.

Équipes phares : Kansas, Houston, Baylor, Iowa State, Texas Tech, Arizona.
ACC 18 Universités

Atlantic Coast (ACC)

Le berceau des plus grandes rivalités historiques du basket universitaire américain et de multiples titres nationaux.

Équipes phares : North Carolina, Duke, Virginia, Syracuse, Louisville.
Big Ten 18 Universités

Big Ten Conference

Réputée pour sa rigueur tactique, ses arènes pleines à craquer et son impact physique sous les panneaux.

Équipes phares : Purdue, Michigan, Indiana, Ohio State, Michigan State, UCLA.
SEC & Big East 27 Universités

SEC & Big East

Puissance athlétique explosive (SEC) alliée à la tradition new-yorkaise et aux sacres récents d'UConn (Big East).

Équipes phares : Kentucky, Alabama, Tennessee, UConn, Villanova, Oklahoma.
Palette chromatique des 353 universités NCAA (Dataset ncaa_colors)
353 équipes calibrées • Couleurs primaires & secondaires
Couleurs NCAA
Agrandir la vue d'ensemble de toutes les 353 équipes

Explorateur des Universités par Conférence 99 Équipes

Filtrez par groupe (Big 12, ACC, SEC...) ou tapez le nom d'une université.

Architecture Logicielle & Pipeline R

Le Traitement de la Donnée en 4 Étapes

De l'appel réseau HTTP jusqu'au livrable visuel interactif pour l'analyse tactique.

01

Extraction & Web Scraping

Requêtage automatisé des endpoints ESPN. Parsing HTML et JSON avec gestion de proxies et tolérance de panne.

rvest • jsonlite • httr
02

Nettoyage & Tidy Data

Conversion des formats de temps en secondes restantes, détection des possessions et jointure des coordonnées cartésiennes de tir.

dplyr • tidyr • purrr
03

Modélisation Statistique

Estimation continue de la probabilité de victoire (calibrée sur Vegas) et calcul de l'indice de suspense GEI.

Modèle Logistique • GEI • WPA
04

Visualisations Avancées

Génération de cartes de chaleur KDE demi-terrain, réseaux de passes orientés et courbes d'élan de score.

ggplot2 • igraph • circlize
Visualisations Dynamiques Prêtes pour Portfolio

Démos Interactives en Direct

Testez le comportement des visualisations sportives générées par le package R directement dans votre navigateur.

NCAA Final Four Climax : North Carolina vs Duke Match Réel ESPN (401403405)

Reconstitution de l'évolution des probabilités de victoire en fin de rencontre.

UNC (Domicile)
72
VS
Duke (Extérieur)
71
GEI (Suspense)
9.84
Temps Restant : 00:00 • Probabilité UNC : 50.0%
Coup d'envoi (00:00) Mi-temps (20:00) Buzzer Final (40:00)
Action Instantanée : Armando Bacot réussit un tir à 2 points près du cercle sur une passe de Caleb Love. (UNC +1)
Résultats Graphiques Vectoriels

Galerie des Figures Générées en R

Cliquez sur une image pour l'afficher en haute définition avec sa syntaxe de génération.

Win Probability 16:9 HD

Probabilité de Victoire Temps Réel

Fonction moderne wp_chart_new()

Modèle Prédictif Agrandir
Heatmap Tir KDE Heatmap

Heatmap Spatiale de Tir

Densité de shoots via game_shot_chart()

Cartographie Spatiale Agrandir
Shot Chart Scatter Plot

Shot Chart Précis par Tir

Coordonnées 50x47 pieds avec issue

Précision Individuelle Agrandir
Focus Joueur circlize

Focus Joueur & Diagramme Circulaire

Visualisation du meneur via circle_assist_net()

Théorie des Graphes Agrandir
Réseau Oklahoma igraph

Réseau de Passes Décisives

Graphe pondéré via assist_net()

Réseaux Complexes Agrandir
Game Flow Flow Chart

Dynamique de Match (Game Flow)

Différentiel de points au chrono

Momentum Agrandir
Scripts Reproductibles

Code Source R & Exemples

Copiez les instructions ci-dessous pour exécuter le pipeline de scraping et de modélisation dans RStudio.

# 1. Installation de ncaahoopR et des dépendances
if (!require("devtools")) install.packages("devtools")
devtools::install_github("lbenz730/ncaahoopR")

# Charger les packages clés
library(ncaahoopR)
library(dplyr)
library(ggplot2)
Dictionnaire des Métadonnées

Schéma des Données Play-by-Play

Recherchez instantanément la définition et l'utilité de chaque variable du dataset.

Variable Type Description Détaillée (Français) Exemple