Hospitality Finance & Revenue Management
Hotel ADR, RevPAR, TRevPAR & GOPPAR Formulas
Calculate USALI hotel KPIs accurately: Occupancy, Average Daily Rate (ADR = Room_Rev / Rooms_Sold), RevPAR = Room_Rev / Available_Rooms, TRevPAR, and bottom-line GOPPAR.
Why high RevPAR driven by OTA commissions and complimentary breakfast can STILL sink GOPPAR!
Under the Uniform System of Accounts for the Lodging Industry (USALI), hoteliers separate sold-room pricing from inventory utilization and operating profit across four linked denominators! Given Available_Room_Nights N_avail, Paid_Rooms_Sold N_sold, Room_Revenue R_room, Ancillary_F&B_Spa_Revenue R_anc, and Departmental_Plus_Undistributed_OpEx C_op: (1) Occupancy = N_sold / N_avail, (2) Average Daily Rate ADR = R_room / N_sold (exclude zero-dollar comp/house-use rooms from N_sold!), (3) Revenue Per Available Room RevPAR = R_room / N_avail (= Occupancy * ADR identically!), (4) Total RevPAR TRevPAR = (R_room + R_anc) / N_avail, and (5) Gross Operating Profit Per Available Room GOPPAR = (R_room + R_anc - C_op) / N_avail!
Verify on exact numbers for a 200-key hotel over 30 days (Available_Room_Nights = 6,000 in B2): Paid_Rooms_Sold = 4,500 (B3 -> Occupancy = 75.00%), Room_Revenue = 900,000 (B4), Ancillary_Revenue = 300,000 (B5), and Total_Operating_Expenses = 720,000 (B6): ADR is 900,000 / 4,500 = 200.00; RevPAR is 900,000 / 6,000 = 150.00 (= 0.75 * 200.00); TRevPAR is 1,200,000 / 6,000 = 200.00; and GOPPAR is (1,200,000 - 720,000) / 6,000 = 480,000 / 6,000 = 80.00 per available room-night (40.00% GOP margin)!
| USALI Hotel Metric (6,000 Avail, 4,500 Sold, $900k Room Rev) | Formula | Verified Output |
|---|---|---|
| Average Daily Rate (ADR) | Room_Revenue / Paid_Rooms_Sold | 200.00 $ / sold room |
| Revenue Per Available Room (RevPAR) | Room_Revenue / Available_Rooms | 150.00 $ / avail room (75% Occ) |
| Total RevPAR (TRevPAR) | (Room_Rev + Ancillary_Rev) / Avail_Rooms | 200.00 $ / avail room |
| Gross Operating Profit PAR (GOPPAR) | (Total_Rev - OpEx) / Avail_Rooms | 80.00 $ / avail room |
Exact USALI RevPAR = Room_Revenue / Available_Room_Nights Formula
Compute RevPAR directly as R_room / N_avail rather than ROUND(Occupancy, 2) * ROUND(ADR, 2) so intermediate rounding never distorts monthly hotel owner statements!
=IF(OR(B2 <= 0, B3 < 0, B3 > B2, B4 < 0), "Invalid Hotel Inventory", ROUND(B4 / B2, 2))Bottom-Line GOPPAR (Gross Operating Profit Per Available Room) Formula
Validate N_avail > 0, 0 <= N_sold <= N_avail, and non-negative revenue and operating expense lines.
=LET(n_av, B2, n_sl, B3, r_rm, B4, r_an, B5, c_op, B6, IF(OR(n_av <= 0, n_sl < 0, n_sl > n_av, r_rm < 0, r_an < 0, c_op < 0), "Invalid Hotel Inventory", ROUND((r_rm + r_an - c_op) / n_av, 2)))Try the example
Use the original values or change them to test your understanding.