Bali Villa ROI: A Transparent Calculator for ADR, Occupancy and Costs
A practical underwriting worksheet for Bali villa buyers, with consistent ADR and occupancy formulas, blank low/base/high inputs, full cost deductions, and a clear split between cash yield and appreciation.
A buyer needs to know whether a villa’s projected income survives realistic occupancy, operating costs and personal use. A quoted yield cannot answer that unless its revenue denominator, cost basis and investment basis are visible.
Start with a model you can audit. Keep every input blank until it is supported by operating history, a contract, a current quotation or a clearly labelled assumption. Low, base and high cases should reflect different inputs, not three unexplained return percentages.
Start with available nights, occupancy and ADR
For a villa rented as one unit, use villa nights throughout. If rooms are sold separately, use room nights throughout. Mixing those units will distort both occupancy and ADR.
The core definitions are:
ADR = accommodation revenue / sold nights
Occupancy = sold nights / available nights
Sold nights = available nights x occupancy
Gross room revenue = available nights x occupancy x ADR
ADR means accommodation revenue divided by sold room nights. Keep taxes, food, transport and other non-accommodation income outside ADR unless the reporting source expressly includes them. If it does, reconcile the difference before using the figure.
Occupancy must use the same available-night denominator as the revenue model. A forecast using one definition and an operating report using another is not comparable.
Keep the occupancy denominator honest
Calculate rental inventory before applying occupancy:
Available nights = calendar nights
- owner-blocked nights
- planned maintenance closures
- other nights unavailable for sale
Owner-blocked nights reduce usable inventory and revenue capacity. They can also make reported occupancy look stronger because the denominator is smaller. Record them separately rather than burying them within a general availability adjustment.
Official statistics: BPS-Statistics Indonesia publishes classified hotel room occupancy rates for Bali. This is useful context, but it is hotel data, not a forecast for a particular villa. Location, unit type, opening date, distribution, rate strategy and inventory treatment can all differ. The broader Bali property market data guide explains how to separate market context from asset-level underwriting.
Build low, base and high cases from disclosed inputs
Use the same formulas in every column. Change only assumptions you can explain. Low does not automatically mean the lowest ADR and occupancy imaginable, and high should not mean the sales target. Each case needs a stated evidence basis.
| Model line | Formula or evidence basis | Low | Base | High |
|---|---|---|---|---|
| Calendar nights | Exact forecast period | ___ | ___ | ___ |
| Owner-blocked nights | Owner’s intended dates | ___ | ___ | ___ |
| Other unavailable nights | Maintenance and documented closures | ___ | ___ | ___ |
| Available nights | Calendar less blocked and unavailable nights | ___ | ___ | ___ |
| Occupancy | Sold nights / available nights | ___% | ___% | ___% |
| Sold nights | Available nights x occupancy | ___ | ___ | ___ |
| ADR | Accommodation revenue / sold nights | ___ | ___ | ___ |
| Gross room revenue | Sold nights x ADR | ___ | ___ | ___ |
| Channel and collection costs | Actual booking mix and contracted fee basis | ___ | ___ | ___ |
| Management fee | Contracted rate x stated revenue basis | ___ | ___ | ___ |
| Fixed operating costs | Documented annual budget | ___ | ___ | ___ |
| Variable operating costs | Sold nights or stays x unit cost | ___ | ___ | ___ |
| Maintenance reserve | Stated basis and assumption | ___ | ___ | ___ |
| Tax | Applicable basis and documented treatment | ___ | ___ | ___ |
| Net owner cash flow | Revenue less all lines above | ___ | ___ | ___ |
| Total cash invested | Disclosed owner cash basis | ___ | ___ | ___ |
| Cash yield | Net owner cash flow / total cash invested | ___% | ___% | ___% |
Use one currency and one period. If inputs include or exclude tax differently, normalize them before calculating.
Deduct costs on their actual bases
A reliable model does not apply every percentage to gross revenue. Channel commission may apply only to channel-generated bookings. Payment costs may apply to a different booking mix. A management fee might be calculated on gross room revenue, collected revenue or another contractually defined base.
A practical sequence is:
Gross room revenue
- channel commissions and collection costs
- management fees
- fixed operating costs
- variable operating costs
- maintenance reserve
- applicable tax
= net owner cash flow before financing
Fixed operating costs continue when occupancy falls. Variable costs usually respond to sold nights, stays or guest count, depending on the item. Maintenance reserve is cash set aside for future work, not proof that actual maintenance will equal the allowance. The villa ownership cost guide can be used to check whether categories are missing.
Do not insert a generic tax percentage. Record the applicable tax, what it is assessed on, who collects it, and whether it is already included in any revenue or cost line. Financing should also sit below pre-finance cash flow, so buyers using different debt structures can compare the underlying operation.
Operator-reported: Pronoia states that qualified buyers receive an illustrative financial model based on disclosed assumptions through its villa ownership information. The model helps test assumptions; it does not establish the result. Current project-specific definitions and terms should be matched to the relevant documents and the ownership page.
Model owner use without double counting
There are two valid presentations. Choose one.
- Inventory method: subtract owner-blocked dates before calculating available nights. Revenue then reflects reduced rentable inventory.
- Commercial baseline method: model full commercial availability, then show the estimated net income forgone on owner-use dates as a separate owner-use effect.
Do not use both methods in the same result. That would deduct owner use twice.
The effect is date-sensitive. Blocking a night with little expected demand is different from blocking a date expected to sell at a higher rate. For the commercial baseline method, estimate forgone room revenue using the expected sale probability and date-specific ADR, then subtract costs avoided because no rental occurred. Add cleaning, utilities or other costs created by the owner’s stay where applicable.
Separate annual cash yield from appreciation
Cash yield measures operating cash generation:
Cash yield = annual net owner cash flow / total owner cash invested
Define both sides. State whether cash flow is before or after financing, and whether invested cash includes acquisition payments, setup, furnishing and transaction costs borne by the owner. A yield with an incomplete denominator is overstated.
Appreciation is a separate outcome based on a future sale value that is unknown today. Keep any appreciation case outside annual operating yield and disclose assumed holding period, future value, selling costs, taxes and ownership-term effects. Do not add forecast appreciation to annual cash flow and label the result ROI without showing the calculation.
Audit the result before comparing villas
Before relying on any low, base or high output, check that:
- sold nights reconcile to available nights and occupancy;
- ADR contains accommodation revenue only, or exceptions are disclosed;
- owner blocks and closure dates are visible;
- channel and management charges use their contractual bases;
- fixed costs remain in the low-occupancy case;
- reserve, tax and financing are separate lines;
- the modeled villa category matches the operator’s actual inventory presentation, such as Pronoia’s published rental listings;
- management responsibilities match the contract, using these villa management questions as a review aid; and
- cash yield is reported separately from appreciation.
If the model cannot show the source, basis and sensitivity of its occupancy, ADR and largest cost inputs, treat the displayed return as unverified rather than filling the gaps with a market average.
Sources
- Room occupancy rates of classified hotels in Bali BPS-Statistics Indonesia Bali Province · Accessed August 31, 2026
- Villa ownership and financial model Pronoia · Accessed August 31, 2026
- Rent a Pronoia villa Pronoia · Accessed August 31, 2026
General information only. Property, legal and tax decisions require independent Indonesian professional advice.