← 14 · La lección: señal frente a ruido F15

Al comparar el mismo producto, casi toda la ventaja de 744 € desaparece

La pregunta de esta página

¿Cómo se compara a dos grupos que no venden lo mismo?

1 El problema

En la página de la paradoja de Simpson quedó claro que Islas Baleares factura más por venta que Murcia porque vende una mezcla distinta de productos. El desglose por producto lo muestra, pero deja 8 comparaciones sin una respuesta única.

La dirección necesita un solo número. ¿Cuánto vende de más Islas Baleares, una vez descontado que vende otro catálogo?

2 Por qué engaña

Restar las dos medias no sirve. Si el 15,0 % de las ventas de Islas Baleares son servidores y en Murcia lo son el 5,9 %, la resta de sus medias mide la diferencia de catálogo y no la de gestión comercial.

Tampoco vale quedarse con un solo producto, porque entonces se desaprovecha el resto de los datos. Con 8 productos y dos provincias, elegir uno es elegir la respuesta.

3 El principio

Emparejamiento
Si dos grupos se diferencian en algo que no se quiere medir, se comparan solo las parejas que coinciden en eso. Lo que queda después de emparejar es lo que no explica esa variable.

Es lo que hace un ensayo clínico cuando compara pacientes de la misma edad y el mismo peso. Aquí la variable que hay que neutralizar es el producto.

4 La solución

Por cada uno de los 8 productos se toman tantas ventas de una provincia como de la otra, elegidas al azar con semilla fija. El grupo más pequeño fija el número: por ejemplo, si de un producto hay 22 ventas en una provincia y 55 en la otra, se usan 22 y 22.

Después se restan una a una y se promedia. Esa media ya no contiene mezcla, porque cada resta compara el mismo producto contra el mismo producto.

5 Qué pasa con estos datos

Sin emparejar
+744,28 €
a favor de Islas Baleares
Emparejado
-13,77 €
sobre 329 parejas
Cuánto se encoge
98,2 %
la diferencia

Se forman 329 parejas del mismo producto. La ventaja de 744,28 € se queda en -13,77 €, Ese resto es pequeño, y su signo depende de qué ventas entren en la selección al azar y de cómo se pondere cada producto, así que no se le puede dar dirección. La diferencia bruta venía de qué se vende, no de lo que deja cada producto.

Cómo se lee ese resto
Unos 14 € sobre un ticket de más de dos mil euros no son una ventaja para ninguna de las dos: a igualdad de producto no se ve diferencia. Eso no prueba que vendan igual. Y si vender más servidores se debe a la gestión comercial o a la demanda de cada zona, estos datos no lo dicen.

6 Para qué sirve

Siempre que se comparan dos grupos que de entrada no son comparables. Dos delegaciones con distinta cartera, dos campañas lanzadas a públicos distintos, el antes y el después de un cambio que coincidió con la temporada alta.

El emparejamiento por producto es el caso fácil, con una sola variable y valores discretos. Cuando las variables que descompensan son varias, lo que se empareja es la puntuación de propensión, que resume en un número la probabilidad de pertenecer a un grupo. El principio es el mismo: comparar solo lo que es comparable.

El detalle técnico

Emparejamiento exacto por producto, sin reemplazo, con su propio generador, derivado de la semilla 42 del script 08_inferencia.py. Con una sola variable de emparejamiento y ocho valores, la puntuación de propensión se reduce a esto mismo, así que se calcula directamente y se puede revisar a mano.

Ver el emparejamiento
# Emparejar: por cada producto, tantas ventas de una region como de la otra
rng = np.random.default_rng(45)                            # su propio generador
pares, dif = 0, []
for prod, g in d.groupby("prod"):
    ga = g[g.reg == "Islas Baleares"]["importe"].values
    gb = g[g.reg == "Murcia"]["importe"].values
    n = min(len(ga), len(gb))                 # el grupo pequeno manda
    sa, sb = rng.choice(ga, n, replace=False), rng.choice(gb, n, replace=False)
    pares += n
    dif.append((sa - sb).sum())
emparejado = sum(dif) / pares                 # la diferencia que queda

Fuente: inferencia.json, campo f15_emparejamiento.