The host problem
Occupancy feels like a clear signal. The calendar books up, you feel
good. The calendar sits open, you feel anxious. Most hosts use this
feeling to decide whether to cut price.
Occupancy is real information. But occupancy alone does not tell you
whether the month went well. It does not tell you whether you
underpriced, whether you left money on the table, or whether a
lower-occupancy month with a higher rate would have earned more.
You need rate alongside occupancy to read performance. Without both,
you are reading half a story.
The definition
Occupancy Rate = Live Booked Nights ÷ Available Nights
That is it. It measures the share of your available calendar that
converted into actual bookings.
It does not measure what those nights earned. A 90% occupancy month
at $100 per night is not the same as a 60% occupancy month at $200 per
night.
A simple example
Two listings. Same market. Same month. 30 available nights each.
Listing A:
- Booked nights: 27 of 30
- ANR (Average Nightly Rate): $100
- Accommodation revenue: $2,700
- Occupancy: 90%
Listing B:
- Booked nights: 18 of 30
- ANR: $200
- Accommodation revenue: $3,600
- Occupancy: 60%
Listing A looks better on a calendar. Listing B earned $900 more.
The tie-breaker is RevPAR — accommodation revenue divided by
available nights.
- Listing A RevPAR: $2,700 ÷ 30 = $90
- Listing B RevPAR: $3,600 ÷ 30 = $120
Listing B earned $30 more per available night, at 30 points lower
occupancy.
If you only looked at occupancy, you would have concluded Listing A
had the better month.
Why this matters
when you want to cut price
The most common occupancy mistake is this: the calendar looks slow at
30 days out, occupancy feels low, and the host cuts rate to fill
nights.
Sometimes that is correct. But often the booking window for that
listing has not fully opened yet. The host cuts price before demand
arrives. The listing then fills at the lower rate — and the host
concludes that cutting worked, because the calendar filled.
What actually happened: the listing would have filled at a higher
rate if the host had waited. The cut was not wrong because it filled
nights. It was wrong because it filled nights cheaply.
Occupancy at 30 days out tells you almost nothing about whether you
are on pace. You need to know what your booking lead time looks like
historically — how far in advance guests typically book — before a
30-day occupancy read has any meaning.
For lead time context:
Booking Lead
Time Explained for Airbnb Hosts
What occupancy does well
Occupancy is not useless. Paired with rate and revenue, it is part of
the picture.
High occupancy at a high rate means strong performance. High
occupancy at a low rate may mean you underpriced. Low occupancy at a
high rate may mean overpricing or a thin booking window — but it could
also mean a late-booking market that has not arrived yet. Low occupancy
at a low rate is where you have a real problem.
The metric that keeps all of this in one frame is RevPAR. And the
metric that relates RevPAR back to your rate is the Revenue Capture
Index.
For both: ANR Explained
for Airbnb Hosts and
RevPAR Explained for
Airbnb Hosts
What most hosts get wrong
They track occupancy by looking at the calendar visually. Green
blocks mean booked. White space means problem. The visual shape of the
calendar drives the pricing decision.
A calendar with 22 of 30 nights booked at $180 per night looks
emptier than a calendar with 28 of 30 nights booked at $90 per night.
The first calendar earned more.
The visual does not show what the math does.
What to do this week
- Pull your accommodation revenue for last month. Do not include
cleaning fees or taxes. - Count your booked nights.
- Count your available nights — nights the listing was open and
bookable. - Calculate ANR: accommodation revenue ÷ booked nights.
- Calculate occupancy: booked nights ÷ available nights.
- Calculate RevPAR: accommodation revenue ÷ available nights.
- Compare RevPAR to the prior month. That tells you whether
performance improved or declined — not occupancy alone.
For a spreadsheet to track these together: