Nota de anonimización #
Este caso fue reescrito para reducir riesgo de reidentificación. Se omiten o generalizan sector, tipo exacto de análisis, nombres de módulos, fuentes, stack específico, roadmap exacto, detalles comerciales y cualquier combinación de señales que pueda asociarse con una organización concreta.
Resumen ejecutivo #
El proyecto partía de un activo técnico valioso: un motor analítico construido durante varias iteraciones, capaz de transformar datos heterogéneos en indicadores, comparaciones, rankings y reportes usados para decisiones de negocio.
El problema no era “hacer ciencia de datos desde cero”. El problema era más común en productos de datos que nacen desde conocimiento experto: el valor ya existe, pero vive repartido entre scripts, archivos, reglas implícitas, modelos, procesos manuales, supuestos metodológicos y personas clave.
La pregunta central fue:
¿Cómo convertimos un análisis experto en una plataforma reproducible, auditable y operable sin reescribir todo?
La recomendación fue evolucionar de forma incremental hacia una arquitectura con dominios claros, contratos de datos, trazabilidad por corrida, quality gates, operación observable, seguridad práctica y un camino de producto sin perder compatibilidad con lo que ya funcionaba.
El problema: el valor existía, pero era difícil de operar #
Muchas plataformas de datos nacen como una combinación de análisis experto y ejecución artesanal. Primero funcionan como scripts o notebooks. Después aparecen reportes, extractos, archivos intermedios, reglas de scoring, parámetros por caso, procesos de limpieza y pasos que sólo algunas personas conocen bien.
Eso puede ser suficiente mientras el volumen es bajo y el equipo conserva todo el contexto. Pero cuando el producto empieza a crecer, aparecen preguntas incómodas:
- ¿Podemos repetir exactamente un resultado de hace meses?
- ¿Sabemos qué datos, código, parámetros y reglas produjeron un indicador?
- ¿Qué pasa si falla una fuente externa?
- ¿Qué pasos siguen siendo manuales?
- ¿El resultado es defendible ante un cliente, comité o auditoría?
- ¿Qué tanto depende el proceso de una persona específica?
- ¿Podemos operar esto como producto sin volverlo frágil?
El diagnóstico mostró un patrón claro: había valor analítico real, pero la operación todavía no tenía suficiente estandarización, trazabilidad, observabilidad ni gobierno.
El enfoque: diagnosticar el producto antes que la tecnología #
Una decisión importante fue no empezar por la nube, el framework o la herramienta de moda. Primero había que entender qué entregaba el producto y qué partes no podían fallar.
El principio fue:
El output manda.
Si el resultado final es un reporte, ranking, score, comparación o recomendación que habilita una decisión importante, entonces el pipeline debe diseñarse alrededor de ese resultado, no alrededor de una herramienta.
El diagnóstico cubrió cinco frentes:
Qué decisiones habilita el análisis, quién consume los outputs y qué nivel de explicación necesita.
- Producto y decisiones
Qué fuentes son críticas, cuáles son frágiles, cuáles requieren validación y cuáles tienen restricciones legales u operativas.
- Fuentes de datos
Cómo se ingesta, limpia, transforma, une, calcula y entrega información; qué pasos son manuales y dónde se rompe el proceso.
- Proceso end-to-end
Qué reglas alimentan los resultados, qué parámetros cambian por caso y cómo se validan regresiones entre versiones.
- Modelos, reglas e indicadores
Quién accede a qué datos, cómo se auditan corridas, cómo se monitorean fallas y qué debe construirse primero.
- Operación, seguridad y roadmap
Hallazgos principales #
El sistema ya tenía elementos de producto, no sólo experimentos. Existían pipelines funcionales, salidas útiles para negocio y una base metodológica valiosa.
También había brechas típicas de una transición desde investigación aplicada hacia operación:
- pasos manuales difíciles de repetir;
- convenciones de carpetas y salidas mezcladas;
- contratos de datos no aplicados en runtime;
- adopción parcial de identificadores de corrida;
- dependencias no gobernadas;
- configuración local o hardcodeada;
- pruebas insuficientes;
- observabilidad limitada;
- hot spots de performance;
- reglas de scoring sin versionado formal;
- documentación dispersa;
- criterios de promoción entre capas poco explícitos.
El riesgo no era sólo técnico. Esas brechas podían afectar confianza, velocidad de entrega, onboarding, soporte, auditoría y capacidad de defender resultados.
Arquitectura objetivo: industrializar sin reescribir #
La recomendación no fue tirar todo y empezar de nuevo. Eso habría sido costoso y riesgoso. La ruta correcta era industrializar lo que ya tenía valor.
La arquitectura objetivo se planteó con estos principios:
- Separación por dominios: cada parte del proceso con responsabilidades, owners y contratos claros.
- Datos como producto: datasets versionados, documentados, validados y promovidos por reglas explícitas.
- Trazabilidad por corrida: cada resultado debe poder explicar de dónde vino y con qué método se generó.
- Quality gates: reglas mínimas antes de promover datos o publicar resultados.
- Observabilidad por defecto: duración, errores, volumen, calidad y estado de cada corrida.
- Seguridad práctica: secretos fuera del código, accesos mínimos, cifrado, backups y auditoría.
- Evolución incremental: mantener compatibilidad con el core existente mientras se encapsula y profesionaliza.
La cadena lógica quedó expresada de forma conceptual:
fuentes -> evidencia inicial -> normalización -> entidades limpias -> indicadores -> outputs
Lo importante no era el nombre de cada capa, sino la capacidad de responder:
- qué entró;
- qué cambió;
- qué reglas se aplicaron;
- qué calidad tuvo;
- qué versión del método corrió;
- qué resultado se entregó.
Contratos de datos y trazabilidad #
Una pieza central fue pasar de “archivos que funcionan” a contratos explícitos.
Cada dataset relevante debía tener:
- schema esperado;
- llaves canónicas;
- versión de método;
- identificador de corrida;
- timestamps de ingesta y procesamiento;
- fuente lógica;
- estado de calidad;
- linaje;
- reglas de promoción.
Esto permite que un resultado no sea una caja negra. Con trazabilidad suficiente, el equipo puede investigar diferencias, repetir corridas, comparar versiones y explicar cambios sin depender de memoria humana.
Operación y seguridad #
El trabajo también aterrizó una matriz de controles mínimos para operar con disciplina sin burocratizar al equipo.
Los controles prioritarios fueron:
- catálogo de servicios de datos;
- ownership por dominio;
- política de cambios;
- versionado de método y schema;
- configuración externa por ambiente;
- pruebas unitarias e integración;
- validaciones de calidad;
- gestión de secretos;
- cifrado y backups;
- monitoreo de corridas fallidas;
- runbooks básicos;
- postmortems ligeros;
- scorecard operativo.
La intención era proteger el producto y al equipo. Cuando un análisis se usa para decisiones relevantes, la disciplina operativa se vuelve parte del valor.
Roadmap seguro #
El roadmap se formuló por capacidades, no por fechas públicas ni compromisos específicos.
Fase 1: estabilizar #
- unificar rutas y convenciones;
- retirar wrappers obsoletos;
- cerrar dependencias faltantes;
- separar configuración de código;
- asegurar que los flujos críticos corran en un entorno limpio.
Fase 2: gobernar datos #
- activar trazabilidad end-to-end;
- formalizar contratos de datos;
- agregar quality gates;
- documentar datasets y owners;
- definir criterios de promoción.
Fase 3: operar #
- orquestar corridas;
- medir duración, fallas y calidad;
- agregar alertas;
- crear runbooks;
- registrar cambios relevantes.
Fase 4: productizar #
- versionar reglas e indicadores;
- validar regresiones;
- separar core analítico de capa de entrega;
- preparar acceso multiusuario o APIs sólo cuando existan controles suficientes.
Lecciones aprendidas #
1. Un producto de datos no se vuelve plataforma sólo por correr en cloud #
La nube puede ayudar, pero no reemplaza contratos, trazabilidad, calidad, seguridad y operación.
2. La reproducibilidad es una característica de negocio #
Si un resultado no puede repetirse o explicarse, su valor comercial se debilita.
3. No todo debe reescribirse #
Cuando el core analítico ya funciona, conviene encapsular, ordenar y profesionalizar antes de intentar una reescritura grande.
4. El scoring necesita gobierno #
Un indicador compuesto debe tener versionado, explicación, validación y criterios de cambio.
5. La operación también es producto #
Alertas, runbooks, calidad de datos, auditoría y trazabilidad no son detalles internos. Son lo que permite vender o sostener confianza.
Conclusión #
El aprendizaje principal fue que modernizar un producto de datos no empieza comprando una plataforma ni migrando todo a otro stack.
Empieza haciendo visible el proceso:
conocimiento experto -> reglas explícitas
scripts dispersos -> flujos operables
archivos sueltos -> datasets gobernados
resultados manuales -> corridas trazables
modelo implícito -> método versionado
entrega artesanal -> producto confiable
La meta no era borrar el pasado técnico. Era conservar el valor y darle forma operativa.