Dashboard de Revenue Management para Hotelería desarrollado en Power BI, diseñado para analizar y optimizar el rendimiento de ingresos de una cadena hotelera multinacional. Este proyecto transforma datos de reservaciones en métricas estratégicas del sector hotelero mediante:
- 📊 2 Vistas Analíticas: Regions (vista por país) y Hotel Branches (vista por sucursal).
- 🏨 KPIs Hoteleros: +10 medidas DAX especializadas (RevPAR, ADR, Occupancy %).
- 📈 Formato Inteligente: Medidas formateadas automáticamente (B, M, K) para grandes volúmenes.
- 🎯 Análisis de Ingresos: Revenue por habitación, alimentos y bebidas (A&B).
- 🖱️ Navegación Interactiva: Segmentación por país, hotel y período de tiempo.
- Página de "Regions": Contiene una vista general por país.
- Páginas de "Hotel Branches": Contiene una vista por sucursal de hotel.
-
Visualización: Power BI Desktop.
-
Fuente de Datos:
-
Lenguajes: DAX para las medidas calculadas y Power Query (Lenguaje M) para la transformación de datos.
- Software Necesario: Power BI Desktop.
- Instalación:
- Descargar Revenue.pbix con Power BI Desktop.
- Entrar a Inicio y darle click a "Actualizar".
.
├── Dashboard (box azul).svg # Es el archivo de fondo del lienzo del proyecto.
├── Revenue.pbix # Archivo que será ejecutado con Power BI Desktop.
|—— Demo.gif # Demo del proyecto.
└── README.md # Este archivo.
- Transformaciones en Power Query: Se realizaron procesos de limpieza y modelado de datos para optimizar el rendimiento.
- Medidas DAX: Se implementaron cálculos para los KPI's del Revenue Management.
%Occ = DIVIDE([Total RNs],[RNs Disponibles],0)Conteo Días = COUNT(Calendario[Date])RNs Disponibles = SUMX(Habitaciones,Habitaciones[Cantidad de Habitaciones]*[Conteo Días])ADR = DIVIDE([Total Revenue],[Total RNs],0)Total Revenue = SUMX(Reservaciones,Reservaciones[RN]*Reservaciones[Precio Unitario])Total RNs = SUM(Reservaciones[RN])RevPar = [ADR]*[%Occ]Total A&B = SUM(Reservaciones[A&B])
- Medidas Formateadas DAX: Se implementaron medidas formateadas para visualizar de manera corta los números extensos ("B", "M" y "K").
ADR*** = VAR T = ABS([ADR]) RETURN SWITCH(TRUE(), T >= 1000000000, FORMAT(T, "$#,,,.00 B"), T >= 1000000, FORMAT(T, "$#,,.00 M"), T >= 1000, FORMAT(T, "$#,.00 K"), SUBSTITUTE(FORMAT(T, "$#.00"),",","."))RNs*** = VAR T = [Total RNs] RETURN SWITCH(TRUE(), T >= 1000000000, FORMAT(T, "#,,,.00 B"), T >= 1000000, FORMAT(T, "#,,.00 M"), T >= 1000, FORMAT(T, "#,.00 K"), FORMAT(T,"0"))Revenue*** = VAR T = [Total Revenue] RETURN SWITCH(TRUE(), T >= 1000000000, FORMAT(T, "$#,,,.00 B"), T >= 1000000, FORMAT(T, "$#,,.00 M"), T >= 1000, FORMAT(T, "$#,.00 K"), FORMAT(T,"$0.00"))A&B*** = VAR T = [Total A&B] RETURN SWITCH(TRUE(), T >= 1000000000, FORMAT(T, "$#,,,.00 B"), T >= 1000000, FORMAT(T, "$#,,.00 M"), T >= 1000, FORMAT(T, "$#,.00 K"), FORMAT(T,"$0"))
- Diseño Interactivo: Uso de paginado para navegación y segmentación de datos.
- Giancarlo Barrantes
- Lima, Perú

