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

MetricDefinitionWhy it matters
Occupancy(Rooms sold ÷ Rooms available) × 100Capacity utilisation. The single most important hotel KPI.
ADR (Avg Daily Rate)Room revenue ÷ Rooms soldHow much each sold room actually earned.
RevPARRoom revenue ÷ Rooms available · or · ADR × OccupancyCombines pricing & occupancy — the truest measure of property health.
Lead timeAvg days between booking and check-inTells you how to set early-bird vs last-minute rates.
Length of stayAvg nights per bookingDrives min-stay rules and packaging.
Cancellation rateCancelled ÷ ConfirmedHigh rate = policy or marketing problem.
Channel mix% of bookings per sourceWhere the demand really comes from.
Commission spendSum of OTA commissionsHidden cost of OTA dependence.
Net revenueGross − refunds − commissions − taxes payableCash that actually lands in the bank.
Direct booking %Direct ÷ Total bookingsMarketing health · OTA dependence inverse.
Repeat-guest rateReturning guests ÷ Total guestsProduct stickiness — should grow over time.
PacingThis month's pace vs same period last yearSpot soft months before they happen.

Dashboard mockup — top of the page

app.abc.com/dashboard
Good morning, Rohan 👋
Park View Hotel · Today is 26 May 2026
Net revenue
₹4,82,300
▲ 18 % vs prev 30d
Occupancy
72 %
▲ 6 pts vs prev 30d
ADR
₹3,920
▲ ₹120 / +3 %
RevPAR
₹2,822
▲ 11 %
Avg lead time
11.4 days
▼ 1.6 d more last-minute
Avg length of stay
2.8 nights
▲ 0.2 n
Cancellation rate
8.2 %
▼ 1.1 pt
Repeat guests
22 %
▲ 3 pts

Revenue trend — daily, with YoY overlay

/dashboard/revenue
Daily net revenue · last 30 days
This year Same period last year
₹25k ₹20k ₹15k ₹10k ₹5k Weekend spike
27 Apr4 May11 May18 May26 May

Occupancy heatmap · 12 months

Calendar-as-heatmap. Each cell is a day, coloured by occupancy %. Spot patterns and dead zones in one glance.

/dashboard/occupancy
Occupancy · last 12 months
JunJulAug SepOctNov DecJanFeb MarAprMay MTW TFS S
Less
More Peak: Dec 24–Jan 2 · 96 % · Trough: Jul 4–11 monsoon · 28 %

Three side-by-side breakdowns

/channel-mix
Channel mix · last 30 days
324 bookings Direct · 42% BDC · 28% MMT · 16% Airbnb · 9% Manual · 5%
Commission paid · ₹71,400
/lead-time
Lead-time distribution
0–2 3–7 8–14 15–30 31–60 61–90 90+
Mode: 8–14 days · Avg: 11.4 d
/length-of-stay
Length of stay
1n 2n 3n 4n 5n 6n 7n+
Mode: 2 nights · Avg: 2.8 n

Cancellation reasons & top guest origins

/cancellation-reasons
Top cancellation reasons · last 90 days
Travel plans changed38%
Found a better deal22%
Property issue (reviews etc.)14%
Weather / monsoon11%
Balance default (auto-cancel)9%
Property cancelled6%

Total cancellations: 87 · 8.2 % cancellation rate
/guest-origin
Top guest origins
🇮🇳 Delhi NCR28 %91
🇮🇳 Mumbai19 %62
🇮🇳 Bangalore14 %45
🇮🇳 Pune8 %26
🇮🇳 Chandigarh7 %23
🇬🇧 UK (London)5 %16
🇸🇬 Singapore4 %13
🇺🇸 USA3 %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?"

/pacing
Forward pacing · room-nights on the books
MonthOTB this yearOTB last year same datePaceVisual
Jun 2026182164▲ 11 %
Jul 202694102▼ 8 %
Aug 20267156▲ 27 %
Sep 20262228▼ 21 %
Vertical grey bar = last year's final occupancy for that month · the goal we're pacing against.

Hourly check-in distribution

When do guests actually arrive? Use this to staff the desk and optimise the express-checkin flow.

/check-in-distribution
Check-in hour · last 90 days
0 3 6 9 12 15 18 21 Check-in opens 14:00
Peak arrival hour: 14:00–15:00 · 18 % of all guests arrive in that single hour.

Top rooms & today's operations

/top-rooms
Top performing rooms
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
Standard Twin is underperforming — consider repositioning or repricing.
/today
Today's operations
🛬 Arrivals expected52 already arrived
🛫 Departures expected31 late check-out
🛏 In-house912 rooms total
💰 Balance due today₹9,0001 booking
📧 Unsent emails0All clear
⚠️ OTA sync errors0All clear
🧹 Rooms needing housekeeping3post-checkout

Year-over-year summary

MetricThis year YTDLast year YTDΔ
Net revenue₹19,42,600₹14,87,200▲ 30.6 %
Bookings1,184952▲ 24.4 %
Occupancy69.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 rate8.2 %10.4 %▼ 2.2 pts
Repeat-guest rate22 %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

Source of truth: the bookings + payments tables.

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