¿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. Es la mayor tasa observada este mes: una señal para investigar, no una causa demostrada del proceso. Avanza por la gráfica:
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: cuántos casos hay que atender. Para comparar dinero perdido, suma los importes pertinentes.
- La tasa sirve para comparar grupos de distinto tamaño: dónde se observó una mayor proporción de casos en ese periodo.
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:
total = data.groupby("sucursal")["ticket"].nunique() # tickets por sucursalcancelados = data[data["estado"] == "cancelado"] # solo las filas canceladascancelados = cancelados.groupby("sucursal")["ticket"].nunique() # tickets cancelados por sucursalcancelados = cancelados.reindex(total.index, fill_value=0)tasa = cancelados / total * 100 # porcentaje por sucursalTodo 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.
reindex(total.index, fill_value=0) conserva las sucursales que tienen tickets y ninguna cancelación: su numerador es cero. No reemplaza datos desconocidos por cero. Pruébalo en una tabla pequeña: A con 1 cancelado de 5 y B con 0 de 10 deben dar 20% y 0%.
Tu turno
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.
Datos: ventas-marzo, 312 filas
| Fila | Quitar | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | |||||||||||
| 2 | |||||||||||
| 3 | |||||||||||
| 4 | |||||||||||
| 5 | |||||||||||
| 6 | |||||||||||
| 7 | |||||||||||
| 8 | |||||||||||
| 9 | |||||||||||
| 10 | |||||||||||
| 11 | |||||||||||
| 12 | |||||||||||
| 13 | |||||||||||
| 14 | |||||||||||
| 15 | |||||||||||
| 16 | |||||||||||
| 17 | |||||||||||
| 18 | |||||||||||
| 19 | |||||||||||
| 20 |
Enter guarda; Esc deshace; vacía es un valor faltante
Tab agrega sangría; Esc y Tab para salir
Comprueba lo que sabes: Quieres saber qué sucursal tuvo la mayor proporción de tickets cancelados este mes. ¿Qué número responde eso?