Habilidades y Herramientas ETL

Realizo procesos ETL (Extracción, Transformación y Carga) utilizando Python, SQL, Pandas y Excel para extraer, limpiar y transformar datos provenientes de diversas fuentes. Además de cargar y visualizar datos en Power BI, también desarrollo dashboards en Excel mediante tablas dinámicas, gráficos y segmentadores, lo que permite un análisis rápido y flexible.

Este flujo de trabajo me permite automatizar procesos, garantizar la calidad de los datos y crear soluciones analíticas eficientes y bien estructuradas que apoyan la toma de decisiones.

Filtrar por temática

Proyectos ETL

Historia de los Datos

Origen de los Datos

El proyecto “Yerba Mate” surgió de la necesidad de consolidar, limpiar y preparar para análisis un dataset real sobre la producción de yerba mate entre los años 2022 y 2024. Incluye información sobre distintas fincas, zonas geográficas, hectáreas cultivadas, kilos cosechados, tipo de cultivo, precipitaciones, costos operativos y métricas como rendimiento por hectárea y costo por kilogramo. Abarca la producción de yerba mate gestionada por una empresa del sector agroindustrial. La organización registraba información operativa diaria a través de dos fuentes principales: La base de datos del sistema interno, construida en MySQL, que almacenaba tablas relacionadas con:

  • Registros de cosecha,
  • Datos agronómicos por finca,
  • Historial de costos operativos,
  • Información ambiental asociada a cada lote.

Archivos de Excel generados por el personal de campo, utilizados para documentar:

  • Planificación diaria de actividades,
  • Volúmenes realmente cosechados,
  • Tiempo de cosecha,
  • Condiciones de fertilización,
  • Correcciones manuales de los datos operativos.

Dado que cada fuente seguía sus propios criterios de registro —con diferentes formatos, nombres inconsistentes, variaciones ortográficas y diferencias en las unidades—, la empresa carecía de un dataset unificado que pudiera usarse directamente para análisis, informes o toma de decisiones basada en datos.

Aunque este dataset era funcional, presentaba numerosos problemas comunes en datos agroindustriales: valores faltantes, errores ortográficos, columnas incompletas, registros inconsistentes y errores de carga que impedían un análisis confiable. Por este motivo, se desarrolló un proceso completo de limpieza y estandarización utilizando Python y Pandas.

Operaciones de Limpieza de Datos

Identificación y Eliminación de Registros Duplicados

Durante la primera revisión, se detectaron filas potencialmente duplicadas en función de la combinación de Año, Mes, Finca y Zona. Algunos registros representaban el mismo evento de cosecha cargado más de una vez. Se conservó una única versión válida de cada registro.

Detección e Imputación de Valores Faltantes

Varias columnas críticas contenían valores faltantes:

  • Kilos_cosechados presentaba registros completamente vacíos.
  • Costo_total mostraba un valor faltante en el año 2023.
  • Rendimiento_kg_ha contenía valores nulos que podían calcularse a partir de otras columnas.

Para garantizar la consistencia, los valores faltantes se imputaron según su naturaleza: promedios o medianas para datos numéricos y, en el caso del rendimiento, se recalculó como Kilos_cosechados / Hectáreas.

Corrección de Problemas de Formato y Estandarización de Etiquetas

Este dataset contenía múltiples inconsistencias textuales:

  • Fincas escritas como "Finc@ @", "Finca cx" o con espacios faltantes.
  • Zonas como "Centr0" o "No" en lugar de “Centro” y “Norte”.
  • Tipos de cultivo como "C0nvenci0nal", "Convencion@l" o "Orgánic0".

Mediante funciones de normalización y reglas de reemplazo, todas las etiquetas fueron estandarizadas a: “Finca A / B / C”, “Norte / Sur / Centro” y “Convencional / Orgánico”.

Corrección de Valores Numéricos Fuera de Rango

Se identificaron valores anómalos en:

  • Lluvia_mm con valores decimales en formato incorrecto.
  • Costo_total vacío o extremadamente bajo.
  • Tiempo_cosecha_dias faltante o igual a cero.

