Clustering de hoteles
Introducción 
La aplicación de Clustering, es un instrumento que
agrupa los establecimientos de la C.A. de Euskadi utilizando los precios diarios.
Esos precios han sido recogidos mediante métodos de web-scraping de la página
de Booking.
Para obtener los precios diarios, cada día se han hecho 120 pedidos a
Booking por establecimiento, es decir,
por cada día y hotel/pensión se han pedido los precios de los siguientes 120 días.
Una vez obtenido los precios, de esos 120 posibles precios por día, se ha escogido
la mediana de todos ellos para el análisis.
Selección de cluster y filtros 
Los 4 selectores de la parte superior de la aplicación
se dividen principalmente en 2 partes:
- Cluster: mediante este selector, se puede elegir que se muestre un
único cluster en particular o todos a la vez. Si se elige la opción Todos,
en el primer gráfico aparecerán todos los grupos, y las demás gráficas mostrarán
los datos absolutos de los establecimientos desagregados por categoría y estrato.
Por otro lado, si elegimos un cluster en particular, se pintará dicho cluster y el
porcentaje de hoteles que corresponden a ese grupo desagregado nuevamente por categoría
y estrato.
- Categoría, Territorio Histórico y Estrato: estos 3 selectores son simplemente
filtros que se le pueden aplicar a los establecimientos.
Tipo de Clustering 
El gráfico ofrece la opción de elegir el tipo de clustering realizado para esta aplicación:
- Precios Absolutos: se han agrupado los establecimientos utilizando los precios
originales. El objetivo es agrupar los hoteles y las pensiones por diferentes rangos de
precio y diferentes tendencias.
- Precios Normalizados: para este clustering se han normalizado los precios de los
hoteles entre 0-100 con el objetivo de capturar diferentes tendencias temporales en los precios.
Por un lado, están los que tienen precios constantes o prácticamente constantes, que se les ha
asignado el valor 100 y por el otro lado se encuentran los que cambian los precios dependiendo
la época del año o días festivos.
- Volatilidad: en este caso se ha estudiado el cambio de precio que se realiza diariamente.
Para ello, se ha utilizado el close-to-close estimator basado en el manual de la
librería TTR de
R .
En los 2 primeros casos, el clustering de las series temporales de precios se ha realizado utilizando
la distancia euclídea, después de probar diferentes distancias en librerías como
TSdist, TSclust
y dtw
Distribución de los Hoteles por Categoría 
El diagrama de barras que aparece con este título, desglosa los hoteles por categoría.
Dependiendo la opción que se elija en el selector Cluster, cambiará ligeramente su significado.
-
Si se elige la opción Todos en el selector Cluster, el diagrama mostrará todos los
establecimientos que se consiguieron mediante el web scraping desglosados por la categoría. Es decir,
se dibujan los datos absolutos.
-
Si por el contrario se elige un cluster en concreto en el selector Cluster, el diagrama muestra los
datos porcentuales. Lo que aparece en ese caso es el porcentaje de hoteles y pensiones que pertenecen al
cluster seleccionado.
Distribución de los Hoteles por Estrato 
El mapa y el diagrama de barras que aparecen con este título, desglosa los hoteles por en 11
estratos diferentes. Dependiendo la opción que se elija en el selector Cluster, cambiará ligeramente su significado.
-
Si se elige la opción Todos en el selector Cluster, el diagrama y el mapa mostrarán todos los
establecimientos que se consiguieron mediante el web scraping desglosados por estrato geográfico. Es decir,
se dibujan los datos absolutos.
-
Si por el contrario se elige un cluster en concreto en el selector Cluster, el diagrama y el mapa muestran los
datos porcentuales. Lo que aparece en ese caso es el porcentaje de hoteles y pensiones que pertenecen al
cluster seleccionado.
Técnica 
Esta herramienta utiliza las librerías Leaflet (para crear el mapa) y
plotly (para hace las series temporales y los diagramas de barras).
El uso de JavaScript permite la interactividad, por lo tanto debe estar habilitada la opción de JavaScript en su navegador.