¿Tienes buena puntería?

Veamos qué dicen los cuartiles
readxl
kable
knitr
attach
quantile
modeest
tapply
Author
Published

September 10, 2025

Estamos en pleno Eurobasket 2025 y, después de muchos años, hace prácticamente una semana que la selección española quedó fuera de la lucha por las medallas.

Se han hablado de muchos factores que han conducido al fracaso de este año, pero si hay una crítica unánime es el paupérrimo porcentaje que hemos tenido en los tiros libres. Así, en el partido a vida o muerte contra Grecia (que perdemos por 4 puntos) resulta ¡que fallamos 16 tiros libres!

De especial interés me pareció el tuit de Jota Cuspinera donde compara el porcentaje de cada jugador en su equipo y la selección. En los comentarios a esta reflexión se puede leer que un porcentaje inferior al 75% es muy bajo o que no se puede bajar del 80%.

Pero, ¿en que se basan estos umbrales que se establecen como mínimos? ¿Son percepciones personales de cada uno basadas en nuestra experiencia o valores idealizados?

Para intentar dar respuesta a estas preguntas voy a usar datos de los partidos de la Liga ACB desde la temporada 2022/2023 a la 2024/25 tanto en liga regular como en playoff. Concretamente, en este archivo tienes los tiros de dos puntos, triples y tiros libres intentados y convertidos así como el porcentaje obtenido en todos los partidos disputados en las tres temporadas mencionadas. Los cargamos y visualizamos:

library(readxl)
datos <- read_excel("equipos.xlsx", sheet = "datos")
vistazo = head(datos, 10)
library(knitr)
kable(vistazo, align = "c", caption = "Visualización de los datos: unas pocas observaciones")
Visualización de los datos: unas pocas observaciones
Fecha Jornada Fase Local Resultado Nombre T2C T2I T2P T3C T3I T3P TCC TCI TCP T1C T1I T1P
20220928 1 LR 1 0 Girona 19 42 45.24 9 24 37.50 28 66 42.42 23 27 85.19
20220928 1 LR 0 1 RMadrid 17 31 54.84 18 32 56.25 35 63 55.56 6 10 60.00
20220928 1 LR 1 0 Fuenlabrada 25 42 59.52 8 26 30.77 33 68 48.53 7 10 70.00
20220928 1 LR 0 1 Granada 22 38 57.89 9 20 45.00 31 58 53.45 12 15 80.00
20220928 1 LR 1 1 Obradoiro 17 36 47.22 7 21 33.33 24 57 42.11 21 26 80.77
20220928 1 LR 0 0 Zaragoza 22 45 48.89 5 27 18.52 27 72 37.50 14 27 51.85
20220928 1 LR 1 0 Manresa 23 40 57.50 7 24 29.17 30 64 46.88 3 6 50.00
20220928 1 LR 0 1 Tenerife 18 30 60.00 11 26 42.31 29 56 51.79 20 28 71.43
20220928 1 LR 1 0 Murcia 17 38 44.74 9 24 37.50 26 62 41.94 9 13 69.23
20220928 1 LR 0 1 Breogan 21 37 56.76 8 25 32.00 29 62 46.77 18 24 75.00

El nombre de las variables es muy intuittivo, así que no hace falta explicar mucho. Quizás que la fecha hace referencia al día en la que se disputa la correspondiente jornada, que cuando se juega como local la variable correspondiente toma el valor 1 y que cuando se gana el partido la variable resultado toma también el valor 1.

En un primer vistazo obtenemos que en los 1944 partidos disputados en las temporadas consideradas, en un 25% de ellos se ha tenido un porcentaje superior al 83.33% y en otro 25% inferior al 68%:

nrow(datos)
[1] 1944
attach(datos)
  quantile(T1P, probs = c(0.25, 0.5, 0.75))
  25%   50%   75% 
68.00 76.00 83.33 

