← 14 · La lección: señal frente a ruido F14
Una de cada cinco ventas no tiene nota y hay que saber por qué
¿La satisfacción de quien contesta representa a todas las ventas?
1 El problema
El 20,04 % de las ventas válidas no tiene satisfacción. Las páginas 12 y 13 trabajan con las que sí la tienen y dan medias, clasificaciones por provincia y correlaciones con el importe.
2 Por qué engaña
Si contestar la encuesta depende de algo, lo que se mide es la satisfacción de quien contesta. Los clientes enfadados responden más en unos negocios y los contentos en otros; si una región contesta menos, su media sale de un grupo que no se parece al resto.
Ninguna técnica aplicada después lo arregla, porque el sesgo está en qué filas llegaron a la tabla.
3 El principio
4 La solución
Cruzar la marca de «falta» con cada variable que la podría explicar y contrastar si la proporción cambia de un grupo a otro, con una prueba de chi-cuadrado por variable.
5 Qué pasa con estos datos
| ¿Depende de…? | Chi-cuadrado | p |
|---|---|---|
| Provincia | 45,85 (51 gl) | 0,6777 |
| Año | 0,75 (7 gl) | 0,9979 |
| Producto | 5,74 (7 gl) | 0,5703 |
| Categoría | 0,59 (1 gl) | 0,4431 |
Ninguna de las cuatro variables cambia la proporción de ausentes: todas dan p por encima de 0,05. Con estas cuatro variables, la ausencia es compatible con el azar. Queda sin cruzar con el importe y la cantidad, que son justo las variables de la página 13, así que para esa página la comprobación no está completa.
6 Para qué sirve
Encuestas, formularios opcionales, valoraciones en una tienda online, cualquier dato que alguien decide si da o no. Junto a cualquier media de satisfacción conviene dar el porcentaje de ausentes y su prueba.
El detalle técnico
Chi-cuadrado de independencia entre la marca de ausencia y cada variable, sobre las ventas válidas. En términos técnicos, la prueba es compatible con una ausencia completamente aleatoria (MCAR) y no puede descartar la que depende del valor que falta (MNAR).
Cruzar la ausencia con cada variable
falta = ventas["satisfaccion"].isna()
for col in ["reg", "anio", "prod", "cat"]:
tabla = pd.crosstab(ventas[col], falta) # cuantas faltan en cada grupo
chi2, p, gl, _ = chi2_contingency(tabla) # ¿cambia la proporcion de un grupo a otro? Fuente: eda.json, campo ausencia_satisfaccion.