José María Reyes Retana Tamayo

Logo

Bienvenido a mi portafolio de análisis de datos. En esta página, te presento un par de proyectos que realicé y disfruté mucho, espero tu también disfrutes leerlos.

View My GitHub Profile

🎯 Transformo datos en decisiones que generan resultados.

Con más de una década de experiencia profesional y una formación que une ingeniería civil, análisis estadístico y estrategia empresarial, he liderado proyectos que conectan la inteligencia de negocios con la acción concreta: desde automatizar procesos que reducen tiempos operativos en un 80%, hasta diseñar estrategias que duplican ventas y elevan el EBITDA en un 30%. Mi enfoque combina habilidades técnicas en Python, SQL, Power BI y estadística aplicada, con una visión interdisciplinaria que entiende el negocio desde adentro. Este portafolio reúne los proyectos que mejor reflejan mi capacidad para convertir datos complejos en soluciones claras, visuales y accionables.

⚙️ Habilidades técnicas:

MS Office 365 | Google Suite | Python | ETL process | Creación de documentación y Comunicación de resultados | Análisis Estadístico | SQL | MS Power BI | Tableau | Google Looker | Autodesk AutoCAD | Opus | Visual Studio Code | Scientific Workplace | GIMP | MS Excel (incluyendo VBA) | Algunas más…

🧠 Pienso con estructura, actúo con empatía.

Me gusta que las ideas tengan lógica, pero también que conecten con las personas. Sé liderar equipos diversos, traducir lo técnico en lenguaje claro, y tomar decisiones con cabeza fría y visión estratégica. Me adapto rápido, escucho antes de proponer, y siempre busco que el trabajo tenga propósito y resultados medibles.

¡Conectemos! LinkedIn

Proyectos destacados:

Aprovechando este espacio, quiero compartir contigo un par de proyectos de análisis y ciencia de datos que me parecen adecuados para abrir conversación, pero también demostrar el manejo que tengo con algunas herramientas y metodologías técnicas de analítica de datos, ciencia de datos e inteligencia de negocios.

Herramientas usadas:

Python Pandas Matplotlib Seaborn NumPy Limpieza de datos Transformación de datos Análisis de datos Análisis de grupos Visualización de datos

Proyecto AirBnB:

Síntesis:

Este proyecto parte de una base de datos pública de Airbnb con más de 1.4 millones de registros y tiene como objetivo identificar perfiles operativos de anfitriones mediante análisis exploratorio en Python. Se clasificaron los operadores en tres grupos —ocasionales, semi-profesionales e intensivos— a partir de la cantidad de alojamientos gestionados y los países en los que operan. El estudio permitió validar esta segmentación, mostrar la concentración de anfitriones pequeños frente a un reducido grupo de operadores multinacionales y establecer un marco replicable para futuros modelos de clasificación. Su relevancia radica en demostrar cómo, incluso con variables limitadas, es posible construir perfiles claros y útiles para entender dinámicas de negocio en plataformas digitales.

¿Qué buscamos?

Algunos HIGHLIGHTS del proyecto:

Etapas del proyecto:

Observaciones:

Las observaciones más relevantes del análisis se obtuvieron a partir de un proceso sistemático de exploración y depuración de la base de datos de Airbnb. En primer lugar, se agruparon los registros por anfitrión para calcular métricas clave como la cantidad de alojamientos gestionados y el número de países en los que cada operador tiene presencia. Estas dos variables, al ser cruzadas en tablas y diagramas de dispersión, revelaron patrones claros que permitieron distinguir entre anfitriones con operaciones pequeñas y locales, frente a un grupo mucho más reducido de operadores con alcance multinacional.

DistribucionAlojamientosAirbnb Fig. 1: Distribución por geografía de los alojamientos disponibles en la base de datos.

CantAnfitrionesPais Fig. 2: Cantidad de anfitriones por país.

Así mismo, el análisis del precio mínimo de renta fue un factor relevante en el estudio ya que, en un principio, se esperaba que esta variable pudiera ser más relevante, por lo anterior, se obtuvo la variable de precio mínimo real multiplicando las columnas de la base de datos de “precio mínimo” por “mínimo de noches (que se puede rentar el alojamiento)”.

DesvEstPrecioMinPais Fig. 3: La variable del precio mínimo real contaba con bastantes outliers, por lo que se decidió analizar únicamente los valores del 50% central, es decir, aquellos entre el Cuartil 1 y el 3.

La interpretación de estos resultados mostró que la plataforma está dominada por anfitriones ocasionales, con uno o dos alojamientos en un solo país, mientras que los operadores intensivos —aquellos con múltiples propiedades y presencia en varios países— representan una minoría significativa en términos de escala, pero marginal en número. Entre ambos extremos se identificó un segmento intermedio de anfitriones semi-profesionales, que gestionan más alojamientos pero siguen limitados a un único país.

CantOperCantAlojamientos Fig. 4: Cantidad de alojamientos por operador. Una de las variables clave para distinguir entre los distintos tipos de operador.

