Los cuartiles, deciles y percentiles dividen una distribución ordenada en partes y permiten localizar observaciones de forma relativa. Son herramientas esenciales para comparar resultados y describir colas.
Una medida de posición no solo indica un valor, sino el lugar que ocupa dentro de una distribución. El percentil 90, por ejemplo, comunica que aproximadamente el 90 % de los datos queda por debajo.
Los cuartiles dividen en cuatro partes, los deciles en diez y los percentiles en cien. Todos se calculan a partir de datos ordenados.
Los deciles se nombran D1 a D9:
Son útiles cuando se necesitan diez niveles de posición. Por ejemplo, separar usuarios en diez grupos de rendimiento aproximadamente iguales.
Un percentil Pp es un valor que divide la distribución de acuerdo con el porcentaje p. Algunos percentiles describen especialmente bien los extremos:
| Percentil | Porcentaje debajo | Uso posible |
|---|---|---|
| P10 | 10 % | Umbral bajo. |
| P25 | 25 % | Primer cuartil. |
| P50 | 50 % | Mediana. |
| P75 | 75 % | Tercer cuartil. |
| P90 | 90 % | Cola alta. |
| P95 o P99 | 95 % o 99 % | Latencias y riesgos extremos. |
Consideremos 11 mediciones de latencia:
La posición central es el sexto valor. Para las demás posiciones se puede usar una fórmula de posición y, cuando sea necesario, interpolar entre valores consecutivos.
Una convención común calcula la posición de Pp con:
Para n = 11 y P25: L = 0,25 × 10 = 2,5. Se interpola entre el tercer y cuarto valor: 91 + 0,5 × (98 − 91) = 94,5.
Si la posición es i + f, con i entero y 0 ≤ f < 1:
La fracción f indica qué parte del intervalo se recorre. El valor interpolado puede no estar observado, pero representa la posición estimada bajo esa convención.
Con los 11 tiempos anteriores y el método de índice n − 1:
El RIC describe el ancho de la mitad central sin utilizar directamente los extremos 72 y 145.
Selecciona un conjunto y una medida. El gráfico muestra Q1, mediana, Q3 y el percentil solicitado sobre los datos ordenados.
Las bibliotecas estadísticas ofrecen varios métodos para percentiles. Pueden diferir en la posición inicial, en si incluyen o excluyen los extremos y en la forma de interpolar.
Con muestras grandes, las diferencias suelen ser pequeñas. Con muestras pequeñas o datos muy separados, pueden cambiar el resultado de forma visible.
Un informe reproducible debería especificar:
Los deciles permiten formar diez grupos de posición: el primer decil contiene aproximadamente al 10 % inferior, y el décimo grupo llega hasta el máximo.
Esta clasificación es relativa al conjunto analizado. Estar en el decil superior de un grupo no garantiza superar a personas de otra población o período.
Un sistema puede clasificar tiempos de respuesta por percentiles:
El P50 describe el caso central, mientras P95 y P99 muestran experiencias lentas que pueden afectar a una minoría importante.
Un umbral basado en P95 se actualiza con la distribución observada. Si los datos cambian, el umbral también puede cambiar aunque la regla sea la misma.
No se debe elegir un percentil solo porque produce un porcentaje conveniente. El nivel debe relacionarse con costos, riesgos, capacidad y objetivos del sistema.
Con una tabla de intervalos se usa la frecuencia acumulada para localizar la clase que contiene la posición:
Después puede estimarse el valor mediante interpolación dentro del intervalo. El resultado es aproximado porque no se conocen las ubicaciones individuales.
Este ejemplo calcula cuartiles y percentiles usando un método de interpolación explícito y dibuja sus posiciones.
const datos = [72, 85, 91, 98, 105, 112, 118, 121, 127, 133, 145];
const ordenados = [...datos].sort((a, b) => a - b);
function percentil(valores, porcentaje) {
const posicion = porcentaje / 100 * (valores.length - 1);
const inferior = Math.floor(posicion);
const superior = Math.ceil(posicion);
if (inferior === superior) return valores[inferior];
const fraccion = posicion - inferior;
return valores[inferior] + fraccion * (valores[superior] - valores[inferior]);
}
const q1 = percentil(ordenados, 25);
const mediana = percentil(ordenados, 50);
const q3 = percentil(ordenados, 75);
const p90 = percentil(ordenados, 90);
const p95 = percentil(ordenados, 95);
console.log('Q1:', q1, 'Mediana:', mediana, 'Q3:', q3, 'P90:', p90, 'P95:', p95);
if (typeof document !== 'undefined') {
const canvas = document.getElementById('canvasCuartilesCodigo');
const contexto = canvas.getContext('2d');
const area = { izquierda: 70, derecha: 770, arriba: 60, base: 350 };
const escalaX = valor => area.izquierda + (valor - 60) / 100 * (area.derecha - area.izquierda);
contexto.clearRect(0, 0, canvas.width, canvas.height);
contexto.fillStyle = '#fbfdff'; contexto.fillRect(0, 0, canvas.width, canvas.height);
contexto.fillStyle = '#17324d'; contexto.font = 'bold 18px Segoe UI, Arial'; contexto.fillText('Cuartiles y percentiles', 22, 30);
contexto.strokeStyle = '#d8e8f7'; contexto.lineWidth = 1; contexto.beginPath(); contexto.moveTo(area.izquierda, 230); contexto.lineTo(area.derecha, 230); contexto.stroke();
contexto.fillStyle = '#28587d'; contexto.font = '12px Segoe UI, Arial'; contexto.textAlign = 'center';
for (let valor = 60; valor <= 160; valor += 10) { const x = escalaX(valor); contexto.beginPath(); contexto.moveTo(x, area.arriba); contexto.lineTo(x, area.base); contexto.stroke(); contexto.fillText(valor, x, area.base + 18); }
contexto.fillStyle = '#8ebbd2'; ordenados.forEach(valor => { contexto.beginPath(); contexto.arc(escalaX(valor), 230, 6, 0, Math.PI * 2); contexto.fill(); });
const referencias = [{ nombre: 'Q1', valor: q1, color: '#2a9d8f' }, { nombre: 'P50', valor: mediana, color: '#168aad' }, { nombre: 'Q3', valor: q3, color: '#457b9d' }, { nombre: 'P90', valor: p90, color: '#c2410c' }, { nombre: 'P95', valor: p95, color: '#9a3412' }];
referencias.forEach((referencia, indice) => { const x = escalaX(referencia.valor); contexto.strokeStyle = referencia.color; contexto.lineWidth = 3; contexto.beginPath(); contexto.moveTo(x, area.arriba); contexto.lineTo(x, area.base - 32 - indice * 9); contexto.stroke(); contexto.fillStyle = referencia.color; contexto.font = 'bold 12px Segoe UI, Arial'; contexto.fillText(`${referencia.nombre}: ${referencia.valor.toFixed(1)}`, x, area.base - 8 - indice * 13); });
}El RIC se obtiene restando Q1 a Q3:
Se utiliza para describir dispersión central y para detectar valores potencialmente atípicos mediante límites Q1 − 1,5 × RIC y Q3 + 1,5 × RIC.
Una tabla alternativa debe informar el percentil, el valor, la unidad, el método y la cantidad de datos. Las líneas del gráfico deben tener etiquetas o estilos complementarios al color.
Debe evitarse decir simplemente “percentil alto”: es mejor indicar “P95 = 310 ms; aproximadamente 5 % de las observaciones queda por encima”.
Cuartiles, deciles y percentiles convierten una distribución ordenada en una escala de posiciones relativas. Permiten comparar resultados, definir umbrales y describir el centro y las colas con más detalle que una única medida central.
Su interpretación exige declarar el método, el tamaño de muestra, las unidades y la población de referencia. En el próximo tema estudiaremos las medidas de dispersión.