Pareto Chart
Pareto Chart
Qué es
Combina barras ordenadas de mayor a menor con una línea acumulativa de porcentaje. Permite identificar los pocos factores que causan la mayoría del efecto (principio de Pareto).
Para qué sirve
Para identificar las causas más importantes de un problema y priorizar intervenciones según su impacto relativo.
Cómo leerlo
Anatomía
El principio detrás del nombre es una observación estadística muy replicada: en muchos sistemas, una minoría de las categorías concentra la mayoría del efecto total —una proporción cercana al 80/20 aparece con frecuencia sorprendente en fenómenos muy distintos entre sí, desde defectos de fabricación hasta quejas de clientes. La anatomía combina dos capas: columnas ordenadas de mayor a menor —nunca alfabético ni cronológico— que miden la frecuencia absoluta de cada categoría en el eje izquierdo, y una línea de porcentaje acumulado en el eje derecho, que va de 0% a 100% por definición matemática. Usar dos ejes con escalas distintas es, en casi cualquier otro gráfico, una señal de alarma: permite hacer coincidir artificialmente dos series independientes con solo ajustar la escala. Acá es la excepción aceptada porque la línea no es una serie independiente, es la suma acumulada de las columnas dividida por el total, así que ninguna escala puede alterar esa relación. La lectura que el gráfico existe para habilitar es dónde la línea cruza la marca del 80%: cuántas categorías, de las pocas "vitales", concentran la mayoría del efecto total.
Por qué funciona
Fundamento perceptivo
Combina ranking y acumulación en un solo gráfico. La línea del 80% permite tomar decisiones de priorización de forma objetiva.
Errores comunes
Doble eje puede confundir
La línea de porcentaje acumulado usa un eje derecho independiente del eje izquierdo de las barras, y mezclar dos escalas distintas en el mismo gráfico es una fuente frecuente de lecturas erróneas si los ejes no están claramente etiquetados con su unidad. Sin esa claridad, es fácil que el lector intente comparar directamente la altura de una barra con la posición de la línea, cuando en realidad pertenecen a escalas distintas.
Categorías sin ordenar de mayor a menor
El principio de Pareto —que un pequeño número de categorías concentra la mayoría del efecto— solo se ve con claridad si las barras están ordenadas de mayor a menor de izquierda a derecha. Sin ese orden descendente, la línea acumulada pierde su forma característica de curva ascendente que se aplana, y el gráfico deja de comunicar cuáles son las causas principales.
Demasiadas categorías en la cola
Incluir todas las categorías posibles, incluidas decenas con una contribución mínima, alarga la cola derecha del gráfico sin aportar información —ya que esas categorías casi no mueven la línea acumulada. Mostrar solo las categorías necesarias para alcanzar un umbral razonable del acumulado (o agrupar el resto en "otras") mantiene el foco en lo que el gráfico busca revelar.
Dónde se usa
Contextos de aplicación

Manufactura y control de calidad
Identificar qué pocas causas de defectos concentran la mayoría de los rechazos en una línea de producción.

Atención al cliente
Priorizar qué motivos de reclamo o consulta atender primero según cuántos casos explican cada uno.

Inventario y logística
Detectar qué pocos productos o proveedores concentran la mayor parte del volumen o el costo.
Cómo construirlo
El mismo gráfico, en 11 librerías open source
Cada librería resuelve las mismas decisiones de diseño, como la escala, el espaciado entre barras o la inserción de la etiqueta de valor, de un modo distinto. Algunas las automatizan; otras las dejan explícitas en el código, a criterio de quien lo escribe. Comparar once implementaciones con los mismos datos y el mismo color de marca aísla esa diferencia, que de otro modo queda oculta detrás de estilos visuales distintos.
twinx() es la técnica estándar de matplotlib para un segundo eje Y: crea un nuevo Axes que comparte el eje X pero tiene su propio rango Y independiente —no hay una función "pareto" dedicada.
import matplotlib.pyplot as plt
labels = ["Retail", "Financiero", "Serv. básicos", "Telecom.", "Transporte"]
valores = [21, 19, 15, 14, 10]
acumulado = [21, 40, 55, 69, 79]
fig, ax = plt.subplots(figsize=(7.4, 3.9))
ax.bar(labels, valores, color="#760D3E", width=0.55)
# twinx() es la tecnica estandar de matplotlib para un segundo eje Y:
# crea un nuevo Axes que comparte el eje X pero tiene su propio rango Y
# independiente -- no hay una funcion "pareto" dedicada.
ax2 = ax.twinx()
ax2.plot(labels, acumulado, color="#3A3330", marker="o", linewidth=2)
ax2.axhline(80, color="#9C9187", linestyle="--", linewidth=1)
ax.set_ylim(0, 25); ax2.set_ylim(0, 100)
plt.show()No disponible en esta librería
No tiene soporte para un segundo eje y independiente: es una decisión de diseño deliberada de su autor (también creador de D3), que considera los gráficos de doble eje engañosos por naturaleza al invitar a comparar visualmente dos escalas distintas como si fueran una sola.
Herramientas para construirlo
No-code, desktop y plataformas web, con su licencia visible, abierta o comercial.
Paso a paso
Cómo se construye.
Para llevar
Descargables.
Términos relacionados
Con datos reales
Ejemplos de uso.
¿Qué mercados concentran los reclamos de consumidores?
Reclamos recibidos por SERNAC en 2024, por mercado, sobre un total de 682.283 reclamos. Estas 5 categorías concentran el 79% del total.
Fuente: SERNAC, Cuenta Pública 2024
Gráficos relacionados