La presentación de estas observaciones se realizó tanto en formato tabular como gráfico, lo que permitió visualizar la concentración de operadores en la parte baja de la escala y la escasa dispersión hacia perfiles multinacionales. Esta combinación de evidencia cuantitativa y representación visual facilitó la validación de la hipótesis inicial y dio sustento a la clasificación en tres grupos operativos. En conjunto, el análisis demostró que, aun con un conjunto limitado de variables, es posible construir perfiles robustos y diferenciados que explican la dinámica de participación de los anfitriones en la plataforma.

PrecioMinPerfilOperador Fig. 5: Precio mínimo por perfil del operador y cantidad de alojamientos. Este gráfico nos permite ver que, aunque no es una variable determinante, si hay una correlación aparente entre la cantidad de alojamientos que se operan y el precio mínimo promedio de los alojamientos que opera un anfitrión.

AlojamientosPorOperador Fig. 6: Tabla de resumen.

¿Qué sigue?

Aunque el alcance planteado para este trabajo fue limitado, pues se trata de un ejercicio personal tanto para practicar habilidades, como por interés propio, he planteado 4 recomendaciones que pueden resultar de utilidad para profundizar en los resultados y conclusiones:

1) Incorporar el tipo de alojamiento en el análisis: distinguir entre vivienda completa, habitación privada y formatos tipo hotel para refinar la clasificación de operadores y vincularla directamente con estrategias de precio y posicionamiento. 2) Desagregar la variable geográfica: pasar de la cantidad de países a la identificación de cuáles países o ciudades, integrando factores regulatorios, culturales y económicos que influyen en el perfil de los anfitriones. 3) Ampliar la base de datos con información más reciente y granular: incluir series temporales que permitan observar tendencias, estacionalidad y evolución de los perfiles operativos en el tiempo. 4) Construir un modelo predictivo supervisado: utilizar algoritmos de clasificación (por ejemplo, árboles de decisión o random forest) para automatizar la asignación de perfiles a nuevos anfitriones, validando la precisión del modelo con métricas de desempeño.

Te invito a ver el proyecto completo en su repositorio completo.

Proyecto Call Me Maybe:

Síntesis:

Call Me Maybe es una empresa tipo Call Center que busca implementar herramientas tecnológicas para medir la eficiencia de sus empleados y poder anticiparse a situaciones en las que un bajo desempeño de los operadores pueda impactar negativamente.

¿Qué buscamos?

Algunos HIGHLIGHTS del proyecto:

Etapas del Proyecto.

Para llevar a cabo con éxito este proyecto y poder cumplir de forma satisfactoria el objetivo de identificar a los operadores ineficaces para que los supervisores de estos puedan tomar acciones oportunas, se llevarán a cabo las siguientes etapas:

Documentos adicionales.

Como parte de este trabajo se han realizado Dashboards en MS Power BI y Tableau para visualizar los datos recibidos de forma rápida, sencilla y eficiente. Así mismo se ha elaborado una presentación en PDF con los puntos más importantes del trabajo, esto se encuentra disponible en los siguientes hipervínculos:

Observaciones.

Después de hacer un análisis preliminar y correcciones a los datos para homogeneizarlos y trabajar los nulos y errores, se enontró que tenemos tres tarifas y van de más popular a menos en el siguiente orden: C, B y A. Parece que podemos asumir que la tarifa A es la más premium o completa y la B y C son de menor nivel respectivamente.

Por lo anterior, se planteó la hipótesis: Los operadores de clientes del plan A tenderán a estar más tiempo en llamada con sus clientes que los de otros planes, así mismo, el tiempo de espera para estas llamadas será menor.

Se revisaron las distribuciones de las variables en base a los tipos de tarifa, por ejemplo:

Graf_1

Graf_2

Mediante los gráficos realizados, podemos concluir que, de acuerdo con lo planteado en la hipótesis, los operadores de usuarios del plan A SI pasan más tiempo en llamadas; sin embargo también son estos operadores los que acumulan mayores tiempos de espera.

Por lo anterior, podemos aceptar parcialmente nuestra hipótesis inicial.

Se realizó el feature selection y se graficó un dendograma para validar que se pudieran agrupar a los operadores en dos grupos o no.

Graf_4

Una vez que pudimos clasificar a los operadores entre “eficientes” y “no eficientes”, se presentó la correlación que existe entre las variables filtradas y la variable objetivo (ineficientes, la cual es binaria).

Graf_3

Vemos que todas las variables guardan poca correlación con nuestra variable objetivo, sin embargo, de acuerdo con la defiinición de “operador ineficiente” de nuestro client CMM, se decide mantener las columnas (variables) del datafram de Operadores (filtrados) como las caracterísitcas más significativas.

Conclusiones del modelo de agrupación.

Debido a mejores métricas de Exhaustividad y F1, el modelo elegido ha sido Random Forest Classifier; con este algoritmo se podrán agrupar a los operadores ineficientes y eficientes para que los supervisores los identifiquen de forma sencilla.

Tanto por la relación lógica como por su suficiencia para construir un modelo de agrupación binario con buenos indicadores (exactitud, presición, exhaustividad y F1), el número de llamadas entrantes, número de llamadas salientes, duración de la llamada, duración de la espera, llamadas perdidas y llamadas conectadas, resultaron ser las características necesarias para poder identificar a los operadores ineficientes. Estas características se obtuvieron mediante cálculos de agrupación desde la tabla (DF) de registro de llamadas por operador.

Te invito a ver el proyecto completo en su repositorio completo.