About this project

This interactive Power BI report consolidates key metrics—from bookings to revenue per available room—to help hotel managers make data-driven decisions. The underlying model is built from anonymised booking, revenue and customer satisfaction data.

Explore the screenshots below or download the PBIX file to interact with the report yourself.

Real-World Problem & Analytic Solution

Problem: Independent hotels often struggle to maximise revenue while minimising cancellations across many booking channels.

Analytic Solution: This dashboard pin-points leakage in ADR, lead-time and channel mix, letting managers swiftly re-price inventory and target valuable guest segments.

🧮 Understanding the Metrics

The dashboard tracks key hotel KPIs. Use this cheat-sheet as you explore the report:

MetricDefinition & PurposeDAX Formula
Total Bookings# reservations (live + cancelled); baseline volume driverCOUNTROWS( hotel_booking )
Bookings Cancelled# reservations flagged is_canceled = 1; gauges churnCALCULATE( [Total Bookings], hotel_booking[is_canceled] = 1 )
Booking Cancellation %Share of bookings lost; indicator of revenue leakageDIVIDE( [Bookings Cancelled], [Total Bookings] )
Average Daily Rate (ADR)Avg price / night booked; pricing power proxyAVERAGE( hotel_booking[adr] )
Average Lead Time (days)Avg days between booking & arrival; demand planning metricAVERAGE( hotel_booking[lead_time] )
NightsRow-level length of stay (weekend + weekday)hotel_booking[stays_in_weekend_nights] + hotel_booking[stays_in_week_nights] (column)
Revenue Per BookingPotential revenue per reservation (ADR × Nights)SUMX( hotel_booking, hotel_booking[adr] * [Nights] )
Total RevenueRealised revenue (non-cancelled)CALCULATE( [Revenue Per Booking], hotel_booking[is_canceled] = 0 )
Revenue LossLost revenue due to cancellationsCALCULATE( [Revenue Per Booking], hotel_booking[is_canceled] = 1 )
YoY % MetricsYear-on-year growth signals (Bookings, Revenue, ADR …)DIVIDE( [Metric] - [Metric PY], [Metric PY] )

Explore the Live Dashboard

Trouble viewing? Open the report in a new tab.

Key Highlights

Walk-through

  1. Overview page: spot KPI outliers, YoY trends & cancellations at a glance.
  2. Analysis page: dig into segments via metric selector, channel mix and country table.
  3. Filter with slicers (Hotel Type, Year, Segment, Channel) and reset anytime.

📊 Visual Catalogue & Rationale

Page • VisualChart TypeWhy this chart?Key Insight
Overview • KPI stripCard ×6Instant pulse on key numbers + YoY arrowsBookings ↑51 %, but Revenue Loss ↑7 % → margin risk
Overview • Monthly Booking TrendCombo (column + line)Trend + targets in one; shows seasonalityPeak Aug–Sep, off-season Dec–Jan → promo window
Overview • Cancellation RateDonut KPIGauge at-a-glance vs 0–100 %37 % cancel rate is red-zone
Overview • ADR by CountryBubble scatterVolume (x) vs Price (y) vs Revenue (size)Portugal high price & volume; outlier market
Overview • ADR by Lead TimeBarEasy ranking bucketsLonger lead = higher ADR; price advance bookings higher
Overview • Rev vs Rev Loss by MonthStacked columnCompare good vs lost dollars monthlySep top loss despite high revenue
Overview • Top Markets TableTable + data barsFlags + dual metrics side-by-sideTop 5 countries bring 70 % revenue
Overview • Bookings Cancelled by WeekdayColumnDay-of-week patternSunday spikes ⇒ revise weekend policy
Overview • ADR & Cancellation %Line + columnRelate price to cancel behaviourADR ↑ above $140 drives cancellations ↑
Analysis • Metric SelectorButton slicerUser chooses KPITailors every chart to GM’s question
Analysis • Revenue by Customer TypeDonutProportions fit 4 categoriesTransient 74 % revenue; upsell others
Analysis • Rev by ChannelDonutQuick share, small categoriesGDS small volume but 16 % revenue (ADR)
Analysis • Rev by Nights SpentHistogramLOS distributionShort stays <4 nights dominate revenue loss
Analysis • Rev by Market SegmentHorizontal barRanked listOnline TA twice offline; direct minor
Analysis • Top 15 CountriesFlag tableRich tabular with iconsPortugal, UK, FR = 60 % of total
Analysis • Rev by Room TypeTornadoVisualises upgrade leakageType A over-assigned: 55 % free upgrades

Screenshots

Download the Report

Download PBIX (11 MB)

Source code available on GitHub.

Insights & Recommendations

#InsightRecommendation
1Portugal tops revenue: $11 M, ADR $140.Increase paid-search budget & launch “remote-work” package.
2Resort Hotel cancellations 37 %.Tighten deposit terms; 5 % discount for non-refundable 14-day bookings.
3GDS channel ADR $156 but 8 % share.Negotiate rate-parity; add loyalty perks for GDS.

Tech Stack

Contact

Created by Carlton Njong. Reach out:

Email · GitHub · LinkedIn