How to Calculate Occupancy Rate, ADR and RevPAR for Your Airbnb

You are looking at two properties. One averages $260 a night, the other $165. The first is obviously the better performer — and it is not. It earns $3,230 less a year.

That is the entire case for tracking three metrics instead of one. Occupancy rate, average daily rate and RevPAR each answer a different question, and hosts who only watch the first two make a specific, expensive mistake: they price for a high nightly rate and end up with a lower annual take.

Here is how each one is calculated, which denominator to use, and how to read them together.

The three formulas

Metric Formula What it answers
Occupancy rate Nights booked ÷ nights available How much of my inventory did I sell?
ADR Room revenue ÷ nights booked What did I get for the nights I sold?
RevPAR Room revenue ÷ nights available What did each night of inventory earn?

RevPAR is the product of the other two. ADR × Occupancy = RevPAR, always — it is a useful check that your spreadsheet is doing what you think it is.

Two definitional rules before you calculate anything, because both are easy to get wrong and neither announces itself:

Room revenue means room revenue. Not the cleaning fee. Not a pet fee or an extra-guest fee. The cleaning fee is a pass-through — you collect $110 and hand $95 to a cleaner — and folding it into ADR inflates short stays far more than long ones. Spread across two nights it adds $55 a night; across seven it adds $16. Mix them and your two-night bookings will look like your strongest business.

Pick a denominator and keep it. “Nights available” can mean calendar nights, or calendar nights minus the ones you blocked for your own use or for renovation. Both are defensible. Switching between them mid-year is not, because the trend line you are trying to read becomes an artefact of your bookkeeping.

A worked month

Harbor Loft, September. 30 calendar nights. You blocked 2 for your own long weekend, so 28 were on the market. You sold 19 of them, for $3,610 of room revenue.

Metric Calculation Result
ADR $3,610 ÷ 19 $190.00
Occupancy (calendar nights) 19 ÷ 30 63.3%
Occupancy (available nights) 19 ÷ 28 67.9%
RevPAR (calendar) $3,610 ÷ 30 $120.33
RevPAR (available) $3,610 ÷ 28 $128.93

Check the identity: $190.00 × 63.3% = $120.33. It ties.

Notice how much the denominator moves things — 4.6 percentage points of occupancy and $8.60 of RevPAR, from a decision about two nights you took off the market. This is why the choice has to be written down somewhere in the sheet rather than remade each month by whoever is doing the numbers.

The comparison that changes decisions

Now the two properties from the opening.

Property A Property B
ADR $260.00 $165.00
Occupancy 48% 81%
RevPAR $124.80 $133.65
Annualised (× 365) $45,552 $48,782

Property B earns $3,230 more a year despite a nightly rate 37% lower. On an ADR leaderboard it looks like the weaker asset. On the only measure that maps to money, it wins.

This is where most host intuition breaks. A high ADR feels like proof you have a premium property, and it might be — but a nightly rate is only worth what someone pays it on, and the number of nights they pay it on is exactly what ADR refuses to tell you.

RevPAR is not the end of the argument, though, and the honest version of this comparison has a second half. Property B sold roughly 114 stays that year against Property A’s 43 — B runs short stays, A runs long ones. That is around 71 extra turnovers: 71 more cleans to schedule, 71 more check-ins to message, 71 more chances for a guest to leave a towel-related review. If your cleaning fee does not fully cover the true cost of a turnover, high-occupancy short-stay properties leak money in a way RevPAR cannot see, because RevPAR is a revenue metric and turnovers are a cost.

So the rule is: RevPAR ranks your properties, net profit per available night confirms it. RevPAR tells you where the revenue is; only the full income and expense picture tells you where the profit is.

Building it in a spreadsheet

If your booking log has one row per reservation with a property name, a nights column and a gross room revenue column, all three metrics are one formula each. Using SUMIF and COUNTIF against the property name:

Nights booked      =SUMIF(Bookings!D:D, "Harbor Loft", Bookings!H:H)
Room revenue       =SUMIF(Bookings!D:D, "Harbor Loft", Bookings!I:I)
Nights available   =365 - owner_blocked_nights          (or a date-driven count)
Occupancy rate     =Nights_booked / Nights_available
ADR                =IF(Nights_booked>0, Room_revenue / Nights_booked, 0)
RevPAR             =IF(Nights_available>0, Room_revenue / Nights_available, 0)

