# Detección de Anomalías Financieras

<figure><img src="https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/aKVmitDMCTy2xPz0DB1B/Financial%20Anomaly%20Detection.png" alt=""><figcaption></figcaption></figure>

## Descripción General del Proyecto

Este proyecto demuestra cómo utilizar Gaio DataOS para construir una aplicación que detecta anomalías financieras basadas en información de transacciones. Con esta aplicación, los usuarios pueden:

* Importar datos de transacciones financieras
* Detectar, clasificar y analizar anomalías
* Obtener insights sobre comportamientos financieros sospechosos

***

## Etapas de Desarrollo

### 1. Extracción de Datos

<figure><img src="https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/SB52uqckw6Zuj8kLKHjv/Financial%20Anomaly%20Detection%20-%20Data%20Extraction.png" alt=""><figcaption></figcaption></figure>

* Conexión a ClickHouse Cloud o importación de archivos CSV
* Uso de tareas Builder en Gaio para:
  * Importar datos
  * Limpiar y transformar información

El proceso de importación finaliza en la tabla plana:

* `tb_financial_anomaly`

***

### 2. Detección de Anomalías

<figure><img src="https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/wu5LrZIKQBH4AnYL2gNz/Financial%20Anomaly%20Detection%20-%20Anomaly.png" alt=""><figcaption></figcaption></figure>

La lógica de detección se divide en múltiples Builders SQL para identificar:

* Gasto elevado
* Transacción duplicada
* Transacción fuera del horario habitual
* Reembolso repetido
* Pico de ingresos
* Aumento repentino de reembolsos

Cada anomalía detectada recibe:

* Un nivel de severidad
* Un `anomaly_id` único
* Metadatos enriquecidos

{% hint style="warning" %}
Si múltiples anomalías ocurren en la misma transacción, cada una recibe un `anomaly_id` diferente.
{% endhint %}

Consolidación final en la tabla:

* `detected_anomalies`

***

### 3. Dashboards e Interfaces

### 3.1 Monitor de Transacciones Sospechosas

<figure><img src="https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/4Vg4qUGLO1WYEYeEoo7y/Financial%20Anomaly%20Detection%20-%20Transactions.png" alt=""><figcaption></figcaption></figure>

* Utiliza las tablas:

  * `detected_anomalies`
  * `anomaly_classification_history`

  Se generan métricas como:

  * Cantidad total de anomalías
  * Número por tipo de clasificación
  * Distribución por severidad

  Estas métricas se construyen con tareas Report y se visualizan en el dashboard.

  Se implementan filtros mediante la tarea Form para permitir filtrado por:

  * Fecha
  * Tipo de transacción
  * Sector
  * Categoría
  * Tipo de pago

  Incluye:

  * Tabla con clasificaciones más recientes
  * Tabla con anomalías pendientes de clasificación

  Desde la tabla de anomalías pendientes, el usuario puede:

  * Clasificar una anomalía
  * Ver detalles específicos haciendo clic en el ID

***

### 3.2 Clasificación de Anomalías

<figure><img src="https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/50kP09BQpTzeKiWSjfai/Financial%20Anomaly%20Detection%20-%20forms.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/PnzYDhkXw0F7Y4TZF1pi/Financial%20Anomaly%20Detection%20-%20Classification.png" alt=""><figcaption></figcaption></figure>

* Al hacer clic en el ícono izquierdo de una anomalía pendiente, el usuario puede clasificarla mediante un formulario.

  Características:

  * Algunos campos se completan automáticamente usando parámetros
  * Al enviar el formulario, se ejecuta el proceso **Update Anomaly Classification**

  Este proceso incluye:

  1. Tarea Update que modifica la fila correspondiente en `detected_anomalies`
  2. Builder incremental que agrega una nueva fila en `anomaly_classification_history`

***

### 3.3 Detalles de Anomalía

<figure><img src="https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/WGstr9VVmxBZDefN4hjB/Financial%20Anomaly%20Detection%20-%20Details.png" alt=""><figcaption></figcaption></figure>

* Al hacer clic en un `anomaly_id`, se abre un dashboard dedicado.

  Tablas utilizadas:

  * `detected_anomalies`
  * `tb_financial_anomaly`

  Se utilizan parámetros para filtrado dinámico.

  Incluye:

  * Tarjeta de nivel de riesgo
  * Insights según tipo de anomalía
  * Gráficos:
    * Línea (promedios mensuales)
    * Barras (por sector y categoría)
    * Circular (por cliente/proveedor)
  * Tabla de historial de transacciones
* Estilizado con HTML y CSS.

***

### 3.4 Dashboards de Confirmadas y En Investigación

<figure><img src="https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/BO7VERtTa2YJ0ILbTMUy/Financial%20Anomaly%20Detection%20-%20Confirmed.png" alt=""><figcaption></figcaption></figure>

Dos dashboards dedicados basados en `detected_anomalies`.

Muestran:

* Anomalías confirmadas
* Anomalías pendientes

Construidos con la tarea [Reporte.](https://docs.gaiodataos.com/gaio-dataos-spanish/~/revisions/xYbEebgzjBPDeIAzGV7O/herramientas/tareas/entrega/reporte)

***

### Tecnologías Utilizadas

* Flujos ETL visuales en Gaio DataOS
* Tablas temporales y finales para versionado
* Tareas Report y Content para dashboards adaptativos
* Dashboards dinámicos con filtros y gráficos
* HTML y CSS para diseño personalizado
* Tarea Form para clasificación sin salir del dashboard
* Parámetros para navegación dinámica entre vistas

***

### Resultados Esperados

* Desarrollo más rápido de lógica de detección de anomalías
* Dashboards centralizados de monitoreo financiero
* Mayor control financiero y trazabilidad de auditoría
* Acceso seguro mediante usuarios y grupos con permisos

***

#### **Descargar este proyecto**

{% file src="<https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/ERTGuTGbh3zaGl6s7Bhe/dataset1.csv>" %}

{% file src="<https://content.gitbook.com/content/7nKJZNWmfvaqAyIRrGi4/blobs/smjtTQyQ9J8u0wzbQuQP/bkp_app-48_25-08-01_10-53-38.zip>" %}
