Skip to content
Empieza gratis

¿Conteo o tasa? Cómo comparar grupos de distinto tamaño

Una pregunta, tres respuestas: compara sucursales por conteo y por tasa, y decide cuál responde lo que necesitas.

Curso gratis. Tu Maestro, una IA, .

Imagina que le preguntas a tu asistente "¿qué sucursal tiene más cancelaciones?". Con el archivo de la ferretería hay por lo menos tres respuestas honestas, y las tres salen de las mismas filas:

  • Zapopan, con 8, si cuenta filas canceladas.
  • Centro, con 4, si cuenta tickets cancelados.
  • Tonalá, con 25%, si divide los tickets cancelados entre los tickets de cada sucursal.

La primera ya la sabes descartar: cuenta líneas de producto, y un ticket cancelado con cuatro productos cuenta cuatro veces. Las otras dos son correctas y responden preguntas distintas. "Más cancelaciones" puede querer decir más en total o más seguido.

Centro es la sucursal con más tickets del mes, 40. Es normal que ahí haya más de casi todo: más ventas, más devoluciones, más cancelaciones. Tonalá tiene 12 tickets y se le cancelaron 3: uno de cada cuatro. Si quieres saber dónde algo está fallando en el proceso, la tasa es la que te lo dice. Avanza por la gráfica:

Usa las flechas izquierda y derecha para cambiar de paso.

Paso 1 de 4

Tres maneras de contar

Cada panel responde "¿qué sucursal tiene más cancelaciones?" con otra cuenta. Antes de seguir, busca la barra más larga de cada panel.

¿Conteo o tasa?

Depende de lo que vas a decidir con el número:

  • El conteo sirve para decisiones de volumen: a qué sucursal le toca más trabajo de devoluciones, dónde se pierde más dinero en total.
  • La tasa sirve para comparar grupos de distinto tamaño: dónde pasa algo más seguido, dónde un proceso falla más.

Cuando la IA te da un "más", pregúntate cuál de las dos necesitas. Si no lo dice, pregúntale cuál calculó: un "más" sin base puede ser cualquiera de las dos.

Una advertencia sobre las tasas con pocos casos. Tonalá tiene 12 tickets. Si se hubiera cancelado uno menos, su tasa sería 16.7%; uno más, 33.3%. Una tasa con una base chica brinca mucho, así que repórtala con sus números: "3 de 12 (25%)". Quien lea puede juzgar cuánto pesa. ¿Cómo sé si mi base es demasiado chica?

La tasa, en pandas

Para cada sucursal necesitas dos conteos al mismo nivel, tickets, y luego una división:

Python
total = data.groupby("sucursal")["ticket"].nunique()        # tickets por sucursal
cancelados = data[data["estado"] == "cancelado"]           # solo las filas canceladas
cancelados = cancelados.groupby("sucursal")["ticket"].nunique()  # tickets cancelados por sucursal
tasa = cancelados / total * 100                            # porcentaje por sucursal
Arriba y abajo se cuentan tickets distintos, nunca filas. Si arriba cuentas filas y abajo tickets, la división mezcla dos granularidades.

Todo lo que ves ya lo conoces: groupby junta por sucursal, nunique cuenta tickets distintos y el filtro deja solo los cancelados. Lo nuevo es que pandas divide sucursal por sucursal: el 4 de Centro entre el 40 de Centro, el 3 de Tonalá entre el 12 de Tonalá.

Inténtalo

El código inicial imprime lo que daría una IA que cuenta: tickets cancelados por sucursal. Agrega el total de tickets por sucursal y la tasa. Terminas cuando ves a Tonalá arriba con 25.0.

Agrega el total de tickets por sucursal y calcula el porcentaje de tickets cancelados. Imprime la tasa redondeada a un decimal y ordenada de mayor a menor con .sortvalues(ascending=False). Terminas cuando Tonalá aparece primero, con 25.0.

Agrega el total de tickets por sucursal y calcula el porcentaje de tickets cancelados. Imprime la tasa redondeada a un decimal y ordenada de mayor a menor con .sort_values(ascending=False). Terminas cuando Tonalá aparece primero, con 25.0.

Ejecuta tu código para ver lo que imprime y el valor de su última expresión. Cada ejecución empieza de nuevo.

Listo para ejecutar tu código.

Ejecuta tu código para ver su salida aquí.

Datos: ventas-marzo, 312 filas

Enter guarda una celda y Escape la deja como estaba. Deja una celda vacía para un valor faltante.

Los datos del ejercicio, "ventas-marzo". Tus cambios corren con tu código.
FilaQuitar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Página 1 de 16

Ejecútalo tú

Comprueba lo que sabes: Quieres saber en qué sucursal es más probable que una venta se cancele. ¿Qué número responde eso?