Valeur de la possession et classement au basket en PROA

Au basketball l’efficacité d’une équipe est souvent exprimée en nombre de point par 100 possessions. Ex 115 points / 100 possessions. C’est une valeur indirectement obtenue par la Valeur de la Possession d’Hollinger (En anglais Value Of Possession – VOP). 

La VOP est également utilisée pour le calcul de l’évaluation du joueur (En anglais Player Efficiency Rating – PER).

A sa façon le VOP est une mesure de l’efficacité offensive d’une équipe. En utilisant cette statistique on part du principe que le basketball est un jeu simple et qu’il faut être le plus efficace possible à chaque possession de la rencontre, et que le plus efficace gagne la rencontre.

L’objectif dans cette analyse est de répondre à la question suivante : la VOP est-elle corrélée au classement final en PROA ?

 Pour cela nous allons utiliser les données des 5 dernières saisons (2014 à 2019) et utiliser du code en R.

Les données

Les données des 5 dernières saison de PROA ont été obtenues sur le site basketball-reference.com et sont disponibles sur mon Github.

Explorons les tableaux de données.

head(proa1415)
names(proa1415)

Pour chacune des 5 saisons de PRO nous avons les 18 équipes composants le championnat et 24 variables. Ces 24 variables sont les statistiques sur la saison.

Calcul de la VOP pour chacunes des saisons

Pour ce calcul nous aurons besoin des points (PTS), des tirs tentés (FGA), des rebonds offensifs (ORB), balles perdues (TOV) et des lancers francs (FTA). 

La VOP se calcul alors de la manière suivante :

VOP = PTS / (FGA-ORB+TOV+0.44*FTA) 

Note : Hollinger utilise un coefficient de 0.44 par lancé francs pour tenir compte du fait que les joueurs n’obtiennent pas 2 lancers francs à chaque fois en NBA. Il conviendrait de déterminer un coefficient propre à la PROA.

# VOP saison 1415
proa1415$POS<-proa1415$FGA-proa1415$ORB+proa1415$TOV+(.44*proa1415$FTA)
proa1415$VOP<-proa1415$PTS/proa1415$POS

# VOP saison 1516
proa1516$POS<-proa1516$FGA-proa1516$ORB+proa1516$TOV+(.44*proa1516$FTA)
proa1516$VOP<-proa1516$PTS/proa1516$POS

# VOP saison 1617
proa1617$POS<-proa1617$FGA-proa1617$ORB+proa1617$TOV+(.44*proa1617$FTA)
proa1617$VOP<-proa1617$PTS/proa1617$POS

# VOP saison 1718
proa1718$POS<-proa1718$FGA-proa1718$ORB+proa1718$TOV+(.44*proa1718$FTA)
proa1718$VOP<-proa1718$PTS/proa1718$POS

# VOP saison 1819
proa1819$POS<-proa1819$FGA-proa1819$ORB+proa1819$TOV+(.44*proa1819$FTA)
proa1819$VOP<-proa1819$PTS/proa1819$POS

Tous les tableaux de données correspondants à une saison ont donc à présent 2 nouvelles colonnes : POS (nombre de possessions sur la saison) et VOP.

Nous allons à présent regrouper les données de VOP dans un seul tableau et comparer les 5 dernières saisons dans un graphique.

# Rangement des données  
Saison1415 = c(VOP1419$proa1415.VOP)
Saison1516 = c(VOP1419$proa1516.VOP)
Saison1617 = c(VOP1419$proa1617.VOP)
Saison1718 = c(VOP1419$proa1718.VOP)
Saison1819 = c(VOP1419$proa1819.VOP)
VOP1419 = data.frame(cbind(Saison1415,Saison1516,Saison1617,Saison1718,Saison1819))
VOP1419<-stack(VOP1419)
names(VOP1419)[names(VOP1419) == "ind"] <- "Saison"
names(VOP1419)[names(VOP1419) == "values"] <- "VOP"

# graphique VOP par saison
boxplot(VOP1419$VOP~VOP1419$Saison,main="VOP par saison", xlab = "Saison", ylab= "VOP")
abline(h=median(proa1415$VOP),col = "red")

Si l’on prend la saison 14-15 comme référence, il semblerait que la VOP soit en augmentation. Indiquant des équipes inscrivants de plus en plus de points par possession (pour le plus grand plaisir des supporters).

Note : Cependant hormis entre les saisons 18-19 et 16-17, il n’y a pas de différences statistiquement significative. Mais nous n’entrerons pas dans les détails ici.

Corrélation en VOP et classement

Nous allons utiliser les variables du classement (Rk) et la VOP (VOP) pour répondre à notre question initiale. Nous allons tout d’abord regrouper tous les tableaux dans un seul. 

# regroupement data frame dans une seule
VOP_RK <- merge(merge(merge(merge(
  proa1415,
  proa1516, all = TRUE),
  proa1617, all = TRUE),
  proa1718, all = TRUE),
  proa1819, all = TRUE)
head(VOP_RK)

Puis ensuite explorer graphiquement cette relation.

# graphique VOP - classement
plot(x=VOP_RK$VOP, y=VOP_RK$Rk,main="Correlation VOP et Classement final PROA saisons 14-19",xlab = "VOP", ylab= "Classement")
abline(lm(VOP_RK$Rk~VOP_RK$VOP),col = "red")

La droite en rouge nous indique la relation entre le classement et la VOP. Cette relation est concrètement négative. Mais positive pour nous. En effet le classement le plus élevé est représenté par la valeur 1. Donc pour nous lorsque le VOP augmente il semblerait que le classement se rapproche du plus haut, c’est à dire 1.

Cependant on ne peut qu'observer également la dispersion des observations. De ce fait nous allons calculer le coefficient de corrélation. Pour apprécier sa valeur nous allons utiliser une échelle proposée par Will G Hopkins : 0.0-0.1 = trivial, très petit, sans substance, minuscule, pratiquement nul / 0.1-0.3 = petit, faible, mineur / 0.3-0.5 = modéré, moyen / 0.5-0.7 = grand, haut, majeur / 0.7-0.9 = très grand, très haut, énorme / 0.9-1 = presque, pratiquement ou presque: parfait, distinct, infini.

# correlation VOP et classement
summary(lm(VOP_RK$Rk~VOP_RK$VOP))

Nous obtenons un R² de 0.46. C’est à dire une corrélation modérée entre la VOP et le classement.

Conclusion

A partir des données des saisons 2014 à 2019 nous avons constaté qu’il y a avait une corrélation entre la valeur de la possession et le classement en PROA. Cette corrélation est modérée.

Malgré le fait que la VOP (ou bien encore le nombre de points marqués par 100 possession) soit une statistique souvent mise en avant au basketball elle est loin de permettre d’expliquer le résultat d’une équipe pendant la saison. 

Références :

  • Hollingern J.- Pro Basketball Forecast 2004-05
  • Stephen M. Shea, Christopher E. Baker - Basketball Analytics 2013
  • A Scale of Magnitudes for Effect Statistics - Will G Hopkins