Este caso de estudio presenta el diseño y ejecución de un pipeline analítico ****end-to-end para auditar el gasto público bajo la modalidad de Trato Directo en la Región de Los Lagos (2023-2025).
A través de la integración de SQL y Python, se transformó un ecosistema de datos fragmentado compuesto por 12 datasets semestrales, en un sistema de monitoreo de riesgos. El análisis no solo permitió corregir anomalías estructurales de datos que inflaban el presupuesto en un 150%, sino también logró identificar patrones de concentración de mercado y anomalías críticas de contratación en comunas rurales. Como resultado final, se implementó un motor de reglas de riesgo capaz de etiquetar automáticamente transacciones que superen ciertos parámetros, reduciendo la brecha entre la emisión del dato y la acción de fiscalización.
En Chile, la modalidad de Trato Directo (adjudicación sin licitación pública) es una herramienta excepcional diseñada para situaciones de emergencia o proveedores únicos. Sin embargo, su uso recurrente en sectores críticos como Salud y Municipalidades puede representar un desafío de gobernanza y transparencia fiscal.
La información oficial de ChileCompra se encuentra distribuida en reportes semestrales separados y con altos niveles de ruido, existe duplicidad de registros, inconsistencias en formatos de moneda y errores en la clasificación geográfica. Para un organismo que debe fiscalizar o una dirección de finanzas de la mismas instituciones, extraer valor de esta data en bruto es técnica y operativamente inviable.
Desafío Técnico: Resolución de la trampa de granularidad.
Las bases de datos descargadas presentaban una duplicidad de registros en las cabeceras de las Órdenes de Compra (OC). Los datos venían inflados ya que cada ítem de una compra generaba una fila por si misma, duplicando así el monto de la cabecera de las OC.
Extracto código limpieza SQL.
Normalización Financiera:
Se diseñó un proceso de limpieza de strings anidado para remover separadores de miles y corregir decimales, aplicando un CAST a tipos numéricos reales, permitiendo la computación de promedios y sumatorias exactas en la siguiente fase.

Extracto UNION tablas datos Chilecompra - modalidad trato directo.
Otro hallazgo clave durante la fase de ingesta de datos y traslado a python fue detectar instituciones que no pertenecían a la región en cuestión (Región de Los Lagos), se mostraban instituciones de otras regiones de Chile, incluso después de aplicar filtros en SQL, por lo cual aumentaban los promedios erróneamente lo que podía ocasionar datos no reales o inflados. Para solucionar esto, apliqué un filtro en python para poder tener precisión del gasto real de la región bajando las desviaciones que ocurrían con las instituciones “fantasmas”.
<aside> 💻
df[df['RegionUnidadCompra'] == 'REGION DE LOS LAGOS'].copy()
</aside>
También al pasar a python me encontré con problemas de formato de fecha, para corregir esto y evitar errores por este motivo, ya que el formato chileno es DD-MM-AAAA, pandas asume formato americano MM-DD-YYYY; por ello para no confundir los datos aplique una sentencia de código correctiva
<aside> 💻
# pd.to_datetime() convierte texto a formato fecha real que Python entiende
# dayfirst=True le dice: el primer número es el DÍA (formato chileno DD-MM-YYYY)
# Sin dayfirst=True, Pandas asume formato americano MM-DD-YYYY y se confunde
df['FechaEnvioOC'] = pd.to_datetime(df['FechaEnvioOC'], dayfirst=True)
</aside>
Para esta insight he analizado el ciclo de vida de 49.722 ordenes de compra. Analicé qué porcentaje de las órdenes se convierten realmente en gasto. Aunque el 99.9% son válidas, descubrí un cuello de botella, un 34% están estancadas en estado "Aceptada", lo que indica una demora crítica en la recepción conforme y, por ende, en el pago a proveedores lo cual afecta a su liquidez.

Resultado consulta Python - GoogleColab

