Back

How does BNBCalc Markets calculate occupancy, ADR and annual revenue?

Last reviewed Oct 7, 2026 by Jeremy Werden

Short answer

In BNBCalc Markets, annual revenue is the market's total short-term rental revenue over the last 12 months divided by its average number of active listings, cleaning fees included, for the selected tier. Occupancy averages 12 monthly occupancy rates with host-blocked nights left out, and the average daily rate averages 12 monthly rates.

The headline numbers on a market page

The main cards at the top of a market's Marketwide Stats tab each describe the last 12 months, and each one is calculated on its own:

CardWhat it measuresHow BNBCalc calculates it
Annual RevAverage yearly revenue per listing, cleaning fees includedTotal market revenue over the last 12 months ÷ the average number of active listings over those months
Occupancy rateThe share of bookable nights that were bookedThe average of the last 12 monthly occupancy rates, counting only nights the host left open
Avg daily rateThe average price per booked night, reflecting what guests actually paidThe average of the last 12 monthly daily rates
Gross yield (US markets)Annual revenue relative to home valuesAnnual Rev ÷ the average home value for those listings, before any operating or financing costs
Lead timeHow many days ahead guests bookThe average of the last 12 months

BNBCalc counts active listings, or supply, as the monthly average of listings that were bookable. Because host-blocked nights are left out of occupancy, a market full of owners who use their homes half the year can still show a healthy occupancy rate.

Tiers, bedrooms and time windows

Three selectors above the cards change what they describe. Average performance switches between the Low, Average and High tiers of listings by revenue, where High is the top 33%, Low the bottom 33% and Average the middle third, or All for every listing. Keep in mind that the cards open on the Average tier, so they describe a typical listing rather than the whole market until you pick All.

The other two selectors switch between the Last 12 months and the Last 2 years, and between all bedroom counts and a single one, from studios up to 4+ bedrooms. Without a Markets plan, the cards stay on the Average tier, the last 12 months and all bedrooms.

Why the daily rate × occupancy × 365 won't match annual revenue

Rebuilding annual revenue from the other two cards is tempting, but the result won't match. The cards are calculated separately, over different sets of nights and listings, so multiplying them together doesn't reproduce the Annual Rev card. Use the card that answers your question rather than deriving one from the others. (In a property analysis it's different: the daily rate there is set so that rate × occupancy × 365 equals the revenue estimate.)

The numbers for each listing

The Listings tab and each listing's detail panel use listing-level figures:

FigureWhat it means
Actual revenueWhat the listing earned from bookings over the past 12 months, cleaning included
Annual revenue potentialWhat it could earn if bookable all 365 days: actual revenue × (occupancy of open nights ÷ occupancy of all nights)
Occupancy of available nightsOccupancy with host-blocked nights left out
Gross yield (US)Revenue ÷ the listing's estimated property value
PerformanceHow its revenue compares with listings of the same bedroom count in the market (homes with 4 or more bedrooms are compared with the whole market)

That potential figure is simpler than the full-year revenue BNBCalc uses for comps in a property analysis, which also pulls each listing's occupancy toward nearby homes, so the same listing can show a different potential in each place.

Make sure to read gross yield in context too, because the detail panel divides actual revenue by the property value while the map's gross-yield colors and filter use potential revenue. The same listing can show two different yields for that reason.

The Annual rev figure at the top of the Listings tab is different again: it's the average potential revenue of the listings in view on the map. It moves as you pan and filter, and it isn't the same number as the market's Annual Rev card.

Amenities, operators and the other breakdowns

Further down the page, the Amenity revenue impact section estimates how much more listings with each amenity earn, shown as a percentage and in dollars: the dollar figure is the market's revenue per listing × that percentage. The Professional host share is the share of listings run by hosts with two or more listings in the market, and on the Operators tab an operator's revenue is the total actual revenue of its listings.

Reading the change lines

Each card shows a change line, such as "↑10% from prior 12 mo". The stored market history mixes months measured under different definitions, though, and the change lines compare periods without adjusting for that, so they aren't reliable as growth rates. The Last 2 years view always reaches back across that change, so be especially careful with its "vs. 2 years ago" figures.

The market summary and FAQ at the bottom of the page work differently, since AI writes them each month from the market's data. They're a quick read, but the answer about whether short-term rentals are allowed isn't checked against local law, so confirm the rules with the city or county before you rely on it.

Frequently asked questions

Does BNBCalc Markets' annual revenue include cleaning fees?

Yes. Annual revenue includes the cleaning fees guests paid, and the average daily rate reflects what guests actually paid per booked night.

Why is the annual revenue on the Listings tab different from the market's Annual Rev?

The Annual rev figure at the top of the Listings tab is the average potential revenue of the listings in view on the map, meaning what they could earn if bookable all year. The Annual Rev card is total market revenue divided by the average number of active listings, so the two measure different things.

Terms in this article

Related articles


Was this helpful?