Arte SheetsLearn. Try. Understand.

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)FormulaVerified Output
Average Daily Rate (ADR)Room_Revenue / Paid_Rooms_Sold200.00 $ / sold room
Revenue Per Available Room (RevPAR)Room_Revenue / Available_Rooms150.00 $ / avail room (75% Occ)
Total RevPAR (TRevPAR)(Room_Rev + Ancillary_Rev) / Avail_Rooms200.00 $ / avail room
Gross Operating Profit PAR (GOPPAR)(Total_Rev - OpEx) / Avail_Rooms80.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.

Further reading