Grafico eficiencia operacional - tasa de conversión OC.
Al separar los datos, vi que el Sector Salud gasta casi el triple que todas las Municipalidades juntas por Trato Directo (más de 130 mil millones). Esto podría poner el foco en en hospitales y servicios de salud, pero también es cierto que las necesidades de compras de estas instituciones varían de acuerdo a los municipios, los hospitales sobre todo, tienen una operatividad continua que no se detiene y requieren comprar insumos vitales constantemente. Sin embargo ver que se mueve tanta cantidad de dinero en OC por una modalidad que está establecida como de “excepción y emergencia” puede levantar ciertas preguntas en base a la poca planificación anual que se hace con respecto a las licitaciones publicas.

Grafico distribución del gasto en región de Los Lagos - Python
La hipótesis inicial era que al haber tanto dinero moviéndose por trato directo, iba a encontrar un grupo pequeño de proveedores concentrando el mercado.
Al cruzar los datos y hacer grafico de pareto, descubrí que el mercado está muy atomizado, el Top 10 de proveedores solo se lleva el 17.35% del gasto en las instituciones. SI bien es un ecosistema diverso, fiscalizar miles de contratos pequeños dispersos entre tantas instituciones es mucho mas complejo que auditar a 10 grandes empresas.

Gráfico top 10 proveedores en Los Lagos.
A simple vista el grafico anterior (Pareto) puede mostrar un mercado saludable y atomizado, sin embargo si queremos verdaderamente confirmar esto para no dejar dudas o preguntas, pondríamos el foco en cada institución por si sola, pues bien, al analizar las instituciones de manera individual el panorama cambia.
A través de python utilizando funciones de transformación para calcular la diversidad de proveedores por cada entidad publica analizada, los resultados arrojaron que existen casos en donde un solo proveedor acapara mas del 30% de OC realizadas , en algunos casos sobre el 50% de la totalidad de sus contratos por trato directo. Al parecer falta rotación de proveedores lo que representa una vulnerabilidad del sistema y alto riesgo de dependencia, limitando competitividad, pero también evidenciando la falta de competidores en el mercado y no menos importante, eleva la duda de por qué se esta utilizando con este tipo de montos una modalidad que opera bajo “emergencias” que no debería ser recurrente en las licitaciones publicas.

Gráfico visualización riesgo de concentración proveedores.
Para identificar instituciones donde el mecanismo de trato directo podría estar siendo utilizado en exceso, implemente una métrica de desviación respecto al promedio regional separado por sector. Si una institución gasta sistemáticamente mucho mas que el promedio de sus pares podría ser indicador de una auditoria administrativa. ¿Cuál es el panorama en la región de Los Lagos entonces? Durante el análisis detecte algo singular, existe un sesgo estadístico y geográfico importante, la región es una zona de contrastes, donde existe alta disparidad entre municipios, pueden convivir grandes municipalidades capitales provinciales con municipios casi rurales por la envergadura poblacional, incluso existen municipios en zonas remotas, por ello el promedio es sensible a los extremos.
Por este motivo este análisis no califica a las instituciones por “buena” o “mala” gestión, sino mas bien utiliza este promedio como señal temprana de alerta para priorizar que entidades están usando mas la modalidad trato directo y así poder fiscalizar el por que de esos procesos de compra, encontrar soluciones y también entender que hay detrás de esto, no necesariamente buscar mal uso de la modalidad, sino profundizar que es lo que hace que las instituciones tengan que usar un sistema que esta hecho para “emergencias”.
.png)
Gráfico riesgo sobregasto promedio - Municipios
Sector Municipios: Al aplicar el filtro de promedio de la región, la desviación observada no necesariamente implica mal uso de la modalidad, o alguna otra mala gestión, pero si muestra que entidades están canalizando proyectos de mayor complejidad financiera mediante la modalidad de trato directo. Pueden existir múltiples factores que ayuden a esto, pero esa parte no me corresponde asimilarla ni interpretarla, acá solamente estoy realizando análisis de resultados.

