How Brixfox Computes Its Numbers

Every figure on a Brixfox property page has a stored, auditable basis. This page explains that basis once, in full — what feeds each number, which corrections we apply, and the cases where we deliberately show no number at all.

Expected ADR: booked rate, not asking rate

The nightly rate we project is the rate a villa is expected to actually book at — not the rate nearby hosts ask for. Airbnb asking prices in Bali run well above what calendars close at, so we correct comparable listings' asking prices by a measured asking-to-booked factor (about −33% on Bali, calibrated from AirDNA-verified reference homes). Comp cards on property pages show raw asking prices and are labelled as such; the headline ADR is always the corrected booked basis.

Where a villa is matched to its own live Airbnb listing, its own observed rates take precedence over area comps.

Occupancy: calendar-derived, seasonally aware

Occupancy comes from real Airbnb availability calendars, tracked daily across the market and diffed to detect actual bookings — not from review counts or survey averages. Projected occupancy for a for-sale villa is calibrated against tracked reference homes near it, and yearly figures are seasonality-adjusted so a high-season snapshot cannot inflate an annual projection.

Net yield: all-in cost basis

Net yield is net operating income divided by the all-in investment — the asking price plus the acquisition and setup costs a remote buyer actually pays (legal, notary, furnishing, STR launch), never the sticker price alone. It is stated after local operating taxes and before home-country personal tax and financing costs.

For leasehold villas, the remaining lease term materially changes the calculation: cash flows past the lease end are worth nothing to the buyer, so decaying leaseholds are modelled on their remaining years, not on freehold arithmetic.

Management basis: the Brixfox Standard

Every headline figure assumes a full-service villa manager whose commission includes the OTA/channel listing. Changeover cleaning is funded by guest cleaning fees, with the residual borne by the owner. A self-managed scenario is shown separately where relevant: it drops the commission but pays OTA host fees directly — and prices the owner's time at zero, which is why we treat it as an upper bound rather than the default.

Comparables: distance, not district names

Comps are selected by real distance from the villa's coordinates within an adaptive radius, weighted by proximity and by how much calendar data each comp actually has. Administrative area names are labels, not selection criteria — within a single area, performance can differ sharply between the coast and a few kilometres inland, and distance-based selection is what keeps that difference visible.

When we show no number

A projection with too little behind it is worse than none. When there are too few comparable listings, when the nearest comps are too far away, or when the sample is too dispersed to trust, the engines refuse rather than guess — the page shows no figure for that layer. The same floor applies to area statistics: an area earns a median only with a sufficient sample of live listings behind it.

Asking prices, honestly labelled

Indonesia has no public register of closed sales, so villa and land prices on Brixfox are asking prices, clearly labelled as such. Sellers ask more than buyers close at — treat medians as the top of the negotiating range. Delisting dates reflect when we detected a listing's removal, not the day it sold.

Keep exploring