Una tesis de magíster iniciada en 2017 para estudiar la transmisión asimétrica de precios en el mercado agrícola chileno terminó, ocho años después, convertida en un pipeline reproducible de software: paquete R, base PostgreSQL, matching semántico y ejecución en la nube. Este post cuenta la evolución técnica del proyecto —de scripts académicos a ingeniería de datos— y cómo hoy permite estimar modelos TVECM en decenas de series producto-región.
La recuperación de un proyecto econométrico abandonado durante siete años obligó a pasar de scripts monolíticos y datos dispersos a una arquitectura reproducible: paquete R documentado, pipeline numerado con dependencias explícitas, base PostgreSQL en esquema estrella y validación tipo embudo para detectar fallos. El resultado no fue solo código más limpio, sino un sistema ejecutable con un comando, auditable y preparado para escalar. Una historia práctica sobre aplicar disciplina de ingeniería de software al código académico.
La base pública de precios hortofrutícolas de la Oficina de Estudios y Políticas Agrarias expone millones de registros a través de CKAN, pero descargarlos íntegramente exige lidiar con paginación estricta, cambios silenciosos en el esquema y unidades de venta inconsistentes. Este post muestra cómo construir un loader robusto con reintentos y caching, normalizar presentaciones heterogéneas a $/kg y transformar los datos crudos en un star schema analítico en PostgreSQL listo para consulta masiva.
Un problema aparentemente trivial —emparejar el mismo producto entre precios mayoristas y minoristas de ODEPA— se convierte en un desafío real de integración de datos cuando no existen identificadores comunes y la nomenclatura difiere en granularidad, envases y variantes regionales. Este post muestra cómo un enfoque híbrido que combina normalización textual, embeddings semánticos multilingües y validación humana permitió aumentar en 55 % las series utilizables para estimar transmisión de precios, manteniendo una arquitectura R-Python desacoplada y reproducible.
El problema no era el modelo TVECM: eran los datos. Varias series mostraban ajustes imposibles porque hasta un 60 % de sus valores provenían de imputación Kalman aplicada a la serie completa. En este post explico por qué los filtros globales fallan y cómo un enfoque por mes calendario —detectando meses razonables, formando islas de continuidad, filtrando por densidad real y aplicando Kalman solo dentro de segmentos confiables— reduce la imputación promedio de ~35 % a ~15 % y evita estimar dinámicas económicas sobre señal sintética. Una lección práctica de ingeniería de series temporales: la imputación solo debe cerrar huecos cortos, nunca reemplazar la información.
Containerizar un proyecto de investigación no es solo una decisión técnica, sino metodológica: garantiza reproducibilidad, simplifica la colaboración y permite escalar cómputo sin fricción. Este post muestra cómo un pipeline econométrico intensivo se empaqueta con Docker, se orquesta localmente con PostgreSQL y se ejecuta como batch en Google Cloud mediante Cloud Run Jobs, con dependencias separadas por capas, secretos gestionados externamente y un entrypoint flexible para distintos modos de ejecución.
El núcleo econométrico del pipeline se materializa en la estimación masiva de modelos TVECM por serie, seleccionados automáticamente tras diagnósticos de integración y cointegración. El proceso explora una malla de especificaciones en paralelo, selecciona la mejor por BIC y traduce los coeficientes en dinámicas interpretables mediante GIRF bootstrap, permitiendo cuantificar y clasificar asimetrías en la transmisión de precios. Los resultados se almacenan estructuradamente en PostgreSQL y alimentan reportes automatizados, cerrando el ciclo desde limpieza de datos hasta evidencia empírica reproducible.
Este post muestra cómo pasar de coeficientes econométricos a evidencia interpretable para política pública mediante analítica derivada pre-computada. El pipeline calcula estacionalidad de márgenes, estimaciones aproximadas de bienestar del consumidor basadas en GIRF, tests de robustez del umbral con Hansen-Seo y benchmarks cross-seccionales entre productos y regiones. Además, introduce un “embudo de validación” que verifica la integridad de cada etapa antes de generar reportes, junto con una decisión de arquitectura clave: separar completamente cálculo estadístico y presentación para lograr reportes reproducibles, rápidos y auditables.