Objetivo

La capacidad de una empresa de entender a sus clientes delimita en gran medida su capacidad de ofrecerle productos y servicios relevantes. Uno de los métodos para conseguir esto es la clusterización: una forma de segmentar de forma efectiva la base de clientes, con el objetivo de descubrir patrones de comportamiento, preferencias o necesidades comunes a grupos específicos. Esta segmentación permite optimizar campañas de marketing, mejorar la experiencia del cliente y tomar decisiones más informada a nivel estratégico.

Este trabajo se enmarca dentro del ámbito del machine learning no supervisado, en particular en el uso de algoritmos de agrupamiento o clustering, una técnica que permite descubrir estructuras subyacentes en los datos sin necesidad de etiquetas previas. Entre los algoritmos más comunes para este tipo de tareas se encuentran K-Means, DBSCAN y Hierarchical Clustering, cada uno con sus propias características y propiedades específicas que los hacen más adecuados para distintos contextos.

Para este trabajo de investigación se ha contado con un conjunto de datos compuesto por toda la información almacenada por MasOrange sobre sus clientes, a la que se han aplicado diversidad transformaciones para maximizar la calidad de los clusters obtenidos. Estas transformaciones han incluido normalización, reducción de dimensionalidad con técnicas como PCA e incluso la combinación de diversas fuentes de información, llegando a introducir información ajena a MasOrange y combinarla con las diversas tablas de datos. Estos datos se han separado por marca para observar la diferencia entre los tipos de clientes en las diferentes submarcas de la empresa.

Una vez entendido y transformado los datos para optimizarlos al problema en cuestión, se han probado diversos algoritmos de agrupamiento: desde los “clásicos” ya mencionados como K-Means o DBSCAN hasta los algoritmos más punteros como redes de neuronas con MiniSOM o algoritmos optimizados para mayor velocidad como Affinity Propagation. Para comparar el rendimiento de los distintos algoritmos se ha recurrido a una combinación de técnicas cualitativas y cuantitativas. Por un lado, se han empleado representaciones visuales como box-plots y proyecciones en dos dimensiones mediante PCA, que permiten observar la separación y coherencia interna de los grupos generados. Por el otro lado, se han usado métricas específicas para evaluar la calidad del agrupamiento, como el Silhouette Score, que cuantifica el grado de cohesión dentro de los clusters y la separación entre ellos. Finalmente, se ha concluido que el mejor algoritmo para el problema era DBSCAN.

Los resultados obtenidos de este proceso de segmentación de clientes por marca han sido diversos, desde marcas cuyos clientes siguen patrones muy concretos sin mucha separación entre ellos a marcas donde diferentes atributos han marcado claras agrupaciones. Lo más destacable es la clara importancia de la velocidad de internet a la hora de determinar en qué segmento incluir a cada cliente.

Partiendo de los resultados de este proceso de segmentación de clientes, se ha creado un algoritmo de clasificación con el objetivo de elegir una marca para recomendar a un nuevo cliente. Para ello se ha utilizado CatBoost, un modelo de “boosting” (combinación de árboles de clasificación para corregir errores de los anteriores), y se ha conseguido predecir la marca a la que pertenece un cliente con más de un 80% de precisión en algunas de ellas.

TRABAJO FIN DE GRADO DE:

ÁLVARO OBIES GARCÍA

Experiencia Académica

  • Grado en Ingeniería Informática, Universidad Carlos III de Madrid (septiembre 2021 – septiembre 2025)

     

    Experiencia Laboral

    • Machine Learning Researcher – Universidad Carlos III de Madrid en colaboración con Grupo MasOrange (septiembre 2024 — junio 2025)


    Habilidades técnicas

    • Lenguajes de programación: Dominio de Python, JavaScript, C, C#, C++, Java, Go, SQL

    • Desarrollo web: Experiencia en diseño frontend y backend

    • Bases de datos y computación en la nube: Experiencia con Google Cloud y BigQuery

    • Control de versiones y DevOps: GitHub, GitLab

    • Contenedores: Configuración y despliegue de entornos usando Docker