Marco de preparación de datos para seleccionar y comparar metodologías de reserving¶
Parte 2 — Gates, matriz por método, benchmark, implementación y ejemplo aplicado
Continuidad editorial
Esta entrega continúa directamente la Parte 1. La numeración comienza en la sección 27 para facilitar la consolidación posterior de ambas partes en un único capítulo.
27. Gates formales de elegibilidad¶
27.1 Por qué los gates son necesarios¶
Un score agregado puede ocultar una carencia crítica. Por ejemplo:
- un dataset puede tener excelente completitud, historia y granularidad, pero no tener exposición para Cape Cod;
- puede disponer de meses-miembro y un triángulo estable, pero no tener un prior ex ante para Bornhuetter-Ferguson;
- puede tener millones de registros, pero carecer de snapshots históricos para validar machine learning sin leakage;
- puede contener pagos y reservas de caso, pero mezclar obligaciones fee-for-service y capitación.
Los gates son requisitos no compensatorios. Si un gate material falla, el método no debe promoverse como estimador central, aunque otros componentes sean sólidos.
Sea \(G_{m,g}\) el resultado del gate \(g\) para el método \(m\):
La elegibilidad estricta es:
donde \(\mathcal{G}_m\) es el conjunto de gates críticos del método.
Si \(E_m=0\), el método queda bloqueado como benchmark central.
27.2 Resumen de gates¶
| Gate | Nombre | Pregunta |
|---|---|---|
| G0 | Propósito y obligación | ¿El método responde a la obligación correcta? |
| G1 | Fechas y estructura temporal | ¿Las fechas permiten construir el proceso de desarrollo? |
| G2 | Medida económica | ¿Paid, incurred, allowed, recoveries y reservas están definidos? |
| G3 | Integridad e identificadores | ¿Los movimientos pueden reconstruirse sin duplicación material? |
| G4 | Historia y madurez | ¿Existe experiencia suficiente para estimar el patrón? |
| G5 | Exposición | ¿La unidad de riesgo está completa y reconciliada? |
| G6 | Prior | ¿Existe una expectativa ex ante defendible? |
| G7 | Estabilidad y representatividad | ¿La historia representa razonablemente el futuro? |
| G8 | Validación as-of | ¿Puede evaluarse el método sin información futura? |
| G9 | Gobierno e implementación | ¿El proceso es reproducible, explicable y operable? |
27.3 G0 — Propósito y obligación¶
Evidencia mínima¶
- fecha de valoración;
- propósito;
- usuario previsto;
- obligación económica;
- población;
- cobertura;
- medida;
- base bruta o neta;
- moneda;
- materialidad.
Prueba formal¶
donde:
- \(O\): obligación;
- \(t\): fecha de valoración;
- \(M\): medida;
- \(S\): segmento;
- \(B\): base bruta o neta.
Ejemplos de falla¶
- aplicar Chain Ladder a pagos de capitación;
- tratar cuentas por cobrar de una IPS como IBNR de un asegurador;
- estimar paid pero comparar contra incurred;
- mezclar costo médico y gasto administrativo sin definición.
Consecuencia¶
Bloqueo total. No debe ejecutarse un benchmark central hasta definir la obligación.
27.4 G1 — Fechas y estructura temporal¶
Evidencia mínima¶
Según el método, deben existir:
fecha_origen;fecha_calendario;fecha_valoracion;- opcionalmente
fecha_reporte,fecha_adjudicacionyfecha_pago.
Controles¶
Se debe revisar:
- rezagos negativos;
- fechas futuras;
- granularidad;
- periodicidad;
- cambios de definición;
- movimientos retroactivos;
- snapshot al que pertenece cada fila.
Semáforo¶
| Resultado | Condición |
|---|---|
| Verde | fechas completas, coherentes y documentadas |
| Amarillo | fechas imputadas o parcialmente ambiguas |
| Rojo | no puede definirse origen o calendario |
Consecuencia¶
- Rojo: bloquear métodos de desarrollo.
- Amarillo: permitir solo evaluación exploratoria con disclosure.
27.5 G2 — Medida económica¶
Evidencia mínima¶
El dataset debe distinguir, cuando aplique:
valor_facturado;valor_permitido;valor_reconocido;costo_pagado;reserva_caso;costo_incurrido;valor_recuperacion;valor_reaseguro;valor_glosa;valor_reverso.
Reconciliaciones¶
Consecuencia¶
Un campo genérico llamado costo no supera este gate sin diccionario o confirmación de negocio.
27.6 G3 — Integridad e identificadores¶
Evidencia mínima¶
- llave de reclamación;
- llave de transacción;
- trazabilidad de archivo;
- tipo de movimiento;
- regla de deduplicación;
- tratamiento de pagos parciales y reversos.
Indicadores sugeridos¶
Consecuencia¶
- duplicación material no resuelta: bloquear;
- duplicación identificada y reconciliada: continuar con disclosure;
- inexistencia de llave transaccional: limitar modelos granulares.
27.7 G4 — Historia y madurez¶
Evidencia mínima¶
- número de periodos de origen;
- horizonte de desarrollo;
- pares por factor;
- volumen por celda;
- cohortes maduras;
- análisis de cola.
Para el factor \(j\to j+1\):
También conviene calcular:
Regla importante¶
Los umbrales deben parametrizarse. Por ejemplo:
Estos valores no constituyen estándares universales.
Consecuencia¶
- historia corta: Chain Ladder exploratorio;
- factores largos sin observaciones: tail o método alternativo;
- ausencia de cohortes maduras: backtesting limitado.
27.8 G5 — Exposición¶
Evidencia mínima¶
Uno o más de:
miembros_mes;vidas_expuestas;dias_cobertura;prima_devengada;contratos_activos;unidades_capitadas.
Reconciliación¶
La exposición debe cubrir el mismo:
- periodo;
- segmento;
- beneficio;
- contrato;
- perímetro económico.
Consecuencia¶
- Cape Cod y PMPM: bloquear si no existe exposición;
- GLM con offset: ejecutar solo sin offset y con fuerte limitación;
- BF basado en ELR: bloquear si no hay prima devengada o expected ultimate.
27.9 G6 — Prior¶
Evidencia mínima¶
valor_prior;fecha_prior;metodo_prior;segmento_prior;exposicion_prior;fuente_prior.
Condición ex ante¶
Un prior construido después del cierre del periodo no es válido para backtesting.
Consecuencia¶
- BF y Benktander: bloquear sin prior;
- Bayes: bloquear o limitar si el prior es no identificable;
- escenarios: permitir si se documenta que no representan un estimador calibrado.
27.10 G7 — Estabilidad y representatividad¶
Evidencia mínima¶
Análisis de:
- cambios de sistema;
- TPA;
- red;
- beneficios;
- tarifas;
- población;
- morbilidad;
- políticas de glosa;
- grandes reclamaciones;
- inflación médica;
- estacionalidad;
- backlog.
Concepto¶
La historia puede ser abundante y no ser representativa.
cuando existe una ruptura estructural material.
Consecuencia¶
- segmentar por eras;
- excluir historia con justificación;
- usar prior ajustado;
- incorporar efecto calendario;
- no usar CL mecánicamente.
27.11 G8 — Validación as-of¶
Evidencia mínima¶
Snapshots o capacidad de reconstruir:
Para cada corte debe conocerse:
- información disponible;
- parámetros;
- prior;
- exposición;
- resultado posterior maduro.
Consecuencia¶
- sin snapshots: no presentar ranking predictivo fuerte;
- ML sin holdout temporal: bloquear como benchmark central;
- modelos clásicos: permitir sensibilidad, pero limitar evidencia de desempeño.
27.12 G9 — Gobierno e implementación¶
Evidencia mínima¶
- propietario del modelo;
- versión de datos;
- versión de código;
- parámetros;
- log;
- pruebas;
- reconciliaciones;
- documentación;
- fallback.
Consecuencia¶
Un método técnicamente sólido puede quedar como exploratorio si la organización no puede ejecutarlo consistentemente.
28. Sistema de estados¶
28.1 Estados oficiales¶
| Estado | Código | Uso permitido |
|---|---|---|
| Listo | LISTO |
benchmark central |
| Listo con limitaciones | LISTO_CON_LIMITACIONES |
central con disclosures o challenger fuerte |
| Exploratorio | EXPLORATORIO |
challenger, sensibilidad o aprendizaje |
| Bloqueado | BLOQUEADO |
no ejecutar como resultado actuarial |
| No pertinente | NO_PERTINENTE |
no responde a la obligación |
Los alias opcionales en inglés pueden ser:
28.2 Precedencia¶
flowchart TD
A{"¿El método responde a la obligación?"}
A -->|No| N["NO_PERTINENTE"]
A -->|Sí| B{"¿Falla un gate crítico?"}
B -->|Sí| C["BLOQUEADO"]
B -->|No| D{"¿Puede validarse razonablemente?"}
D -->|No| E["EXPLORATORIO"]
D -->|Sí| F{"¿Existen limitaciones materiales?"}
F -->|Sí| G["LISTO_CON_LIMITACIONES"]
F -->|No| H["LISTO"]
28.3 Regla de prudencia¶
Un estado alto no implica que el método deba seleccionarse. Solo indica que puede compararse de forma defendible.
29. Score de preparación¶
29.1 Objetivo¶
El score sirve para:
- priorizar remediaciones;
- comparar la preparación relativa;
- monitorear mejoras;
- resumir evidencia.
No sustituye gates.
29.2 Fórmula¶
Sea \(s_d\in[0,1]\) el cumplimiento del dominio \(d\) y \(w_{m,d}\) el peso para el método \(m\):
29.3 Ejemplo de pesos¶
Chain Ladder pagado¶
| Dominio | Peso |
|---|---|
| D1 Alcance | 0,10 |
| D2 Fechas | 0,15 |
| D3 Medida | 0,10 |
| D4 Integridad | 0,10 |
| D5 Historia | 0,25 |
| D6 Exposición | 0,02 |
| D7 Prior | 0,00 |
| D8 Segmentación | 0,08 |
| D9 Operación | 0,10 |
| D10 Validación | 0,10 |
Cape Cod¶
| Dominio | Peso |
|---|---|
| D1 Alcance | 0,10 |
| D2 Fechas | 0,08 |
| D3 Medida | 0,08 |
| D4 Integridad | 0,08 |
| D5 Historia | 0,15 |
| D6 Exposición | 0,25 |
| D7 Prior | 0,05 |
| D8 Segmentación | 0,08 |
| D9 Operación | 0,05 |
| D10 Validación | 0,08 |
29.4 Interpretación orientativa¶
| Score | Interpretación preliminar |
|---|---|
| 90–100 | muy preparado |
| 75–89 | preparado con limitaciones |
| 50–74 | exploratorio |
| < 50 | preparación insuficiente |
Un gate crítico fallido fuerza BLOQUEADO.
29.5 Mejor contraargumento¶
Los pesos contienen juicio. Un score puede parecer objetivo sin serlo. Por ello:
- deben versionarse;
- deben ser visibles;
- deben permitir override documentado;
- no deben utilizarse como ranking de calidad actuarial.
30. Matriz maestra de requisitos por método¶
30.1 Métodos clásicos¶
| Método | Campos esenciales | Campos recomendados | Gate crítico | Validación mínima |
|---|---|---|---|---|
| Chain Ladder pagado | fecha_origen, fecha_pago, costo_pagado, fecha_valoracion |
segmento, recuperaciones, large claims | G1, G2, G4, G7 | runoff y estabilidad |
| Chain Ladder incurrido | fecha_origen, costo_incurrido, fecha_valoracion |
paid, case reserve, política de reservas | G2, G4, G7 | reconciliación paid + case |
| Bornhuetter-Ferguson | triángulo, CDF, ultimate_esperado o ELR |
exposición, pricing, presupuesto | G4, G6 | backtest del prior |
| Benktander | datos BF + madurez | pesos o iteración | G4, G6 | continuidad por madurez |
| Cape Cod | triángulo, exposición, CDF | tendencia, mix, beneficios | G4, G5, G7 | backtest del costo unitario |
| PMPM | costo maduro, miembros-mes | morbilidad, tendencia, estacionalidad | G5, G7 | error por periodo |
| Devengo contractual | población, tarifa, contrato, periodo | liquidaciones y risk sharing | G0, G5, G9 | reconciliación contractual |
30.2 Métodos estocásticos¶
| Método | Campos esenciales | Gate crítico | Riesgo no cubierto automáticamente |
|---|---|---|---|
| Mack | triángulo acumulado, factores CL | G4, G7 | model risk, data risk, tail |
| Bootstrap | incrementales, residuos, proceso | G4, G7, G8 | cambio estructural |
| GLM estocástico | incrementales, diseño, distribución | G4, G7, G8 | especificación |
| Bayes | datos, likelihood, priors | G6, G8 | prior y convergencia |
30.3 Métodos estadísticos y granulares¶
| Método | Campos esenciales | Campos recomendados | Gate crítico |
|---|---|---|---|
| GLM agregado | origen, desarrollo, calendario, incremental | exposición, covariables | G4, G7, G8 |
| GAM | mismos de GLM + volumen | splines y offsets | G4, G8 |
| Frecuencia-severidad | claim ID, exposición, conteo, severidad | miembro, diagnóstico | G3, G5, G8 |
| Supervivencia | inicio, evento, censura | covariables | G1, G3, G8 |
| Multiestado | estado, fecha de transición, claim ID | historia completa | G1, G3, G8 |
| Árboles/boosting | target maduro, features as-of | exposición, SHAP | G8, G9 |
| Deep learning | gran volumen, target, snapshots | secuencias y embeddings | G8, G9 |
31. Requisitos precisos de campos¶
31.1 Chain Ladder pagado¶
Obligatorios¶
Recomendados¶
id_reclamacion
id_transaccion
segmento
tipo_movimiento
valor_recuperacion
indicador_alto_costo
archivo_fuente
Alias opcionales en inglés¶
| Español | Inglés |
|---|---|
fecha_servicio |
service_date |
fecha_pago |
payment_date |
costo_pagado |
paid_amount |
fecha_valoracion |
valuation_date |
Bloqueos¶
- fecha de pago ausente;
- costo ambiguo;
- celdas no incrementales;
- duplicación material;
- historia insuficiente.
31.2 Chain Ladder incurrido¶
Obligatorios¶
Idealmente derivados de¶
Reconciliación¶
Bloqueos¶
- cambios no documentados en políticas de case reserving;
- reservas negativas sin explicación;
- incurred no reconciliable.
31.3 Bornhuetter-Ferguson¶
Obligatorios¶
fecha_origen
importe_acumulado
proporcion_desarrollada
ultimate_esperado
fecha_prior
fecha_valoracion
Alternativamente:
Cálculo¶
Bloqueos¶
- prior retrospectivo;
- prior sin exposición;
- CDF no creíble;
- diferencias de perímetro entre prior y triángulo.
31.4 Benktander¶
Obligatorios¶
Los mismos de BF.
Cálculo de una iteración¶
Riesgo¶
Benktander no corrige un prior sesgado ni un patrón defectuoso.
31.5 Cape Cod¶
Obligatorios¶
Tasa¶
Ultimate esperado¶
Bloqueos¶
- exposición incompleta;
- mezcla de segmentos;
- tendencia no ajustada;
- periodo anómalo dominante.
31.6 Mack¶
Obligatorios¶
- triángulo acumulado;
- celdas positivas o tratamiento válido;
- CL central elegible.
Supuestos centrales¶
Bloqueos¶
- CL no apropiado;
- negativos incompatibles;
- pocos grados de libertad;
- dependencia material entre años.
31.7 Bootstrap¶
Obligatorios¶
- incrementales o acumulados transformables;
- modelo de media;
- residuos;
- distribución de proceso;
- número de simulaciones;
- semilla.
Bloqueos¶
- residuos mal definidos;
- muy pocas celdas;
- dependencia no modelada;
- tail implícito.
31.8 GLM y GAM¶
Obligatorios¶
Recomendados¶
Estructura típica¶
Con offset:
31.9 Supervivencia y multiestado¶
Supervivencia¶
Multiestado¶
Aplicación¶
- glosas;
- controversias;
- adjudicación;
- cierre;
- pagos prolongados.
31.10 Machine learning¶
Obligatorios¶
- target maduro;
- features disponibles as-of;
- fecha de corte;
- split temporal;
- identificadores;
- volumen.
Gate adicional¶
Toda variable posterior produce leakage.
32. Lógica de recomendación de datos faltantes¶
32.1 Estructura de una recomendación útil¶
No basta con indicar “falta exposición”. La salida debe incluir:
| Elemento | Contenido |
|---|---|
| Dato | nombre canónico |
| Definición | significado |
| Granularidad | claim, mes, contrato |
| Periodicidad | mensual, diaria |
| Historia | rango requerido |
| Fuente candidata | afiliaciones, pricing, tesorería |
| Métodos habilitados | lista |
| Prioridad | crítica, alta, media, baja |
| Riesgo | efecto de no obtenerlo |
32.2 Priorización¶
Sea \(H_r\) el número de métodos habilitados por el requisito \(r\), \(M_r\) su materialidad y \(C_r\) el costo de obtención:
Esta fórmula es conceptual. Su utilidad es ordenar esfuerzos.
32.3 Ejemplo¶
| Brecha | Habilita | Prioridad |
|---|---|---|
fecha_pago |
CL paid, Mack, Bootstrap | crítica |
miembros_mes |
Cape Cod, PMPM, GLM offset | alta |
ultimate_esperado |
BF, Benktander | alta |
| snapshots | backtesting, ML, validación | crítica |
reserva_caso |
CL incurred | media |
33. Perfiles de benchmark¶
33.1 Benchmark mínimo¶
Datos¶
- triángulo pagado;
- historia moderada;
- sin prior;
- sin exposición.
Métodos¶
- Chain Ladder;
- ventanas alternativas;
- tail;
- sensibilidad de factores.
Limitación¶
No permite evaluar BF, Benktander o Cape Cod.
33.2 Benchmark clásico completo¶
Datos¶
- triángulo;
- prior;
- exposición;
- madurez.
Métodos¶
- Chain Ladder;
- BF;
- Benktander;
- Cape Cod;
- PMPM.
Comparación¶
- ultimate;
- reserva;
- variación por madurez;
- sensibilidad al prior;
- sensibilidad al costo unitario.
33.3 Benchmark estocástico¶
Datos¶
- triángulo suficiente;
- residuos;
- CL elegible;
- snapshots.
Métodos¶
- Mack;
- Bootstrap;
- GLM estocástico.
Output¶
- error estándar;
- MSEP;
- distribución predictiva;
- percentiles;
- sensibilidad de tail.
33.4 Benchmark estadístico¶
Datos¶
- incrementales;
- origen, desarrollo, calendario;
- exposición;
- covariables.
Métodos¶
- GLM;
- GAM;
- Bayes jerárquico;
- Chain Ladder como baseline.
33.5 Benchmark granular¶
Datos¶
- claims;
- transacciones;
- estados;
- snapshots;
- outcome maduro.
Métodos¶
- frecuencia-severidad;
- survival;
- multiestado;
- boosting;
- benchmark agregado.
33.6 Perfil salud Colombia¶
Componentes sugeridos¶
| Obligación | Métodos iniciales |
|---|---|
| Fee-for-service | paid/incurred CL, BF, Cape Cod, PMPM |
| Capitación | devengo poblacional y liquidación |
| PGP | devengo + modelo contractual |
| Glosas | multiestado, survival, case |
| Alto costo | segmentación + case + frecuencia-severidad |
| Recuperaciones | triángulo separado o modelo de cobro |
34. Especificación de configuración¶
34.1 Ejemplo YAML¶
metodos:
chain_ladder_pagado:
nombre: "Chain Ladder pagado"
alias_ingles: "Paid Chain Ladder"
medida: "pagado"
campos_obligatorios:
- fecha_servicio
- fecha_pago
- costo_pagado
- fecha_valoracion
campos_recomendados:
- id_reclamacion
- id_transaccion
- segmento
- valor_recuperacion
gates_criticos:
- G0
- G1
- G2
- G3
- G4
- G7
- G9
umbrales:
minimo_periodos_origen: 36
minimo_pares_factor: 12
estado_si_no_hay_snapshots: "LISTO_CON_LIMITACIONES"
bornhuetter_ferguson:
nombre: "Bornhuetter-Ferguson"
campos_obligatorios:
- fecha_origen
- importe_acumulado
- proporcion_desarrollada
- ultimate_esperado
- fecha_prior
gates_criticos:
- G0
- G2
- G4
- G6
- G7
- G9
cape_cod:
nombre: "Cape Cod"
campos_obligatorios:
- fecha_origen
- importe_acumulado
- proporcion_desarrollada
- exposicion
gates_criticos:
- G0
- G2
- G4
- G5
- G7
- G9
34.2 Diccionario canónico¶
campos:
fecha_servicio:
tipo: "fecha"
descripcion: "Fecha de prestación o incurral"
alias_ingles:
- service_date
- incurred_date
costo_pagado:
tipo: "decimal"
descripcion: "Pago incremental"
alias_ingles:
- paid_amount
miembros_mes:
tipo: "decimal_no_negativo"
descripcion: "Exposición mensual"
alias_ingles:
- member_months
35. Implementación de referencia en Python¶
35.1 Objetivo¶
El siguiente código ilustra:
- perfil del dataset;
- evaluación de campos;
- aplicación de gates;
- estado;
- lista de brechas.
No reemplaza el script final del paquete.
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Any
@dataclass(frozen=True)
class EspecificacionMetodo:
codigo: str
nombre: str
campos_obligatorios: tuple[str, ...]
campos_recomendados: tuple[str, ...]
gates_criticos: tuple[str, ...]
@dataclass
class PerfilDatos:
columnas: set[str]
indicadores: dict[str, Any] = field(default_factory=dict)
gates: dict[str, bool] = field(default_factory=dict)
@dataclass(frozen=True)
class ResultadoPreparacion:
metodo: str
estado: str
score: float
campos_faltantes: tuple[str, ...]
gates_fallidos: tuple[str, ...]
recomendaciones: tuple[str, ...]
def calcular_score(perfil: PerfilDatos, pesos: dict[str, float]) -> float:
total = 0.0
for dominio, peso in pesos.items():
cumplimiento = float(perfil.indicadores.get(dominio, 0.0))
total += peso * max(0.0, min(1.0, cumplimiento))
return round(100.0 * total, 2)
def evaluar_metodo(
perfil: PerfilDatos,
especificacion: EspecificacionMetodo,
pesos: dict[str, float],
) -> ResultadoPreparacion:
faltantes = tuple(
campo
for campo in especificacion.campos_obligatorios
if campo not in perfil.columnas
)
gates_fallidos = tuple(
gate
for gate in especificacion.gates_criticos
if not perfil.gates.get(gate, False)
)
score = calcular_score(perfil, pesos)
if faltantes or gates_fallidos:
estado = "BLOQUEADO"
elif not perfil.gates.get("G8", False):
estado = "EXPLORATORIO"
elif score >= 90:
estado = "LISTO"
elif score >= 75:
estado = "LISTO_CON_LIMITACIONES"
else:
estado = "EXPLORATORIO"
recomendaciones: list[str] = []
for campo in faltantes:
recomendaciones.append(f"Obtener o mapear el campo '{campo}'.")
for gate in gates_fallidos:
recomendaciones.append(f"Resolver el gate crítico {gate}.")
return ResultadoPreparacion(
metodo=especificacion.nombre,
estado=estado,
score=score,
campos_faltantes=faltantes,
gates_fallidos=gates_fallidos,
recomendaciones=tuple(recomendaciones),
)
35.2 Ejemplo de ejecución¶
perfil = PerfilDatos(
columnas={
"fecha_servicio",
"fecha_contabilizacion",
"costo",
"id_factura",
"segmento",
},
indicadores={
"D1": 0.8,
"D2": 0.5,
"D3": 0.3,
"D4": 0.6,
"D5": 0.2,
"D6": 0.0,
"D7": 0.0,
"D8": 0.7,
"D9": 0.4,
"D10": 0.2,
},
gates={
"G0": True,
"G1": False,
"G2": False,
"G3": True,
"G4": False,
"G5": False,
"G6": False,
"G7": False,
"G8": False,
"G9": True,
},
)
El resultado para Chain Ladder pagado sería BLOQUEADO hasta mapear fecha_pago, costo_pagado y resolver historia y medida.
36. Implementación de referencia en R¶
evaluar_metodo <- function(
columnas,
campos_obligatorios,
gates,
gates_criticos,
score
) {
faltantes <- setdiff(campos_obligatorios, columnas)
gates_fallidos <- gates_criticos[!gates[gates_criticos]]
if (length(faltantes) > 0 || length(gates_fallidos) > 0) {
estado <- "BLOQUEADO"
} else if (!isTRUE(gates[["G8"]])) {
estado <- "EXPLORATORIO"
} else if (score >= 90) {
estado <- "LISTO"
} else if (score >= 75) {
estado <- "LISTO_CON_LIMITACIONES"
} else {
estado <- "EXPLORATORIO"
}
list(
estado = estado,
score = score,
campos_faltantes = faltantes,
gates_fallidos = gates_fallidos
)
}
37. Consultas SQL de perfilado¶
37.1 Duplicados¶
SELECT
id_reclamacion,
id_transaccion,
COUNT(*) AS numero_registros
FROM reclamaciones
GROUP BY
id_reclamacion,
id_transaccion
HAVING COUNT(*) > 1;
37.2 Coherencia de fechas¶
SELECT
COUNT(*) AS registros_invalidos
FROM reclamaciones
WHERE fecha_servicio > fecha_pago
OR fecha_pago > fecha_valoracion;
37.3 Historia por desarrollo¶
SELECT
periodo_origen,
mes_desarrollo,
COUNT(*) AS registros,
SUM(costo_pagado) AS costo_pagado
FROM movimientos
GROUP BY
periodo_origen,
mes_desarrollo
ORDER BY
periodo_origen,
mes_desarrollo;
37.4 Cobertura de exposición¶
SELECT
periodo_origen,
SUM(miembros_mes) AS miembros_mes
FROM exposicion
GROUP BY periodo_origen
HAVING SUM(miembros_mes) IS NULL
OR SUM(miembros_mes) <= 0;
38. Ejemplo aplicado de evaluación¶
38.1 Dataset¶
Supóngase un archivo consolidado con:
- 394 filas físicas;
- 197 movimientos económicos únicos;
- dos archivos fuente que duplican los movimientos;
- ocho meses de servicio;
- tres meses calendario;
- costos positivos y negativos;
Periodo Servicio;Periodo;COSTO;FRECUENCIA;- sin exposición;
- sin prior;
- sin reserva de caso;
- sin snapshots.
38.2 Mapeo preliminar¶
| Original | Canónico | Estado |
|---|---|---|
Periodo Servicio |
fecha_servicio |
plausible |
Periodo |
fecha_calendario |
ambiguo |
COSTO |
importe |
ambiguo |
FRECUENCIA |
conteo |
ambiguo |
factura + Folio |
id_reclamacion |
candidato |
archivo_origen |
archivo_fuente |
válido |
Componente |
tipo_movimiento |
crítico |
38.3 Gates¶
| Gate | Resultado | Razón |
|---|---|---|
| G0 | Amarillo | obligación parcialmente definida |
| G1 | Rojo | Periodo no confirmado como pago |
| G2 | Rojo | COSTO mezcla componentes |
| G3 | Rojo | duplicación del 100% |
| G4 | Rojo | tres meses calendario |
| G5 | Rojo | no hay exposición |
| G6 | Rojo | no hay prior |
| G7 | Amarillo | no se evaluó representatividad |
| G8 | Rojo | no hay snapshots |
| G9 | Amarillo | proceso aún no implementado |
38.4 Estados¶
| Método | Estado |
|---|---|
| Construcción incremental | LISTO_CON_LIMITACIONES |
| Chain Ladder | EXPLORATORIO o BLOQUEADO según semántica |
| BF | BLOQUEADO |
| Benktander | BLOQUEADO |
| Cape Cod | BLOQUEADO |
| Mack | BLOQUEADO |
| Bootstrap | BLOQUEADO |
| GLM agregado | EXPLORATORIO |
| ML | BLOQUEADO |
38.5 Plan de remediación¶
| Orden | Acción | Métodos habilitados |
|---|---|---|
| 1 | confirmar Periodo y COSTO |
construcción y CL |
| 2 | resolver duplicados | todos |
| 3 | ampliar historia | CL, Mack, Bootstrap, GLM |
| 4 | obtener miembros_mes |
Cape Cod, PMPM, GLM offset |
| 5 | obtener prior ex ante | BF, Benktander |
| 6 | conservar snapshots | backtesting, ML |
| 7 | obtener reserva de caso | incurred |
38.6 Benchmark actual y objetivo¶
Actual¶
- perfilado;
- deduplicación;
- triángulo descriptivo;
- análisis de lags;
- visualización;
- no selección de reserva.
Objetivo¶
- CL;
- BF;
- Benktander;
- Cape Cod;
- Mack;
- Bootstrap;
- GLM;
- backtesting as-of.
39. Formato de salida del evaluador¶
39.1 Resumen ejecutivo¶
Métodos listos: 1
Métodos listos con limitaciones: 2
Métodos exploratorios: 2
Métodos bloqueados: 7
Brechas críticas: 5
39.2 Matriz¶
| Método | Estado | Score | Gates fallidos | Campos faltantes | Próxima acción |
|---|---|---|---|---|---|
| CL pagado | Exploratorio | 61 | G1, G4, G8 | fecha_pago | confirmar fecha |
| BF | Bloqueado | 44 | G6 | ultimate_esperado | obtener pricing |
| Cape Cod | Bloqueado | 38 | G5 | miembros_mes | integrar afiliación |
| Mack | Bloqueado | 41 | G4 | historia | ampliar cortes |
39.3 Artefactos¶
perfil_datos.csv;matriz_elegibilidad.csv;brechas_datos.csv;plan_remediacion.csv;resumen_ejecutivo.md;log_evaluacion.json.
40. Reglas de comparación¶
40.1 Misma obligación¶
No comparar:
- claims con capitación;
- paid con cuentas por cobrar;
- allowed con paid sin reconciliación.
40.2 Misma información¶
Un método con información adicional puede ser válido, pero la comparación debe declarar la diferencia.
40.3 Mismo horizonte¶
El tail debe:
- ser común;
- reconciliarse;
- presentarse como sensibilidad.
40.4 Mismo tratamiento de grandes reclamaciones¶
Opciones:
- incluir en todos;
- excluir y modelar por separado;
- winsorizar solo como sensibilidad.
40.5 Mismo criterio de evaluación¶
Métricas sugeridas:
También:
- estabilidad;
- volatilidad de selección;
- cobertura de intervalos;
- error por madurez;
- error por segmento.
41. Pruebas del framework¶
41.1 Unitarias¶
- mapeo de alias;
- detección de faltantes;
- precedencia de estados;
- score;
- gates;
- fechas;
- duplicados.
41.2 Integración¶
- CSV completo;
- CSV sin exposición;
- dataset duplicado;
- historia corta;
- prior posterior a valoración;
- snapshots válidos.
41.3 Pruebas adversariales¶
- columna llamada
fecha_pagocon contenido de contabilización; costocon negativos;- exposición duplicada;
- claims maduros usados como features;
- método marcado listo con gate crítico fallido.
41.4 Criterio de aceptación¶
Ningún método debe recibir LISTO cuando falla un gate crítico.
42. Checklist práctico¶
Alcance¶
- Obligación definida.
- Fecha de valoración definida.
- Medida paid/incurred/allowed definida.
- Base bruta o neta definida.
- Segmento definido.
Fechas¶
- Fecha de origen validada.
- Fecha calendario validada.
- Rezagos negativos explicados.
- Snapshots identificados.
Importes¶
- Paid separado.
- Case reserve separado.
- Recoveries separados.
- Negativos clasificados.
- Reconciliaciones ejecutadas.
Integridad¶
- Llaves documentadas.
- Duplicados resueltos.
- Pagos parciales identificados.
- Reversos identificados.
Historia¶
- Periodos completos.
- Pares por factor calculados.
- Volumen por celda revisado.
- Tail evaluado.
- Cambios de era documentados.
Exposición y priors¶
- Exposición reconciliada.
- Prior ex ante.
- Fecha del prior.
- Perímetro consistente.
Validación¶
- Backtesting as-of.
- Holdout temporal.
- Runoff.
- Challengers.
- Sensibilidades.
Gobierno¶
- Código versionado.
- Datos versionados.
- Parámetros registrados.
- Logs.
- Responsable.
- Fallback.
43. Bibliografía comentada¶
- Actuarial Standards Board. ASOP No. 5, Incurred Health and Disability Claims. Referencia para la estimación de reclamaciones incurridas en salud y para la evaluación de datos, métodos, supuestos y seguimiento de experiencia.
- Actuarial Standards Board. ASOP No. 23, Data Quality. Establece consideraciones sobre selección, revisión y uso de datos, así como comunicación de limitaciones.
- Actuarial Standards Board. ASOP No. 41, Actuarial Communications. Sustenta los requerimientos de documentación y disclosure.
- Actuarial Standards Board. ASOP No. 56, Modeling. Proporciona el marco de propósito, estructura, datos, supuestos, validación, gobierno y riesgo de modelo.
- Mack, T. (1993). Distribution-Free Calculation of the Standard Error of Chain Ladder Reserve Estimates. Referencia fundamental del MSEP de Mack.
- England, P. D. y Verrall, R. J. (2002). Stochastic Claims Reserving in General Insurance. Referencia sobre bootstrap y formulaciones estocásticas.
- Bornhuetter, R. L. y Ferguson, R. E. (1972). The Actuary and IBNR. Fundamento del método BF.
- Health Insurance Reserving Handbook — Guía de selección de metodologías. Marco de selección, gates, backtesting y combinación.
- Health Insurance Reserving Handbook — Comparación de métodos clásicos. Comparación de CL, BF, Benktander y Cape Cod.
- Health Insurance Reserving Handbook — Triángulos mensuales. Referencia práctica sobre historia, madurez y observaciones por factor.
44. Conclusión¶
La preparación de datos debe evaluarse en tres niveles:
Un campo puede estar presente y ser semánticamente incorrecto. Un triángulo puede existir y ser estadísticamente insuficiente. Dos métodos pueden ejecutarse y no ser comparables.
El framework propone:
- gates no compensatorios;
- estados explícitos;
- score secundario;
- nombres canónicos en español;
- requisitos por método;
- recomendaciones precisas;
- benchmark as-of;
- gobierno reproducible.
La conclusión operativa es:
El primer resultado del análisis no debe ser una reserva, sino una matriz que establezca qué métodos pueden utilizarse, cuáles no, por qué y qué datos habilitarían un benchmark superior.
Cierre editorial¶
- Nivel de confianza: Alto.
- Factores que podrían cambiar la conclusión: regulación aplicable, semántica institucional de los campos, obligación específica, volumen, historia, disponibilidad de exposición, priors y snapshots.
- Acción recomendada: consolidar las Partes 1 y 2 en un solo capítulo después de la revisión editorial y utilizarlo como especificación para
config/diccionario_datos_canonico.ymly el demo automático de preparación de datos.