11  Protocolo SPO+ y Lectura del Regret 49.1%

11.1 Protocolo del Comparador SPO+

El número que más circula como punto de referencia frente a CRPTO es el 49.1% de reducción de regret que SPO+ obtiene sobre el two-stage clásico. Un revisor exigente preguntará lo correcto: ¿cómo se midió eso, con cuántas semillas, sobre qué arquitectura, con qué definición de regret y bajo qué distribución de costos? Esta página documenta el protocolo completo para que el número sea defendible y, sobre todo, para que la comparación con CRPTO se lea correctamente: SPO+ gana en regret porque está diseñado para ganar en regret, no porque sea un sustituto de la garantía conformal.

11.1.1 Versión del protocolo: por qué SPO+ v2

La primera implementación (v1) reportaba apenas 2.5% de mejora sobre two-stage, un número que no justificaba el esfuerzo de end-to-end. La auditoría de marzo 2026 identificó cinco defectos arquitectónicos que explicaban el resultado pobre y que corresponden punto por punto a la versión v2 que el paper cita:

Tabla 11.1: Cinco fixes arquitectónicos que llevaron SPO+ del 2.5% al 49.1% de mejora reportada.
# Defecto en v1 Corrección en v2 Por qué importa
1 MLP plano sobre input 500-dim concatenado MLP point-wise permutation-equivariant sobre input 10-dim por loan El optimizador combinatorio es invariante a permutación de items; un MLP plano rompe esa simetría y desperdicia capacidad.
2 Costos binarios (default/no default) Costos continuos calibrados desde la PD Venn-Abers Costos binarios producen un paisaje de pérdida casi plano; los gradientes SPO+ se desvanecen y la red no aprende.
3 Una sola semilla 5 semillas independientes La varianza inter-seed es la mayor fuente de ruido; un solo número podría ser suerte.
4 Sólo two-stage como comparador Tres métodos: two-stage, SPO+, conformal robust Sin el tercer comparador, la lectura “auditabilidad vs regret” no aparece.
5 n_items = 50 n_items = 100 en la versión train; n_items = 50 mantenido para evaluación temporal Más items por instancia LP → gradientes más informativos; evaluación temporal mantiene budget=15 para comparabilidad.

11.1.2 Configuración exacta de las corridas v2

La distinción es deliberada. El número 49.1% pertenece al experimento pareado n_items=100, budget=30, donde SPO+ se mide contra two-stage en un benchmark de regret más exigente. La tabla temporal usa n_items=50, budget=15 para mantener comparabilidad por periodo OOT y conectar regret con cobertura conformal bajo shift. Mezclar esas dos configuraciones en una sola frase sería confuso; separarlas vuelve el comparador más defendible.

11.1.3 Estabilidad temporal: SPO+ y la cobertura conformal bajo shift

El test set OOT 2018–2020 contiene un quiebre natural de régimen: la tasa de default cae de 24.46% (2018H1) a 1.35% (2020, inicio COVID). Ese gradiente provee un quasi-experimento donde SPO+ se entrena una sola vez sobre 2007–2017 y se evalúa en cada periodo sin recalibración, simulando un despliegue real.

NotaLa estabilidad por sí sola no equivale a una garantía formal

Las dos lecturas correctas de la tabla son simultáneas y no contradictorias:

  1. SPO+ es un comparador formidable. Su regret se mantiene en el rango [0.0743, 0.0874] a través de cinco periodos OOT, y su mejora relativa frente a two-stage incluso crece con el shift (41.73% → 57.56%). Eso confirma la tesis original de Elmachtoub & Grigas: entrenar end-to-end para la decisión sí produce mejores decisiones.

  2. La cobertura conformal se mantiene por encima del target en todos los periodos ({python} f"{summary['coverage_range'][0]*100:.2f}%"{python} f"{summary['coverage_range'][1]*100:.2f}%"), incluyendo el quiebre COVID. La sobre-cobertura en 2020 (98.58%) es una propiedad diseñada, no accidental: con default rate cayendo a 1.35%, los intervalos sobre la mayoría de loans cubren ampliamente.