Estos casos se corrigieron mediante reemplazo por valores consistentes del mismo período o eliminación en casos críticos.

Validación de la Estructura del Dataset

Una vez corregidos los errores, se verificó:

  • Que todas las columnas tuvieran el tipo de dato correcto (numérico o categórico).
  • Que los rendimientos fueran coherentes (Kilos / Hectáreas).
  • Que no existieran fechas fuera de rango.
  • Que no hubiera inconsistencias lógicas (por ejemplo, fertilizado = “Sí” con costos atípicamente bajos).

Exportación de la Versión Limpia

Finalmente, se generó una versión limpia del dataset y se exportó en formato CSV. Esta versión quedó lista para análisis exploratorio de datos (EDA), modelos predictivos o visualizaciones.

Análisis Exploratorio de Datos (EDA)

Con los datos ya depurados, se exploraron las siguientes preguntas clave:

  • ¿Qué zona produce más kilos por hectárea?
  • ¿Los cultivos orgánicos presentan menor producción pero mayores costos?
  • ¿Existe una correlación entre las precipitaciones y la producción?
  • ¿Qué finca logra el costo por kilogramo más eficiente?

Para responder estas preguntas se utilizaron resúmenes estadísticos, gráficos comparativos y análisis por categorías.

Conclusión

Gracias a este proceso integral, el dataset pasó de ser un conjunto de registros inconsistentes a una fuente confiable de información. El proceso de limpieza permitió realizar análisis precisos y sentó las bases para visualizaciones, dashboards y la toma de decisiones basada en datos dentro del sector yerbatero.

El uso de Python, Pandas y Numpy permitió desarrollar un pipeline sólido y replicable, fundamental para cualquier proyecto de análisis de datos agrícolas.


Limpieza de Datos – Yerba Mate

Este proyecto se centra en la limpieza y estandarización de un dataset real sobre la producción de yerba mate, el cual presentaba problemas comunes como registros duplicados, valores faltantes, inconsistencias numéricas y variaciones ortográficas en campos categóricos. Utilizando Python y Pandas, se desarrolló un pipeline completo de limpieza de datos para:

  • Identificar y eliminar registros duplicados
  • Detectar e imputar valores faltantes
  • Corregir problemas de formato y estandarizar etiquetas de texto
  • Corregir valores numéricos fuera de rango
  • Validar la estructura del dataset
  • Exportar una versión limpia lista para análisis posterior

El resultado es un dataset confiable y consistente, preparado para análisis exploratorio de datos (EDA), modelado o visualización de datos.

Tecnologías: Python, Pandas, Numpy


Análisis Exploratorio de Datos (EDA) – Yerba Mate

El Análisis Exploratorio de Datos (EDA) permite descubrir patrones, relaciones y comportamientos dentro de un dataset. En este caso, se analiza la producción de yerba mate para responder preguntas como:

  • ¿Qué zonas producen más?
  • ¿Cómo influye el tipo de cultivo (orgánico o convencional) en la producción?
  • ¿Existe una relación entre las precipitaciones y la producción?
  • ¿Cuáles son los costos y rendimientos más eficientes?

Tecnologías: Python, Pandas

Historia de los Datos

Origen de los Datos

Este proyecto se centra en la limpieza y estandarización de un dataset real obtenido a partir de comprobantes de ventas de un supermercado. Los datos presentaban problemas comunes como registros duplicados, valores faltantes, inconsistencias en los productos vendidos y variaciones en los métodos de pago.

Utilizando Python y Pandas, se desarrolló un pipeline de limpieza de datos para:

  • Eliminar registros de ventas duplicados
  • Imputar valores faltantes en ventas totales y productos
  • Normalizar categorías de productos
  • Corregir inconsistencias en los métodos de pago
  • Generar un dataset limpio para análisis posterior

El resultado es un dataset confiable y consistente, listo para análisis de ventas, evaluación de tendencias de productos y optimización de inventarios.

Problemas de los Datos

Registros Duplicados

