How does BNBCalc estimate revenue for a property?
Last reviewed Oct 7, 2026 by Jeremy Werden
Short answer
BNBCalc estimates a property's annual revenue from up to 50 comparable Airbnb, Vrbo and Booking.com homes nearby, using what each could earn if it were bookable all year. The estimate benchmarks a well-run listing rather than the average, landing around the comps' 70th to 75th percentile, and it's gross revenue with cleaning fees included.
Where the estimate starts
Every estimate starts with the comps: nearby entire homes with a similar bedroom count, picked by the rules in How does BNBCalc choose comparable listings?. For each comp, BNBCalc then works out what it could earn if it were bookable all year:
Full-year revenue = nightly rate (cleaning included) × occupancy of open nights × 365
That figure is the Revenue (Potential) column in the comps table. Next to it, Revenue (Actual) shows what the listing earned from real bookings over the past 12 months, which is usually lower for a host who blocks off part of the year.
Before that occupancy goes into the formula, BNBCalc pulls it toward the typical occupancy of similar homes nearby. A listing that was open for only 100 nights gets pulled further than one that was open all year, so a few lucky or unlucky weeks can't swing its number much:
Occupancy used = (open nights × the listing's own occupancy + 60 × the typical nearby occupancy) ÷ (open nights + 60)
Both revenue figures include the cleaning fees guests paid and the host's platform fee built into the price guests see. Where Airbnb splits its fees, the separate service fee Airbnb charges guests isn't included.
How BNBCalc picks the headline figure
A brand-new analysis opens at the 70th percentile of the comps' full-year revenue, meaning about 70% of the comps earn less. Occupancy opens at the 70th percentile of the comps' occupancy, and the daily rate is set to match.
That opening figure changes as soon as you make your first change in the revenue section, whether that's a filter, a comp ticked or unticked, or the revenue range. From then on, the estimate follows the method you can steer:
- BNBCalc ranks every comp by full-year revenue and keeps the top-earning half, rounding up (25 out of 50, or 13 out of 25). Any comps tied with the last one kept stay in.
- Any filters you've set, any revenue range you've dragged and any comps you've unticked narrow that group further.
- Annual revenue is the median of what's left: the middle value, or the average of the two middle values.
- Occupancy is the average occupancy of those same comps.
- Daily rate = annual revenue ÷ (occupancy × 365).
Since the median of the top half sits near the 75th percentile of all the comps, the two methods usually land close together. If BNBCalc couldn't find enough nearby homes and used its backup comp source instead, the analysis opens on the top-half median straight away, using each comp's revenue over the past 12 months.
A worked example
Say a three-bedroom home has ten comps, which is the fewest BNBCalc uses (most analyses have more). This is an illustrative example rather than real market data, and the comps are ranked by full-year revenue:
| Comp | Full-year revenue | Occupancy |
|---|---|---|
| 1 | $74,000 | 55% |
| 2 | $67,000 | 50% |
| 3 | $60,000 | 48% |
| 4 | $58,000 | 47% |
| 5 | $55,000 | 45% |
| 6 | $52,000 | 46% |
| 7 | $49,000 | 44% |
| 8 | $45,000 | 41% |
| 9 | $41,000 | 38% |
| 10 | $36,000 | 35% |
The new analysis opens at the 70th percentile of those ten revenues, which works out to $58,600.
Once you make a change, BNBCalc keeps the top half (comps 1 to 5) and takes their median, $60,000. Occupancy becomes the average of their five rates, 49%, and the daily rate is $60,000 ÷ (0.49 × 365) = $335. Monthly revenue is $60,000 ÷ 12 = $5,000, and that's the figure the expense and return examples build on.
Why the top half, and not the average
The average comp includes hosts who rent out a few weekends a year, list without good photos or pricing software, or leave the calendar sitting empty. BNBCalc's estimate is meant to show what a home that's set up properly and managed well can earn, so it benchmarks against the stronger listings.
If you plan to run the property more casually, expect your results to land closer to the middle of the range. To see that range, click How it's calculated under the estimate, which lists the 10th, 25th, 50th, 70th and 90th percentile of all your comps' revenue.
Changing the estimate
You don't have to accept the comps as they come. How do I change the revenue, daily rate or occupancy in an analysis? covers each control, but in short you can:
- untick any comp that isn't a fair match, or use Filters to keep only houses or apartments, homes with a pool or hot tub, pet-friendly homes, or listings rated 4.8 or 4.9 stars and up;
- untick Top 50% of comps to use the median of every comp you've kept, instead of the top half;
- run AI Underwriter on a US property, which compares each comp's photos, layout and amenities with yours and uses the median of the closest matches;
- or switch on Manual revenue input and type your own annual revenue, daily rate or occupancy.
Be careful with Clear in the Filters panel, though. It also unticks Top 50% of comps, so your estimate drops to the median of every comp you haven't unticked until you tick it again.
What the estimate doesn't include
The figure is gross booking revenue. It comes before the host platform fee, cleaning costs and every other expense, all of which BNBCalc subtracts further down the analysis.
It's also a full-year number. The Seasonality card spreads it across the months using the market's typical monthly pattern, so the busy and slow months still add up to the same annual total.
Frequently asked questions
Why is BNBCalc's daily rate higher than the nightly prices on the comps?
BNBCalc doesn't copy any one comp's rate. It sets the daily rate so that daily rate × occupancy × 365 equals the revenue estimate, which is based on the higher-earning comps, so the rate can sit above what a typical comp charges. Like the comps' own rates, it includes cleaning fees.
Why did my revenue estimate change after I touched a filter?
A new analysis opens at the 70th percentile of its comps. Your first change in the revenue section switches it to the median of the top-earning half of comps, narrowed by whatever you've set, unless that change was switching to AI Underwriter or manual input. It doesn't go back to the opening figure.
Terms in this article
Related articles
Data & methodology
How does BNBCalc choose comparable listings?
BNBCalc picks comps from Airbnb, Vrbo and Booking.com listings near your property: entire homes with your bedroom count, or one bedroom either side when it needs more. It looks within 5 km (about 3 miles) first, widens to 16 km (about 10 miles) in quieter areas, and keeps between 10 and 50 comps.
Data & methodology
How does BNBCalc estimate operating expenses?
BNBCalc starts a new US analysis with default operating expenses: $440 a month for utilities, $700 of fixed maintenance costs, cleaning at 8% of revenue and a 15.5% host platform fee. You can edit every line, save your own numbers as presets, or have AI suggest costs for the specific property.
Data & methodology
How accurate are BNBCalc's estimates?
BNBCalc's estimates are built from what comparable homes nearby actually earned, so they're only as good as those comps. They're strongest for common home sizes in active markets, and weakest for very large or unusual homes, rural areas with few listings, and properties unlike anything nearby. Check the comps before you rely on any figure.
Property Calculator
How do I change the revenue, daily rate or occupancy in an analysis?
To use your own numbers in a BNBCalc analysis, scroll to Annual Revenue, switch on Manual revenue input and type an annual revenue, daily rate or occupancy, and BNBCalc recalculates the linked figure. To keep the estimate tied to real listings instead, untick comps or use Filters, or run AI Underwriter on a US property.
Data & methodology
BNBCalc data and methodology updates
A dated log of changes to where BNBCalc's data comes from and how its numbers are calculated, newest first. The latest, from October 2026: new property analyses take comps from BNBCalc's own nearby-listing data, open at the 70th percentile of those comps, and start with 8% cleaning and a 15.5% host platform fee.
Was this helpful?