Igualmente, se obtiene que el valor más frecuente es el del 75%, muy cercano a la mediana del 76%:

library(modeest)
mlv(T1P, method = "mfv")
[1] 75

La representación del histograma del porcentaje de tiros libres muestra desplazamiento hacia los valores altos del conjunto de datos:

hist(T1P, col="blue", ylab="Frecuencia", xlab="Porcentaje en tiros libres", main="")

En definitva, el 60% de acierto (66 de 110) acreditado por nuestra selección en el Eurobasket 2025 se encontraría en la cola parte inferior.

Más concretamente, usando la siguiente función (cortesía de ChatGPT), se tiene que sólo en el 9.2% de los partidos considerados se ha tenido un porcentaje inferior al 60%:

inverse_quantile <- function(x, value, na.rm = FALSE) {
  if (na.rm) x <- na.omit(x)
  mean(x <= value)
}

inverse_quantile(T1P, 60) 
[1] 0.09207819

Al mismo tiempo se observa que en el 34% de los partidos se tiene un porcentaje superior al 80% y sólo en el 8.3% al 90%:

1-inverse_quantile(T1P, 80) 
[1] 0.3400206
1-inverse_quantile(T1P, 85)
[1] 0.1954733
1-inverse_quantile(T1P, 90) 
[1] 0.08333333

Total, ¿qué porcentaje mínimo en tiros libres sería deseable? Comparando los cuartiles en victoria/derrota se obtienen valores muy similares, cuando una esperaría que los porcentajes fuesen más altos cuando se gana:

tapply(T1P, Resultado, quantile)
$`0`
    0%    25%    50%    75%   100% 
 33.33  66.67  75.00  82.35 100.00 

$`1`
    0%    25%    50%    75%   100% 
 33.33  69.23  76.92  84.00 100.00 
  # tapply(T1P, Local, quantile)
  # tapply(T1P, Fase, quantile)

Por tanto, si yo me tuviese que pronunciar, diría que tener entre un 75%-85% en tiros libres entra dentro de lo esperado en un equipo profesional y que a partir del 85% se empieza a tener un buen porcentaje desde esta distancia.

¿Qué ocurre con los tiros de dos y tres puntos? Ahí tenéis los datos para que juguéis con ellos. Yo simplemente os dejo una pincelada:

quantile(T2P, probs = c(0.25, 0.5, 0.75))
  25%   50%   75% 
48.39 54.05 60.00 
  tapply(T2P, Resultado, quantile)
$`0`
   0%   25%   50%   75%  100% 
28.95 46.15 51.28 57.14 79.17 

$`1`
    0%    25%    50%    75%   100% 
32.560 51.265 57.140 62.500 86.210 
quantile(T3P, probs = c(0.25, 0.5, 0.75))
  25%   50%   75% 
28.00 34.62 41.38 
  tapply(T3P, Resultado, quantile)
$`0`
   0%   25%   50%   75%  100% 
 5.56 25.00 31.03 37.50 63.16 

$`1`
   0%   25%   50%   75%  100% 
13.64 32.14 37.93 44.20 71.43 

Que en el 50% de los partidos se tenga un porcentaje en el triple superior al 34.62% me recuerda a este otro post que escribí hace tiempo: Quien a triple vive, a triple muere.

Por último, sería interesante repetir estas operaciones pero considerando el porcentaje de los equipos en cada temporada, así estaríamos comparando los porcentajes de los equipos con los porcentajes de la selección en lugar de comparar los porcentajes de cada partido con los porcentajes de la selección.

¿Por qué no lo he hecho? Pues porque la selección ha jugado apenas 5 partidos en este europeo y me parecía un tamaño de muestra pequeño como para ser comparado con los partidos jugados por un equipo en una temporada (un mínimo de 34).

Vamos, que cualquiera de los dos enfoques tiene sus pros y sus contras. Yo hoy he hecho uno, otro día haré el otro…