Soy Álvaro, analista de datos orientado a transformar datos en
información clara para la toma de decisiones dentro de la empresa. Me gusta trabajar con
Python,
SQL y Power BI, siempre con un foco en
la
limpieza de datos y la visualización de estos.
He trabajado en proyectos personales como StrikeWatch (detección de rayos en tiempo
real),
AireVis (análisis de calidad del aire), Excel Analytics (dashboards y limpieza
de datos)
y Bank Churn Prediction, un proyecto de análisis predictivo enfocado en detectar
clientes con riesgo de abandono bancario.
Bank Churn Prediction — Predicción de abandono bancario
Este proyecto nace con el objetivo de analizar el comportamiento de clientes bancarios y detectar qué
usuarios tienen una mayor probabilidad de abandonar el banco.
El enfoque principal fue combinar análisis exploratorio de datos,
visualización y Machine Learning para convertir datos históricos en
información útil para negocio.
Todo el proceso fue desarrollado en Python, utilizando librerías como
Pandas, NumPy, Matplotlib y
Scikit-learn.
Además, se probaron distintos modelos predictivos como
Logistic Regression, Random Forest y
XGBoost para comparar resultados y evaluar cuál se adaptaba mejor al problema.
Dashboard de negocio desarrollado en Power BI donde se muestran métricas generales de abandono,
distribución de clientes y patrones relacionados con el churn.
El objetivo era transformar los resultados técnicos en información comprensible y útil para la
toma
de decisiones.
Durante el análisis exploratorio se estudiaron variables como edad, actividad del cliente,
productos contratados o saldo bancario.
También se utilizaron matrices de correlación para detectar relaciones entre variables y
entender
mejor qué factores podían influir en el abandono.
Comparativa de modelos de Machine Learning utilizados durante el proyecto.
Se evaluaron distintas métricas como accuracy, precision, recall y matriz de confusión para
medir
el rendimiento de cada modelo y analizar su capacidad de detección de clientes con riesgo de
churn.
Análisis de importancia de variables generado por el modelo.
Esta parte fue especialmente útil para interpretar el comportamiento del sistema y entender qué
características tenían más peso en la predicción del abandono bancario.
Más allá de entrenar modelos, el proyecto estuvo muy enfocado en la parte analítica y de negocio:
limpieza de datos, interpretación de resultados y visualización de insights.
La idea principal era construir un flujo de trabajo similar al que podría encontrarse en un entorno real
de
análisis de datos.
PredictCar es un proyecto de predicción de precios de coches desarrollado como parte de mi
Trabajo de Fin de Máster en Inteligencia Artificial y Big Data.
El objetivo principal fue construir una aplicación capaz de estimar el precio de mercado de un vehículo
a
partir de diferentes características técnicas introducidas por el usuario.
El proyecto combina análisis de datos, entrenamiento de modelos de Machine Learning y desarrollo web,
simulando un flujo completo similar al de una aplicación real orientada a usuario final.
Todo el backend fue desarrollado en Python utilizando
Flask, mientras que la interfaz fue construida con
HTML, TailwindCSS y JavaScript.
Vista principal de la aplicación web.
El usuario puede introducir información como marca, modelo, kilometraje, combustible, tracción,
cilindros o estado del vehículo para generar una predicción automática del precio estimado.
Resultado generado por el sistema tras realizar la predicción.
El modelo analiza las características proporcionadas y devuelve una estimación basada en datos
históricos del mercado de vehículos.
Sistema de análisis de sentimiento integrado dentro de la aplicación.
Los comentarios escritos por el usuario son procesados para detectar tono y características
relevantes utilizando librerías de IA y procesamiento de lenguaje natural.
Durante el desarrollo se realizaron múltiples pruebas con distintos modelos predictivos como
Decision Tree, Random Forest y
XGBoost, comparando métricas y resultados para encontrar el modelo con mejor
rendimiento.
También se trabajó la limpieza del dataset, tratamiento de variables categóricas y análisis de atributos
importantes.
El sistema utiliza un backend en Flask encargado de recibir los datos desde el frontend, procesarlos y
devolver la predicción generada por el modelo previamente entrenado.
Además, se integraron librerías como Pandas,
Scikit-learn, Transformers y
Torch para distintas fases del proyecto.
Más allá del modelo predictivo, uno de los objetivos principales fue trabajar una experiencia completa:
desde el análisis y entrenamiento de datos hasta la integración final en una aplicación web funcional y
visualmente moderna.
Hecho la mayoría en Python (asyncio + websockets) conectado a un WebSocket público,
después de una
limpieza de los datos
se usó MySQL para ir añadiendolos a un server privado, el modelado y la visualización
se hizo con Power BI.
(El resultado es un poco cutre pero la idea me gusta, solo neceista un cambio de diseño)
Vista principal del dashboard. Con las cifras de los ultimos rayos que hayan caido y dos mapas,
el
principal muestra la caida de los rayos,
mientras que le secundario muestra las estaciones que han detectado los rayos
Al pulsar un rayo en la tabla nos muestra todos los rayos que han caido en esa zona (Durici, 9
rayos) y las estaciones que han recogido esos datos
Al pulsar en un rayo en concrteto dentro del mapa principal, la tabla nos muestra ese rayo y el
mapa
secundario las estaciones que han recogido sus datos.
Normalmente suele haber entre 3 y 10 estaciones que recogen los rayos pero solo se pusieron 5
para
mejorar el programa y evitar la lentitud
Los datos fueron sacados de la API de CAMS/ECMWF, teniendo que hacer dos peticiones ya que la web no
soportaba descargas tan grandes.
La limpieza de los datos se hizo mayormente con pandas y la visualización en
Power BI.
Vista principal del dashboard. En la parte de la izquierda podemos encontrar 4 filtros con los
contaminantes mas importantes y el polen, con ellos
se podrá filtrar por cantidad (con un botón para borrar los filtros). Por parte de las graficas
tenemos una tabla con los promedios de los contaminantes por mes,
una gráfica de columnas agrupadas para que los datos sean mas sencillos de ver, y por último una
gráfica de donut donde se pueden ver los mayores contaminantes.
También hay un filtro por meses
Filtrado por el mes de marzo
Filtrado por el polen de los olivos, se puede ver que los meses abril y mayo es donde se
encuentra la mayor cantidad de polen
Me animé a hacer proyectos en excel ya que le veía bastante futuro, hice muchos pero creo que este es el
mas vistoso.
Los datos no venian tan sucios como me esperaba, todo lo que hice fue con ayuda de varios videos ya que
lo quería entender todo bien.
Vista principal del dashboard
Primer filtro aplicado, mostrando datos segmentados de Amazon
Filtros adicionales por zona geográfica en USA y por año
Tablas dinámicas utilizadas como base para la creación del dashboard
Conjunto de datos inicial en excel limpios y analizados