Top 10 Hotel PMS Software Revenue KPIs

Direct Answer
This guide provides the 10 essential revenue KPIs for hotel property management system (PMS) software, moving beyond generic occupancy metrics to focus on direct profitability, channel cost efficiency, and ancillary revenue per guest. These metrics are critical for operators using systems like Oracle Opera, Mews, Cloudbeds, and Stayntouch to maximize RevPAR and GOPPAR.
Why Hotel PMS Measures Differently
Hotel revenue management is distinct from retail or SaaS because of perishable inventory (an unsold room tonight is lost revenue forever) and variable distribution costs. A PMS is the system of record for room inventory, rates, and guest folios, but it must interface with a channel manager, a revenue management system (RMS), and a property management accounting system.
The key difference: a hotel’s "unit economics" are not just about selling a room. They include:
- Channel costs: OTA commissions (15-25% for Booking.com/Expedia) vs. Direct booking costs (3-5% for a website booking engine).
- Ancillary revenue: Spa, F&B, parking, and upsells that can double a guest’s spend.
- Operational costs: Labor and utilities tied to occupancy.
Standard SaaS KPIs (e.g., MRR, churn) don't apply. Instead, hoteliers use RevPAR (Revenue Per Available Room) as the top-line proxy, but GOPPAR (Gross Operating Profit Per Available Room) is the true profit metric. The PMS is the source for all room-level data, but it must be combined with expense data from the accounting system to calculate profit.
The Most Important KPIs to Track
Each KPI below is defined with formula, benchmark ranges, and how to extract the data from your PMS (e.g., Oracle Opera, Mews, Cloudbeds, or Stayntouch).
1. Average Daily Rate (ADR)
- Formula: Total Room Revenue ÷ Number of Rooms Sold
- What it measures: Average price per occupied room. Pure pricing power.
- Benchmark: Luxury: $400-$800+; Midscale: $100-$200; Economy: $60-$100.
- PMS extraction: Run a "Revenue by Room Type" report. Filter by date range. Divide total room revenue by occupied rooms.
- Why it matters: ADR is the foundation. A rising ADR with stable occupancy signals strong demand. A falling ADR may indicate rate discounting or competitive pressure.
2. Revenue Per Available Room (RevPAR)
- Formula: Total Room Revenue ÷ Total Available Rooms (or ADR × Occupancy %)
- What it measures: Revenue generated from all rooms, regardless of occupancy.
- Benchmark: Industry average varies wildly. A hotel with 70% occupancy and $150 ADR = $105 RevPAR.
- PMS extraction: Standard "RevPAR Report" in most PMS. Ensure "Available Rooms" excludes out-of-order rooms (if applicable).
- Why it matters: RevPAR is the industry standard for top-line performance. It combines rate and occupancy into one number. However, it ignores costs.
3. Gross Operating Profit Per Available Room (GOPPAR)
- Formula: (Total Revenue – Total Departmental Expenses – Undistributed Operating Expenses) ÷ Total Available Rooms
- What it measures: Profitability after all operational costs (labor, utilities, marketing, admin) but before fixed costs (debt service, depreciation).
- Benchmark: 30-40% of RevPAR is a healthy GOPPAR. For a $200 RevPAR hotel, GOPPAR of $60-$80 is strong.
- PMS extraction: Requires integration with your accounting system (e.g., Sage Intacct, M3). PMS provides revenue data; accounting provides expense data.
- Why it matters: RevPAR can be high while GOPPAR is low if costs are out of control (e.g., high OTA commissions, overstaffing). GOPPAR is the ultimate profit KPI.
4. Total Revenue Per Available Room (TRevPAR)
- Formula: (Room Revenue + F&B Revenue + Other Revenue) ÷ Total Available Rooms
- What it measures: All revenue generated per available room, including ancillary spend.
- Benchmark: Typically 1.5x to 2.5x RevPAR for full-service hotels. For limited-service, it's close to RevPAR.
- PMS extraction: Run a "Revenue Summary by Department" report. Sum all revenue lines (room, F&B, spa, parking, etc.) and divide by available rooms.
- Why it matters: It captures the full revenue potential of a guest, not just the room. A hotel with low RevPAR but high TRevPAR may be a strong ancillary performer.
5. Net Revenue Per Available Room (NRevPAR)
- Formula: (Total Room Revenue – Distribution Costs) ÷ Total Available Rooms
- What it measures: Room revenue after subtracting OTA commissions, GDS fees, and other distribution costs.
- Benchmark: A hotel with 30% OTA mix might have NRevPAR 10-15% lower than RevPAR.
- PMS extraction: Requires a "Revenue by Channel" report from your channel manager (e.g., SiteMinder, DerbySoft) combined with PMS room revenue. Subtract commission amounts.
- Why it matters: A hotel with high RevPAR but high OTA commissions may have lower NRevPAR than a hotel with lower RevPAR but a higher direct booking ratio. This is the true revenue efficiency metric.
6. Channel Cost of Sale (CCoS)
- Formula: (Commission + Booking Fee) ÷ Revenue for that Channel
- What it measures: Cost percentage for each distribution channel (Expedia, Booking.com, direct, GDS, wholesalers).
- Benchmark: Direct: 3-5% (payment processing + website cost). OTA: 15-25%. GDS: 10-15%. Wholesale: 20-30%.
- PMS extraction: Pull "Revenue by Source" report. Calculate commission for each source. Divide by revenue.
- Why it matters: Identifies which channels are profitable. If Booking.com has a 22% CCoS but generates 40% of bookings, it's still valuable. But a 25% CCoS on a low-ADR channel may be a loss leader.
7. Direct Booking Ratio
- Formula: Direct Bookings ÷ Total Bookings
- What it measures: Percentage of bookings made via your own website, phone, or email (not OTAs).
- Benchmark: Industry average: 20-30%. Best-in-class: 40-50% (e.g., Marriott Bonvoy, Hilton Honors).
- PMS extraction: Use "Booking Source" field. Tag direct website, phone, email, and walk-ins as "Direct." OTA bookings are "Indirect."
- Why it matters: Higher direct ratio = lower distribution costs = higher NRevPAR. Hotels with strong loyalty programs or metasearch (Google Hotel Ads) tend to have higher ratios.
8. Upsell Conversion Rate
- Formula: Number of Upsells Accepted ÷ Number of Upsell Offers
- What it measures: Effectiveness of pre-arrival and at-check-in upsells (room upgrades, late checkout, packages).
- Benchmark: 10-20% conversion is average. 30%+ is excellent.
- PMS extraction: Use an upsell module (e.g., Oaky, Canary Technologies, Nor1). PMS will record the upsell as an additional charge on the folio.
- Why it matters: Upsells are high-margin revenue. A 15% conversion on a $50 upgrade adds $7.50 per guest with zero incremental cost.
9. Average Length of Stay (ALOS)
- Formula: Total Room Nights ÷ Total Bookings
- What it measures: How many nights guests stay on average.
- Benchmark: Leisure: 2-3 nights. Business: 1-2 nights. Extended stay: 5+ nights.
- PMS extraction: Run a "Reservation Summary" report. Divide total room nights by number of reservations.
- Why it matters: Longer stays reduce turnover costs (housekeeping, check-in/out labor) and increase ancillary revenue potential. However, very long stays may indicate a shift to corporate housing or lower ADR.
10. Revenue per Available Room per Channel (RevPAR by Channel)
- Formula: Revenue from Channel X ÷ Total Available Rooms
- What it measures: Contribution of each distribution channel to overall RevPAR.
- Benchmark: Varies by hotel. Ideally, direct channel RevPAR should be highest.
- PMS extraction: Requires channel-level revenue data. Use a "Revenue by Source" report and divide by total available rooms.
- Why it matters: Shows which channels are actually driving revenue per room, not just booking volume. A channel with high volume but low ADR may have low RevPAR.