La distinción importante es ésta: la estabilidad de SPO+ en este dataset es empírica y bonita, pero un regulador no puede auditar ex ante que el regret se mantendrá en el siguiente cambio de régimen. La cobertura conformal sí se puede auditar — está construida para sobrevivir intercambiabilidad incluso bajo shift.

11.1.4 Lectura editorial del 49.1%

El número agregado del paper (49.1% de reducción de regret, Wilcoxon \(p < 10^{-164}\) sobre 1,000 instancias pareadas) viene del experimento de entrenamiento, no del eval temporal. Las dos cifras son consistentes pero no idénticas y cumplen roles distintos:

Tabla 11.2: Cómo se relacionan los números que el paper cita sobre SPO+.
Número Origen Rol en el paper
49.1% reducción de regret Train-time pareado, 1,000 instancias, 5 seeds, n_items=100 Soporta el claim global “SPO+ optimiza regret mejor que two-stage”
41.73%–57.56% mejora por periodo Eval temporal OOT, 5 periodos, n_items=50 Soporta el claim “la ventaja se preserva bajo shift”
Wilcoxon \(p < 10^{-164}\) Test pareado sobre 1,000 instancias Robustece estadísticamente el 49.1%

11.1.5 Por qué CRPTO no compite en regret y por qué eso no es una derrota

La métrica de regret aquí es decision regret: la pérdida de elegir la acción óptima bajo costos predichos versus elegir la acción óptima bajo costos verdaderos, evaluada sobre la distribución verdadera. SPO+ minimiza esa cantidad por diseño — su gradiente es exactamente el subdiferencial del SPO loss, y las arquitecturas v2 (point-wise equivariant, costos calibrados) le dan al optimizador toda la información correcta.

CRPTO no participa en ese juego. CRPTO pega la cota superior conformal \(u_i = p_i^H(\alpha)\) a la restricción de PD ponderada del LP y luego maximiza retorno sujeto a esa restricción. Eso produce, por construcción, una decisión más conservadora que la del SPO+ — y por lo tanto un regret más alto en el sentido decisional puro. La métrica de éxito de CRPTO es otra: la garantía de cobertura del intervalo, que el regulador puede verificar empíricamente periodo a periodo.

Concretamente, la regla del paper es:

  • Si la pregunta es “¿qué método minimiza regret en este dataset bajo este protocolo?”, SPO+ gana, y el paper lo dice explícitamente.
  • Si la pregunta es “¿qué método ofrece una garantía formal auditable bajo cambio de régimen?”, CRPTO gana, y la cobertura mantenida en los 5 periodos OOT es la evidencia (no un torneo aislado).

Esa simetría entre fortalezas es la contribución editorial más importante del comparador SPO+ en el CRPTO, y por eso 14e-discussion debe leerse con esta página como anexo técnico de soporte.

11.1.6 Frontera regret-auditability para el paper

La version journal materializa esa simetria en la tabla A19 y la Figura Figura 11.1. La regla de lectura es simple: SPO+ ocupa la esquina de menor regret, mientras CRPTO ocupa la esquina de controles de riesgo verificables. El eje vertical no es un score subjetivo; cuenta tres checks que un reviewer puede auditar desde artefactos congelados: cobertura temporal sobre target, bound exacto del funded set y region robusta 45/45.

Figura 11.1: Frontera regret-auditability usada para separar el claim de SPO+ del claim de CRPTO.
Scatter plot que compara two-stage, SPO+ y CRPTO robust por regret medio y controles verificables de riesgo.

Esta figura permite decir en el cuerpo del paper que CRPTO no intenta ganar el torneo de regret puro. La historia publicable es mas fuerte: cuando un comite necesita cobertura, exact bound y trazabilidad del funded set, el costo en regret se vuelve explicito.

11.1.7 Reproducibilidad

uv run python scripts/run_spo_real.py
uv run python scripts/run_spo_comparison.py
uv run pytest tests/ -k "spo or stability"

Los artefactos clave son:

  • data/processed/crpto_vs_spo_stability.json — métricas agregadas por periodo y rango de mejora.
  • data/processed/crpto_vs_spo_stability_detail.parquet — regret por seed y periodo (para reanalizar varianza).
  • data/processed/spo_training_loss.parquet — curva de pérdida SPO+ durante entrenamiento.
  • models/spo_real_training_status.json — estado del run v2 (schema 2026-03-17.2).