How each hotel is growing on an online travel agency versus its competitive set
Synthetic data
Hotels ahead of compset Pick a metric to switch the trend and the scorecard to it
Share of hotels ahead of compset, by month
Portfolio scorecard
Hotel vs compset for the selected month, the gap over the last 12 months, and how many of those months the hotel was ahead. Click a hotel to open it; click a column heading to sort. Worst gap first by default.
▲ ahead gap above +1 pt ● even within ±1 pt ▼ behind gap below −1 pt — no data
How to read this dashboard
An OTA's monthly production extract gives each hotel's own results but reports its compset only as year-over-year growth (and as level gaps for share metrics). So every comparison here is hotel growth vs compset growth: if the hotel grew room nights 8% and its compset grew 3%, the gap is +5 points and the hotel is gaining share of the channel.
Scorecard
Hotel YoY / Compset YoY: the month's year-over-year change for the hotel and for its compset.
Gap: hotel YoY minus compset YoY, in percentage points. Blue above +1, orange below −1, gray in between.
12-month gap: the gap in each of the last 12 months, oldest to newest.
Months ahead: how many of those months the gap was above +1 pt.
Sponsored Listings: bookings from paid placements as a share of the hotel's OTA bookings. Here the gap is the hotel's share minus the compset's share, in points.
Hotel detail
The top panel is the hotel's monthly value (room nights, revenue, ADR or sponsored share).
The middle panel shows the two growth lines: hotel YoY (solid) and compset YoY (dashed).
The gap strip underneath is the difference between them, month by month.
The Mix tab covers the other compset comparisons: package, mobile, international, cancellation, refundable and Visibility Boost share (in points), plus length of stay and booking window (in days).
Things to know
A hotel that opened during the window has no prior year, so it has no YoY and no gap until it laps its opening.
Very large YoY swings usually mean a small base. Check the monthly values before reading too much into them.
All data on this page is synthetic, generated by scripts/make_synthetic.py. The production version reads the OTA's monthly partner extracts with scripts/build_dashboard.py.