Antes de nada: qué se le hizo al fichero
Un panel que no declara su limpieza no es auditable. Esto es lo que cambió entre el CSV que llegó y las filas sobre las que se calcula todo lo demás. El interruptor crudo/limpio del bloque 1 deja ver cada una de estas decisiones en el gráfico.
| Decisión | Afecta a | Recuento |
|---|
1Una variable cada vez
Elija el campo. Si es numérico salen histograma, diagrama de caja y los descriptivos; si es categórico, las frecuencias. El interruptor crudo/limpio enseña en un clic lo que cuesta un párrafo explicar, y la escala logarítmica endereza las colas largas.
Descriptivos
2Dos variables a la vez
Las tres combinaciones funcionan. Numérica con numérica da nube, recta, r de Pearson y ρ de Spearman; categórica con numérica, cajas por grupo; categórica con categórica, tabla de contingencia con χ² y V de Cramér. La variable de color añade una tercera dimensión a la nube.
Matriz de correlaciones
Cómo se lee
La diagonal vale uno por construcción y no dice nada. Fuera de ella sólo hay tres celdas que se despeguen del gris, y están todas en el cuadrante de la cesta.
| Par | r | Lectura |
|---|
Pearson mide relación lineal, así que un cero aquí no descarta una relación en forma de U. Para eso están la nube de arriba y la ρ de Spearman, que sí detectaría una relación monótona no recta.
3Inferencia: contrastes y regresión
Hasta aquí todo era describir la muestra. A partir de aquí se decide qué de lo observado sobrevive al azar del muestreo. Cada contraste viene con su estadístico, sus grados de libertad, su p, su intervalo de confianza y su tamaño del efecto, porque un p pequeño con un efecto diminuto es una trampa cara.
Regresión lineal múltiple
Encienda y apague regresores. Las dos distancias son la misma variable en kilómetros y en metros: enciéndalas a la vez y mire qué le pasa al VIF y al error típico sin que el R² se mueva.
| Término | β | EE | t | p | IC95 | VIF |
|---|
4Predecir el importe, y explicar la predicción
Tres modelos y una referencia ingenua, la misma partición y la misma semilla para los cuatro, y la métrica siempre sobre el conjunto de prueba. Sin la referencia ingenua, un error de nueve euros no significa nada.
| Modelo | RMSE | MAE | R² | Mejora |
|---|
Explicabilidad global: permutación frente a Shapley
Las dos columnas responden a preguntas distintas. La permutación mide cuánto empeora el modelo sin esa variable; Shapley reparte la predicción entre las variables. Coinciden en la cabeza y se separan en la cola, y esa discrepancia es información, no un error.
Explicabilidad local: un pedido concreto
La suma del valor base y de todas las contribuciones reproduce la predicción exactamente; el script lo comprueba con una aserción antes de volcar el JSON. Las barras grises son el resto de variables agrupadas.
Qué le proponemos a Raudo
El comité abrió el encargo con una tesis: el suscriptor gasta más por pedido, luego hay que empujar la suscripción. Los datos no la sostienen. La diferencia de ticket entre suscriptor y no suscriptor es de , con un intervalo de confianza al 95 % que cruza el cero, y el coeficiente de la suscripción tampoco aguanta en la regresión controlando por el resto. La suscripción puede defenderse por frecuencia o por retención, que son métricas que este fichero no contiene; por ticket medio, no.
Lo que sí mueve la cesta es su composición. Cada comensal estimado añade unos al importe y cada artículo , y las dos encabezan tanto la importancia por permutación como el reparto de Shapley. Las condiciones de la entrega, distancia y tiempo, no guardan relación con el gasto: la correlación del importe con la distancia es .
De ahí salen las tres palancas que proponemos probar: sugerir el plato compartido en el momento de la cesta, empaquetar el postre en los tipos de cocina donde Shapley lo paga, y dejar de gastar en acelerar entregas con la idea de subir el ticket, porque no lo sube.
Precio del encargo
- Panel y modelo
- 14 000 €
- Puesta en producción
- 6 000 €
- Mantenimiento anual
- 9 600 €
Cómo está hecha esta página
Una sola página, sin CDN y sin conexión. Abre desde el escritorio con doble clic y los
controles funcionan igual sin red. Eso obliga a la regla del cero servidor: aquí no corre
pandas ni scikit-learn, porque en el navegador no existen.
El reparto del trabajo es el que pide el enunciado. rejilla.py lee el CSV,
limpia, recorre la rejilla entera de opciones que los selectores pueden producir y la vuelca
en rejilla.json: resultados precalculados.
construir_dashboard.py incrusta ese JSON dentro del HTML. El JavaScript de la
página elige qué enseñar y dibuja; no calcula ni una media.
Decidir de antemano esa rejilla es la conversación que hay que tener con el agente antes de escribir una línea: cada selector que se añade multiplica las celdas, y hay combinaciones que no se pueden precalcular. Por eso el selector de α tiene tres valores y no un deslizador continuo.
La arquitectura de agentes con la que se construyó algo así, con el orquestador, los especialistas y los dos auditores de contexto limpio, está explicada aparte en la página de arquitectura.
Reproducir estas cifras
- Datos
- dossier
delivery, 9 200 × 17 - Cálculo
rejilla.py- Rejilla
rejilla.json,- Montaje
construir_dashboard.py- Semilla
- , fijada
- Partición
- Bootstrap
- 1 000 remuestreos
- Dependencias
- ninguna en el navegador
Dos ejecuciones con la misma semilla dan el mismo fichero. Si una cifra de esta página no se puede reproducir desde el CSV con ese script, es un error nuestro.