Sector Salud: En este sector se observa claramente como una entidad, en este caso el Servicio de Salud Osorno opera con un sobrecosto bastante alejado del promedio regional, la entidad está +20.5 millones por sobre el resto por cada orden de compra. Entonces si la modalidad trato directo es usada como excepción en casos particulares y justificados, se podría suponer que en la entidad se utiliza como emergencia crónica, por algún motivo particular, no necesariamente implica mal uso del instrumento, pero se podría auditar mas a fondo por las entidades de control correspondientes.
Para tener un panorama detallado sobre eficiencia de las entidades, calcule el costo por transacción (ticket promedio), utilice exclusivamente las ordenes de compra con ciclo de vida completo, esto quiere decir, que se encontraban en estado “aceptada” o “recepción conforme”. Esto básicamente para que dichos montos sean reales y no se vean afectados por ordenes que estaban en estados cancelados o rechazadas, esto muestra el impacto monetario cada vez que una institución ejecuta la modalidad trato directo de manera exitosa.

Al cruzar el Ticket Promedio con el volumen operativo de las instituciones, identifiqué un patrón anómalo: un clúster de municipalidades pequeñas (Puyehue, Fresia y Cochamó) presentaban gastos por transacción que al menos generaban intriga a simple vista.
Al aislar este clúster y cruzarlo con su base de proveedores, encontré una inconsistencia interesante en Cochamó, el proveedor principal facturaba altos montos por "obras de infraestructura" operando bajo un nombre de fantasía de "Servicios de Informática".
La Investigación de Campo (OSINT):
No me quedé solo con el dataset. Realicé una investigación cruzada en el portal de Mercado Público. Si bien confirmé que el proveedor tenía registrado el giro de construcción, es una situación curiosa que se permita tener un nombre fantasía distinto al de giro ya que puede comprometer el tipo de información que se maneja en estas compras publicas, puede confundir y generar suspicacias.
Motor de Alertas de Riesgo (Risk Engine)
Programé un script que clasifica automáticamente las compras. Si una institución se dispara del promedio regional, el sistema le pone una etiqueta de 🔴 ALTO RIESGO.
<aside> 💻
# ==================================================
# CREACIÓN DE ETIQUETAS DE SEMÁFORO (LOGIC ENGINE)
# ==================================================
def definir_alerta(row):
# Regla: Si supera 2 veces el promedio regional -> ROJO
if row['Ticket_Promedio_MM'] > (promedio_regional * 2):
return '🔴 ALTO RIESGO'
# Regla: Si supera el promedio pero no llega al doble -> AMARILLO
elif row['Ticket_Promedio_MM'] > promedio_regional:
return '🟡 PRECAUCIÓN'
else:
return '🟢 NORMAL'
insight_final['Status_Auditoria'] = insight_final.apply(definir_alerta, axis=1)
# Guardamos este resultado en un EXCEL o CSV final para Power BI
insight_final.to_csv('Reporte_Auditoria_LosLagos.csv', sep=';', index=False)
print("✅ 'Motor de Alerta' finalizado.")
print("Se ha generado el archivo 'Reporte_Auditoria_LosLagos.csv' con semáforos lógicos.")
print(insight_final[['Institucion', 'Status_Auditoria', 'Ticket_Promedio_MM']].head(10))
</aside>

El algoritmo automatizado está diseñado para cazar desviaciones multimillonarias como Osorno. Sin embargo, el fraccionamiento de contratos se esconde deliberadamente bajo los radares estadísticos. Por eso, el Semáforo marcó a Cochamó como 'Normal', y fue exclusivamente gracias al Análisis Exploratorio Humano (EDA) y la intuición de negocio que esta anomalía salió a la luz.
Al ejecutar el Motor de Alertas Automáticas, instituciones como Cochamó, Fresia y Puyehue no activaron los semáforos de riesgo (🔴), ya que sus montos transaccionales no superan el promedio macro de la región (altamente influenciado por los hospitales).
Conclusión Ética y Profesional:
Como Analista de Datos, mi rol no es emitir veredictos legales o acusaciones de fraude. Mi objetivo es iluminar puntos ciegos. Este caso de estudio demuestra cómo prácticas operativas (como la mantención prolongada de un servicio vía Trato Directo) pueden pasar desapercibidas ante los algoritmos de control estándar, haciendo indispensable la auditoría humana guiada por datos.