Three things worth doing while you set this up:

Wrap every ratio in an IF that checks the denominator. A new property with no bookings yet will otherwise fill your dashboard with #DIV/0!, and a dashboard with an error on it is a dashboard nobody reads.

Make the nights column a date subtraction, =Check-out − Check-in, rather than a number you type. Every metric on this page has nights in it. A typed nights column is a single point of failure with no error message attached.

Calculate it per property and for the portfolio. Portfolio ADR is total room revenue over total nights booked — not the average of each property’s ADR, which weights a cabin that sold 12 nights the same as a condo that sold 200. The same applies to occupancy and RevPAR: sum the numerators, sum the denominators, then divide.

What to do with the numbers once you have them

Compare month to the same month last year, never to last month. Short-term rental demand is seasonal to the point of absurdity — the same property can run a $233 RevPAR in July and $29 in January. September against August tells you what season it is. September against last September tells you whether you are getting better.

When occupancy is very high, you are probably underpriced. A property sitting above 90% has no room to sell more nights, so the only remaining direction is price. Test a rate rise on the strongest weeks first and watch RevPAR, not occupancy — the break-even occupancy for any rate change is a one-line calculation.

When RevPAR falls while ADR holds, it is a demand or listing problem, not a pricing one. Same rate, fewer takers. Look at photos, review scores, minimum-stay settings and the competitive set before you discount, because a discount fixes the symptom and hides the cause.

Track RevPAR before you buy anything else. Comparing two potential purchases on nightly rate is comparing them on the number you control rather than the number the market gives you.

The short version

Occupancy is how much you sold, ADR is what you got for it, RevPAR is what the asset actually produced. Compute all three from the same booking log, keep the cleaning fee out of revenue, fix your denominator and never change it, and compare year over year. Then check the winner against real profit per night, because turnovers cost money that RevPAR cannot see.

Frequently Asked Questions

What is a good occupancy rate for an Airbnb?

There is no universal benchmark, and any figure quoted as one is really a market average for a particular city and property type in a particular year. The number that matters is your own trend against your own denominator — and it should always be read next to your ADR, because occupancy on its own can be bought at any level simply by dropping the price. A property at 90% occupancy might be badly underpriced and a property at 55% might out-earn it.

Should I include cleaning fees in ADR?

No. ADR is room revenue divided by nights booked, and the cleaning fee is a pass-through you collect for the cleaner rather than revenue for the room. Including it inflates ADR on short stays far more than long ones — a $110 fee spread over two nights adds $55 a night, over seven nights it adds $16 — so a sheet that mixes them makes your short bookings look artificially strong and quietly corrupts every pricing decision you make from the data.

What is the difference between ADR and RevPAR?

ADR is revenue per night you actually sold. RevPAR is revenue per night you had available to sell, occupied or not. RevPAR equals ADR multiplied by occupancy rate, so it folds price and demand into a single figure. ADR tells you whether your pricing is strong; RevPAR tells you whether the property is earning. When the two disagree, RevPAR is the one that predicts the bank balance.

Should owner-blocked nights count against occupancy?

Only if you want a metric that punishes you for using your own property. The cleaner approach is to subtract nights you deliberately took off the market from the denominator, so occupancy measures how well you sold the inventory you actually offered. Whichever you choose, write the rule down and never change it mid-year — half the year measured one way and half the other produces a trend line that means nothing.

Know What Your Short-Term Rental Actually Earns

The Airbnb & Short-Term Rental Host Dashboard — 13 tabs — a booking log that calculates nights, gross revenue and net payout after cleaning fees and platform commission, an 18-category expense tracker aligned to Schedule E, a portfolio dashboard with occupancy rate, ADR, RevPAR, net profit and margin for up to 5 properties, a cleaning turnover schedule that flags gaps under 4 hours in red, a dynamic pricing log with competitor rates by season, a monthly P&L, a Schedule E tax summary, guest comms and review trackers, a supplies inventory with reorder alerts, and a year-over-year seasonal comparison. 500+ formulas. Works in Microsoft Excel and Google Sheets.

View on Etsy — $19.99