👉 Quick Call with Kory White, Fractional CRO · See Kory on LinkedIn · CRO Syndicate
Real Operators
1. The Standard, Miami Beach (Luxury Lifestyle) Uses Oracle Opera and Duetto for RMS. They track GOPPAR religiously.
Their direct booking ratio is 38% (above industry average) thanks to a strong brand and a "Best Rate Guarantee" program. They use Oaky for upsells, achieving a 22% conversion rate on room upgrades. Their NRevPAR is 12% higher than their competitive set because of lower OTA dependence.
2. Graduate Hotels (Boutique, University-Adjacent) Uses Mews as their PMS. They focus on TRevPAR because their F&B and event spaces are significant revenue drivers.
Their ALOS is 1.8 nights (midweek business, weekend leisure). They use SiteMinder for channel management and track CCoS closely. They found that their direct website (powered by Mews Booking Engine) has a 4% CCoS vs. 18% for Booking.com.
3. Motel 6 / Studio 6 (Economy, Extended Stay) Uses Stayntouch and a custom RMS. Their primary KPI is RevPAR because margins are thin.
They track ALOS to manage housekeeping costs. A 1-night increase in ALOS reduces labor cost per occupied room by 8%. They use Expedia Travel Ads for metasearch, but keep CCoS under 15% by negotiating commission caps.
Failure Modes
- Vanity Metrics: Focusing only on occupancy % or ADR without RevPAR. A hotel can have 90% occupancy at $50 ADR ($45 RevPAR) but a competitor with 70% occupancy at $100 ADR ($70 RevPAR) is more profitable.
- Ignoring Channel Costs: A hotel that hits 80% occupancy but 50% of bookings come from OTAs at 20% commission is losing margin. NRevPAR would reveal this.
- Data Silos: PMS data not integrated with accounting. You can't calculate GOPPAR if labor and utility costs are in a separate spreadsheet.
- Rate Parity Violations: Setting a rate on Booking.com that is lower than your direct rate. This kills direct bookings and increases OTA dependence. Use a rate parity tool (e.g., RateGain, OTA Insight) to monitor.
- Overlooking Ancillary Revenue: If your PMS doesn't track upsells or F&B spend per guest, you are leaving money on the table. TRevPAR will be artificially low.
- Incorrect "Available Rooms" Definition: Including out-of-order rooms in "Available Rooms" inflates RevPAR. Use "Available for Sale" (AFC) rooms.
Reporting Cadence
| Report | Frequency | Audience | Tool |
|---|---|---|---|
| Daily RevPAR, ADR, Occupancy | Daily | GM, Revenue Manager | PMS dashboard (e.g., Oracle Opera BI, Mews Analytics) |
| Weekly Channel Cost of Sale | Weekly | Revenue Manager, Marketing | PMS + SiteMinder export |
| Monthly GOPPAR, TRevPAR | Monthly | GM, Ownership, CFO | PMS + M3 or Sage Intacct |
| Quarterly Direct Booking Ratio | Quarterly | Marketing, Ownership | PMS + Google Analytics |
| Annual 30-60-90 Plan | Annual | All | Spreadsheet + PMS Forecast |
Recommended tools: Cloudbeds (all-in-one for small hotels), Mews (API-first, good analytics), Oracle Opera (enterprise, requires BI), Duetto (RMS), Oaky (upsells).
30-60-90
Days 1-30: Audit & Cleanse
- Week 1: Run a "Revenue by Channel" report. Identify top 3 channels by revenue and cost.
- Week 2: Calculate NRevPAR for the last 3 months. Compare to RevPAR. If gap >15%, investigate OTA costs.
- Week 3: Set up a daily RevPAR dashboard in your PMS. Ensure "Available Rooms" is set to "Available for Sale."
- Week 4: Train front desk on Upsell Conversion Rate tracking. Start using an upsell tool (e.g., Canary Technologies).
Days 31-60: Optimize Distribution
- Week 5-6: Analyze Channel Cost of Sale. Renegotiate OTA commissions if volume is high (e.g., request 15% from 18%).
- Week 7: Launch a "Best Rate Guarantee" campaign to boost Direct Booking Ratio by 5%.
- Week 8: Implement a rate parity monitoring tool (e.g., OTA Insight). Fix any violations.
Days 61-90: Profitability Focus
- Week 9-10: Integrate PMS with accounting system (e.g., M3 or Sage Intacct) to calculate GOPPAR monthly.
- Week 11: Run a TRevPAR analysis. Identify top 3 ancillary revenue sources. Create a package (e.g., "Room + Breakfast + Parking").
- Week 12: Present a 90-day report to ownership showing NRevPAR improvement (target: +5%) and GOPPAR improvement (target: +3%).
FAQ
What is the difference between RevPAR and GOPPAR? RevPAR is top-line revenue per room. GOPPAR is profit per room after operational costs. RevPAR can be high while GOPPAR is low if costs are high. Always track both.
How do I calculate NRevPAR without a channel manager? Manually sum commission amounts from OTA invoices. Subtract from total room revenue. Divide by available rooms. Automate with a channel manager (e.g., SiteMinder, DerbySoft) for accuracy.
What is a good Direct Booking Ratio? Industry average is 20-30%. Luxury hotels with loyalty programs can hit 40-50%. Budget hotels often struggle below 20%. Aim for 30%+.
How often should I run a Channel Cost of Sale report? Weekly. OTAs change commission structures or run promotions. Monthly is too slow to react.
Can I calculate GOPPAR without an accounting system? Not accurately. You need labor, utility, and marketing costs. Use a spreadsheet for estimates, but invest in an integration (e.g., M3, Sage Intacct) for real data.
What is the best PMS for tracking these KPIs? Mews (best for analytics and API), Cloudbeds (best for small properties), Oracle Opera (best for enterprise with BI). Stayntouch is good for extended stay.
How do I improve Upsell Conversion Rate? Use pre-arrival emails (e.g., Oaky), train front desk on "Would you like to upgrade to a suite for $50?", and offer late checkout as a free perk for loyalty members.
What is a healthy CCoS for direct bookings? 3-5% (payment processing + website cost). If it's higher, your booking engine fees or payment gateway is too expensive. Switch to Stripe or Adyen for lower rates.
Sources
- Oracle Hospitality Opera PMS - Features
- Mews PMS - Analytics & KPIs
- Cloudbeds - Hotel Revenue Management Guide
- Duetto - Revenue Strategy for Hotels
- SiteMinder - Channel Manager & Revenue Reports
- Oaky - Upsell & Ancillary Revenue Platform
- STR (CoStar) - Hotel Industry Benchmarks
- HVS - GOPPAR vs RevPAR Analysis
