Dashboard & Analytics
The owner's first screen every morning. Today's check-ins, this month's revenue, channel mix, top performers, occupancy patterns, and red flags — all pulled from the same bookings + payments tables. Built so an owner can answer "should I do anything different today?" in under 30 seconds, and "how was last quarter?" without exporting to Excel.
Top-level metrics
| Metric | Definition | Why it matters |
|---|---|---|
| Occupancy | (Rooms sold ÷ Rooms available) × 100 | Capacity utilisation. The single most important hotel KPI. |
| ADR (Avg Daily Rate) | Room revenue ÷ Rooms sold | How much each sold room actually earned. |
| RevPAR | Room revenue ÷ Rooms available · or · ADR × Occupancy | Combines pricing & occupancy — the truest measure of property health. |
| Lead time | Avg days between booking and check-in | Tells you how to set early-bird vs last-minute rates. |
| Length of stay | Avg nights per booking | Drives min-stay rules and packaging. |
| Cancellation rate | Cancelled ÷ Confirmed | High rate = policy or marketing problem. |
| Channel mix | % of bookings per source | Where the demand really comes from. |
| Commission spend | Sum of OTA commissions | Hidden cost of OTA dependence. |
| Net revenue | Gross − refunds − commissions − taxes payable | Cash that actually lands in the bank. |
| Direct booking % | Direct ÷ Total bookings | Marketing health · OTA dependence inverse. |
| Repeat-guest rate | Returning guests ÷ Total guests | Product stickiness — should grow over time. |
| Pacing | This month's pace vs same period last year | Spot soft months before they happen. |
Dashboard mockup — top of the page
Revenue trend — daily, with YoY overlay
Occupancy heatmap · 12 months
Calendar-as-heatmap. Each cell is a day, coloured by occupancy %. Spot patterns and dead zones in one glance.
Three side-by-side breakdowns
Cancellation reasons & top guest origins
| 🇮🇳 Delhi NCR | 28 % | 91 |
| 🇮🇳 Mumbai | 19 % | 62 |
| 🇮🇳 Bangalore | 14 % | 45 |
| 🇮🇳 Pune | 8 % | 26 |
| 🇮🇳 Chandigarh | 7 % | 23 |
| 🇬🇧 UK (London) | 5 % | 16 |
| 🇸🇬 Singapore | 4 % | 13 |
| 🇺🇸 USA | 3 % | 10 |
| Other (28 countries) | 12 % | 38 |
Pacing report — bookings on the books
"At this point in the booking cycle last year, we had X room-nights on the books for next month. Where are we today?"
| Month | OTB this year | OTB last year same date | Pace | Visual |
|---|---|---|---|---|
| Jun 2026 | 182 | 164 | ▲ 11 % | |
| Jul 2026 | 94 | 102 | ▼ 8 % | |
| Aug 2026 | 71 | 56 | ▲ 27 % | |
| Sep 2026 | 22 | 28 | ▼ 21 % |
Hourly check-in distribution
When do guests actually arrive? Use this to staff the desk and optimise the express-checkin flow.
Top rooms & today's operations
| Deluxe King · Mountain View 6 units | 88 % occ · ADR ₹4,140 | ₹2,18,400 |
| Family Suite 4 units | 76 % occ · ADR ₹6,800 | ₹1,86,200 |
| Standard Twin 2 units | 38 % occ · ADR ₹2,800 | ₹77,700 |
| 🛬 Arrivals expected | 5 | 2 already arrived |
| 🛫 Departures expected | 3 | 1 late check-out |
| 🛏 In-house | 9 | 12 rooms total |
| 💰 Balance due today | ₹9,000 | 1 booking |
| 📧 Unsent emails | 0 | All clear |
| ⚠️ OTA sync errors | 0 | All clear |
| 🧹 Rooms needing housekeeping | 3 | post-checkout |
Year-over-year summary
| Metric | This year YTD | Last year YTD | Δ |
|---|---|---|---|
| Net revenue | ₹19,42,600 | ₹14,87,200 | ▲ 30.6 % |
| Bookings | 1,184 | 952 | ▲ 24.4 % |
| Occupancy | 69.2 % | 62.8 % | ▲ 6.4 pts |
| ADR | ₹3,820 | ₹3,540 | ▲ ₹280 / 7.9 % |
| RevPAR | ₹2,643 | ₹2,223 | ▲ 18.9 % |
| Direct booking % | 42 % | 31 % | ▲ 11 pts · less OTA dep. |
| Cancellation rate | 8.2 % | 10.4 % | ▼ 2.2 pts |
| Repeat-guest rate | 22 % | 17 % | ▲ 5 pts |
| Commission paid | ₹2,84,600 | ₹2,98,400 | ▼ 4.6 % (despite +24 % volume) |
Drill-down reports available
Revenue by month
Gross, refunds, commissions, net. Per property or rolled up. Stacked bars by channel.
Occupancy heatmap
Days of the year as a 12-row grid. Greener = fuller. Spot patterns in seconds.
Lead-time histogram
Bookings by days-in-advance. Informs early-bird pricing.
Cancellation reasons
Bar chart of reasons. Useful for spotting marketing/policy issues.
Guest repeat rate
% of bookings from returning guests. Goes up over time = product is sticky.
Tax summary
GST collected per bracket (12 % / 18 %), per property, per month. Export to CA.
Channel ROI
Revenue per channel minus commission cost. Direct usually wins by a lot.
Pacing vs goal
Forward room-nights on the books vs same date last year — early warning system.
Hourly arrivals
For desk staffing and express-checkin optimisation.
How the metrics are computed
We do not maintain a separate "analytics" rollup until traffic justifies it. Day-cached materialised views serve the dashboard in < 200 ms; nightly refresh keeps them honest. V2: feed into a real OLAP store (ClickHouse / DuckDB) for slice-and-dice ad-hoc queries.
Exports & integrations
- CSV / Excel export on every chart and table
- Monthly PDF report mailed to the owner on the 1st of each month
- Tally / Zoho Books integration (V2): nightly push of booking + invoice data
- Google Analytics 4 on the public site for marketing attribution
- UTM capture stored on each direct booking so marketing spend ties back to revenue