Occupancy rate is the most basic STR metric — and one of the most commonly miscalculated. The formula itself is straightforward, but the inputs matter. Count the wrong nights and you'll end up with an occupancy figure that looks good on paper while hiding real performance problems.

What's the Correct Occupancy Formula?

Occupancy Rate = Booked Nights ÷ Available Nights × 100
where "booked" means confirmed reservations only, and "available" means total calendar nights minus intentional owner blocks

Example: A property had 22 confirmed booking nights in a 30-night month, with 2 nights blocked for maintenance. Available nights = 30 − 2 = 28. Occupancy = 22 ÷ 28 = 78.6%.

What Counts as a Booked Night?

Only nights covered by a confirmed reservation count. In practice, that means reservations with a status of new, modified, confirmed, or accepted — depending on what your PMS calls them.

The statuses that do NOT count:

Counting inquiries as bookings is the most common mistake. A single popular listing can receive 5–10 inquiries for the same weekend — counting them all can push occupancy above 100%.

Owner stays: in or out?

Whether to count owner stays depends on what you're trying to measure. Most operators track two separate things:

MetricOwner staysUse for
Revenue occupancyExcludedFinancial performance — how often the property earns revenue
Physical occupancyIncludedUsage tracking — how often the property is in use

For portfolio analytics and any metric connected to revenue (like RevPAR), use revenue occupancy. Owner stays don't generate income, so including them inflates the occupancy figure without reflecting actual business performance.

What Counts as Available Nights?

Available nights is the total number of nights in the period minus any nights intentionally removed from inventory. This includes:

Nights that are open on the calendar but didn't get booked — those are NOT subtracted. An empty available night is still an available night. Removing it from the denominator would make your occupancy look artificially high.

Example of the wrong approach: A unit had 20 booked nights and 10 empty nights in a 30-night month. If you subtract the empty nights from available nights, you get 20 ÷ 20 = 100% occupancy. That's meaningless — the 10 empty nights represent real lost revenue.

Multi-unit portfolios

For a portfolio, occupancy is the pool of all units combined — not an average of individual rates. Sum the booked nights across all units, divide by the sum of all available nights.

Portfolio Occupancy = Σ Booked Nights (all units) ÷ Σ Available Nights (all units)
not: (Unit A occ + Unit B occ + …) ÷ number of units

The difference matters when units have different available night counts. A unit that was offline for two weeks has fewer available nights than a unit that was active all month — averaging the percentages would distort the portfolio figure.

Common questions

Should cancelled bookings count toward occupancy?
No. Cancelled bookings should be excluded. The property was not occupied on those nights. Including them overstates performance and makes your occupancy trend misleading when cancellation rates change.
Do inquiries count as booked nights?
No. Inquiries are expressions of interest, not confirmed reservations. Only confirmed, accepted bookings count. Counting inquiries can push occupancy above 100% on popular dates.
Should I calculate occupancy on a calendar month or a rolling 30-day basis?
Both are useful. Calendar month occupancy lets you compare the same period year-over-year. Rolling 30-day occupancy shows current momentum and is useful for day-to-day decisions. For trend analysis, calendar month is cleaner.
Why does my PMS show a different occupancy than what I calculate manually?
PMS occupancy figures vary in how they handle cancellations, inquiries, owner stays, and blocked nights. Some include statuses that shouldn't count; others define available nights differently. Always check what statuses your PMS includes before trusting its occupancy output.

Get accurate occupancy automatically

BNBinsights connects to your PMS and calculates occupancy correctly — confirmed bookings only, deposits excluded, portfolio pooled.

Join the waitlist