Se encontraron registros duplicados debido a una falla en la integración entre el sistema de ventas y el sistema de facturación.

Solución: Se implementó un proceso para identificar y eliminar duplicados mediante consultas SQL y scripts en Python.

Valores Faltantes

Algunos campos críticos, como el precio de ciertos productos y el importe total de la venta, presentaban valores faltantes debido a errores en la carga de datos.

Solución: Se aplicó imputación de datos utilizando promedios de ventas anteriores, junto con la validación de los campos faltantes mediante un script en Python.

Inconsistencias en los Métodos de Pago

Los métodos de pago no estaban estandarizados, lo que generaba registros inconsistentes entre pagos con tarjeta, efectivo y otros medios.

Solución: Las categorías de pago se normalizaron mediante un proceso ETL para clasificar de forma uniforme los métodos de pago.

Tecnologías y Herramientas Utilizadas

Motor de Base de Datos: PostgreSQL, elegido por su rendimiento en la gestión de grandes volúmenes de datos transaccionales.

Plataforma de Análisis: Python, con librerías como Pandas, NumPy y Matplotlib para la limpieza y visualización de datos.

Integración de Datos: Un pipeline ETL desarrollado en Python para extraer, transformar y cargar datos desde los sistemas de ventas hacia PostgreSQL.

Impacto en la Toma de Decisiones

La limpieza de datos ha permitido a los analistas del supermercado generar reportes más precisos sobre ventas, productos más vendidos y tendencias de consumo. Esta información ha respaldado decisiones más informadas respecto a inventario y estrategias de ventas.

Además, la estandarización de datos ha mejorado la integración con otros sistemas, optimizando la gestión de inventarios y la elaboración de reportes de ventas.


Limpieza y Preparación de Datos – Ventas de Supermercado

Este proyecto muestra un proceso completo de limpieza y estandarización de un dataset de ventas de un supermercado. Las principales tareas realizadas incluyen: Utilizando Python y Pandas, se desarrolló un pipeline completo de limpieza de datos para:

  • Eliminar registros duplicados para garantizar la integridad de los datos.
  • Gestionar valores faltantes asignando valores por defecto apropiados y recalculando totales cuando fue necesario.
  • Normalizar categorías de productos, corregir errores tipográficos y unificar convenciones de nombres.
  • Estandarizar métodos de pago, limpiar formatos y agrupar variaciones en etiquetas consistentes.
  • Corregir inconsistencias generales para mejorar la calidad del dataset y respaldar análisis posteriores.

El resultado final es un dataset limpio, listo para análisis exploratorio, visualización o modelado predictivo.

Tecnologías: Python, Pandas, Numpy


Análisis de Ventas de Supermercado – Exploratory Data Analysis (EDA) con Python

Este dataset contiene información detallada de ventas de un supermercado, incluyendo categorías de productos, cantidades vendidas, métodos de pago y totales diarios de transacciones. El objetivo de este notebook es realizar un análisis exploratorio completo (EDA) para descubrir patrones, identificar productos de alto rendimiento y comprender el comportamiento de los clientes.

  1. Limpieza y Preparación de Datos
    • Conversión de fecha a tipo datetime
    • Agrupación de variables por categoría, producto y método de pago
    • Cálculo de totales, cantidades y promedios
  2. Análisis Visual
    • Gráfico de barras: Ventas totales por categoría de producto
    • Gráfico de barras: Productos más vendidos por cantidad
    • Gráfico de barras: Ingresos totales por método de pago
    • Gráfico de líneas: Tendencia diaria de ventas
    • Gráfico de barras: Top-5 productos por ticket promedio (precio medio de venta)

Principales Hallazgos

  • Categorías y productos con mayor contribución al ingreso total
  • Artículos con mayor volumen de ventas
  • Métodos de pago preferidos por los clientes
  • Fluctuaciones de ventas a lo largo del tiempo
  • Productos de alto valor con el mayor monto promedio por transacción

Todas las visualizaciones fueron creadas utilizando Seaborn y Matplotlib, y el análisis se realizó completamente en Python.

Tecnologías: Python, Seaborn, Pandas