
Airbnb revenue calculator
Drop a pin anywhere in a covered market and get the expected yearly revenue, occupancy and nightly rate for a short-term rental on that spot, built from the comparable Airbnbs around it — matched on bedrooms, pool and property type within an adaptive 2–6 km radius. Occupancy is measured from each comp’s daily calendar snapshots; in the markets with a measured correction the rate is converted to a booked rate and the year is seasonality-adjusted; and a confidence score says how much data stands behind the result. Add an asking price to see a villa’s yield. Comps are drawn from 2.3M Airbnb listings tracked across 54 countries and territories, with 2,133,638 calendars read on 21 Oct 2026 — and every estimate ships with its basis and caveats.
- Occupancy measured on daily calendars
- Adaptive 2–6 km comps
- Confidence and basis on every result
- Gross and net yield for a villa
How the estimate is built
The calculator is the same comp engine behind every Brixfox property page. It never invents a number where it has none: with too few comparable listings it widens the radius, flags that it did, and caps the confidence score — it does not fall back to a national average.
1. Pick a market and drop a pin
Choose one of the covered markets and click the spot you want to underwrite. The engine works from coordinates, not district names — inside a single area, performance can differ sharply between the coast and a few kilometres inland, and distance-based selection keeps that difference visible.
2. Find comparable Airbnbs within an adaptive radius
The engine looks for tracked listings with the bedroom count you choose — and, if you set them, the same pool status and property type — within 2 km, then widens to 3, 4 and 6 km only if it finds too few. If the exact bedroom count is still too thin it accepts one bedroom more or fewer. Up to 600 tracked listings inside the radius are modelled, so a dense area contributes a large sample and a sparse one is not padded, and the result says when the radius or the bedroom match had to widen.
3. Read occupancy from daily calendar snapshots (measured)
Each comp’s occupancy comes from its own Airbnb availability calendar, captured daily and diffed to detect bookings — not from review counts or survey averages. The window is the last and current month, so the figure reflects what those calendars are doing now.
4. Take the nightly rate from asking prices, then correct it where measured
A comp’s rate is what its host asks for unsold nights — booked nights leave the calendar, so the observable average skews to what nobody bought. In markets with a measured asking-to-booked factor (currently Bali, Portugal, Dubai, Greece, Italy, France and Croatia, measured against an external benchmark of booked rates) the yearly figure uses the corrected booked rate. Elsewhere the rate stays an asking rate and the result says so.
5. Weight, seasonality-adjust and annualise
Comps are weighted by distance, by how much calendar data each one has, and by review count. In the seven markets with a measured correction, and in Spain, the yearly figure divides window occupancy by the market’s monthly seasonality index — a regional curve where one has been measured — so a high-season snapshot cannot inflate an annual projection, and the month-by-month bars under the result draw that same curve. Spain’s rate stays an asking rate: only its season is measured. Elsewhere the estimate assumes the observed window repeats year-round and labels that assumption. The average month shown beside the yearly figure is that yearly figure divided by twelve.
6. Score the confidence and show the basis
Confidence (0–100) combines the number of comps, the share with real calendar data, how close they sit, and rate coverage. In the calibrated markets it is capped when fewer than five comps are found, so a single nearby listing can never read as a market. Every result carries an estimate-basis block — observation window, rate basis, seasonality version, caveats — and the comps themselves, each linked to its Airbnb page.
7. Price a specific villa (optional)
Add an asking price and the villa’s details, and the estimate becomes a gross yield everywhere — and, in Bali, Portugal, Dubai, Thailand and the ABC Islands, a fully-managed net yield on the all-in cost, from the same cost model Brixfox’s property pages use for a listing without its own stored cost stack. Bedrooms, pool and property type move the number because they choose the comps. Land size, building size and bathrooms do not — no Airbnb comp carries them — so they appear as price per m² and space per bedroom. A view adds to the nightly rate only where a premium has been measured (Greece and the Netherlands, +10%). Photos you add are compared with the comps’ photos to show which nearby listings the villa looks like; that comparison is a labelled scenario and never changes the estimate.
Two words we use deliberately: a comp’s occupancy is measured (observed on its calendar); the figure for the spot you clicked is modelled from those comps. Where you see no number, the engine refused rather than guessed.
What it does not include
The calculator estimates gross rental revenue — what guests pay before anyone takes a cut. It is a top-line figure, not an income statement. In Bali, Portugal, Dubai, Thailand and the ABC Islands the villa check under the map takes the running costs, local tax and purchase costs off for you; financing, home-country tax and licensing are never in it. Before you treat the estimate itself as a return, subtract at least the following:
Taxes
Local income or tourism tax on rental revenue, property tax, and any home-country tax. These differ by market and by how you hold the asset.
Management and platform fees
Manager commission, OTA/host service fees and channel costs. Brixfox property pages — and the villa check in its five net-yield markets — model a full-service manager by default; the revenue estimate itself does not.
Cleaning, utilities, maintenance and insurance
Changeover cleaning beyond what guest fees cover, electricity and water, pool and garden upkeep, repairs, and cover.
Acquisition, setup and financing
Transfer taxes, notary and legal fees, furnishing and STR launch costs, and mortgage interest. None of these sit in the revenue estimate, but all of them belong in the yield denominator.
Licensing and legality
Whether short-term letting is permitted at that address at all. Several covered markets require a licence or registration, and some communities forbid STR outright; a revenue figure is not a permission.
Brixfox property pages carry a full cost stack per market — acquisition costs, management basis, operating costs and local tax — and state net yield on the all-in cost. The assumptions are written up in the Bali methodology and the Thailand methodology; other markets use their own ownership, tax and licensing logic rather than Bali’s.
Airbnb ROI: from revenue to net yield
Three figures get called “Airbnb ROI”, and they are not interchangeable:
- Gross revenue
- Nightly rate × 365 × occupancy. This is what the calculator above estimates. It is what the property earns for its host before costs.
- Gross yield
- Gross revenue ÷ asking price. Useful for ranking listings against each other; useless as a return, because it ignores both the costs of running the rental and the costs of buying it.
- Net yield
- Net operating income ÷ all-in acquisition cost. The numerator is revenue after management, operating costs and local tax; the denominator is the price plus transfer taxes, legal and notary fees, furnishing and launch costs. This is the figure that answers “what does this property return”.
None of these figures describes a real market or listing. They exist to show the arithmetic between the three definitions; put your own estimate and your own market’s costs into the same shape.
| Nightly rate (illustrative) | $150 |
| Occupancy (illustrative) | 60% |
| Gross revenue = $150 × 365 × 60% | $32,850 |
| Asking price (illustrative) | $400,000 |
| Gross yield = $32,850 ÷ $400,000 | 8.2% |
| + Acquisition costs (8%, illustrative) | $32,000 |
| + Furnishing and launch (illustrative) | $25,000 |
| All-in cost | $457,000 |
| − Management (15% of gross) | $4,928 |
| − Cleaning, utilities, maintenance | $5,000 |
| − Local tax (10% of gross) | $3,285 |
| − Insurance | $500 |
| Net operating income = $32,850 − $13,713 | $19,137 |
| Net yield = $19,137 ÷ $457,000 | 4.2% |
The gap between 8.2% gross and 4.2% net is the whole point: the same revenue estimate supports two very different “ROI” claims depending on what is subtracted and what it is divided by. Leasehold terms, financing and home-country tax would move it further.
Coverage
Comparable listings come from BrixfoxDNA, which tracks 2.3M Airbnb listings across 54 countries and territories — every one still live on Airbnb when its market was last searched — and each day reads the calendar of every tracked listing above its market’s price floor (2,133,638 calendars read on 21 Oct 2026); the first markets started in March 2026. Track-record depth differs by market — some have been tracked for a season or two, not years — and a market whose peak season falls outside the observed window says so in its estimate basis. The calculator is open for the markets below; each links to its data hub.
Markets with properties for sale
STR data markets
Frequently asked questions
Is the Airbnb calculator free?
Yes. The calculator is free to use with no account, no card and no usage cap — the estimate, the comps and the villa yield check included. Only the optional photo comparison asks for a free account, because every comparison runs an AI vision model. Brixfox earns from per-property investment reports ($49, or €49 for visitors in the EU/EEA, UK and Switzerland) and from buyer referrals on properties for sale; the calculator itself is not gated.
How accurate is the Airbnb revenue estimate?
We do not publish a single accuracy percentage, because we have not measured one we would stand behind yet. What we can say precisely: occupancy is measured from the comparable listings’ daily calendar snapshots, not estimated from reviews; the nightly rate is based on asking prices and is converted to a booked rate only in markets where that factor has been measured; and every result carries a 0–100 confidence score plus the comps it was built from, so you can see how much data sits behind it. Brixfox is building a predicted-versus-realised track record from properties that sold and later appeared on Airbnb, and will publish it when the first cohort is in. Until then, treat the number as a modelled estimate with the confidence score as its label.
What is ADR, and why does the calculator call it an asking rate?
ADR is the average daily rate — the average nightly price across booked nights. Airbnb calendars only show the price of nights that are still available, so what any tool can observe is the asking rate of unsold nights, which skews high. In Bali, Portugal, Dubai, Greece, Italy, France and Croatia we apply a measured asking-to-booked correction to the yearly figure; in other markets the figure stays an asking rate and the estimate basis says so.
Why does my own listing earn more (or less) than the estimate?
The estimate is the distance- and quality-weighted picture of nearby listings with the same bedroom count over the last and current month. Your listing differs in photos, reviews, pricing strategy, amenities and the exact spot, and it may have a different seasonal pattern. Use the comps list under the result: it shows each comparable’s measured occupancy, its asking rate and a link to the listing, so you can see which ones the estimate leans on. The photo comparison in the villa check shows which of them your property looks most like.
Can I check the yield of a specific villa?
Yes. Under the map, add the asking price, bedrooms, pool, view, land and building size, and — in Bali and Thailand — freehold or leasehold. The calculator turns the estimate at your pin into a gross yield in every market, and into a fully-managed net yield on the all-in cost (transfer taxes, notary and legal fees, furnishing, then management, running costs and local tax) in Bali, Portugal, Dubai, Thailand and the ABC Islands. It also shows what the yield would be at prices from 20% below to 10% above the ask. Where Brixfox does not model a market’s costs, it shows the gross yield only rather than borrowing another market’s cost stack.
Can I value a studio?
Not as a studio yet. In the Airbnb data the comps come from, a studio carries no bedroom count, so the calculator cannot pick out studios as comps. Choose 1 bedroom instead: the estimate is then drawn from one-bedroom listings. In most of our markets studios ask roughly 10–20% less per night than one-bedroom listings (Thailand is the exception), so for a studio read that estimate as an upper bound.
Does it work outside the US?
It only works outside the US. Coverage is built for international buyers of vacation rentals: Bali, Portugal, Dubai, Thailand, Spain, Greece, Italy, the Netherlands and the ABC Islands, and France, an early-access free beta, plus STR data markets such as Croatia, Mexico, Austria and several Caribbean islands. Comps come from the Airbnb calendars Brixfox reads every day in each of these markets. The calculator does not cover the United States.
What is a good Airbnb occupancy rate?
There is no universal number: a strong occupancy in a Mediterranean summer market and in a year-round Asian market are different figures, and both move with the season. Judge a location by its comps rather than a rule of thumb — the calculator shows each comparable’s measured occupancy, and the market hubs show area-level medians. Revenue per available night (rate × occupancy) is the figure to compare, since a high occupancy bought with a low rate is not the same as a high occupancy at a full rate.
From an estimate to a property
A revenue estimate for a spot on a map is the first question. The next one is which properties for sale near it clear the costs above — Brixfox underwrites every listing in its for-sale markets with the same engine, its own market cost stack, and a stored basis you can audit.