How to Calculate ROI on Bali Villa Rentals
A step-by-step guide to calculating return on investment for Bali villa rental properties, including formulas, example scenarios, and common pitfalls.
Why Accurate ROI Calculations Matter
Every Bali property listing promises impressive returns. Agents cite gross yields of 15-20%, developers project rapid capital appreciation, and marketing brochures paint pictures of passive income paradise. The reality is more nuanced, and investors who make decisions based on incomplete calculations often discover that their actual returns fall short of projections.
Calculating ROI accurately requires accounting for every cost, realistic revenue assumptions, and an honest assessment of the variables that can swing outcomes in either direction. This guide provides the framework.
The Core ROI Formulas
There are three ways to express villa investment returns, each useful for different purposes:
Gross Rental Yield
Gross Yield = (Annual Rental Income / Total Property Cost) x 100
This is the simplest calculation and the one most commonly cited. It ignores operating costs and gives you a quick benchmark for comparison.
Net Rental Yield
Net Yield = ((Annual Rental Income - Annual Operating Costs) / Total Property Cost) x 100
A more meaningful measure that accounts for the real costs of running a rental property.
Cash-on-Cash Return
Cash-on-Cash = (Net Annual Income / Total Cash Invested) x 100
Most relevant if you have financed part of the purchase. It measures the return on the actual cash you put in.
Step 1: Calculate Total Investment Cost
Your total investment includes more than the purchase price:
| Cost Component | Typical Range | Example ($300K Villa) |
|---|---|---|
| Purchase price | -- | $300,000 |
| Furnishing and fit-out | $15,000-50,000 | $30,000 |
| Legal fees and notary | 1-2% of purchase | $4,500 |
| Transfer tax (BPHTB) | 5% of assessed value | $10,000 |
| Agent commission | 3-5% (if applicable) | $9,000 |
| PT PMA setup (if commercial) | $3,000-8,000 | $5,000 |
| Initial marketing | $1,000-3,000 | $2,000 |
| Total Investment | $360,500 |
Many investors only count the purchase price, which overstates their actual returns by 15-20%.
Step 2: Project Annual Revenue
Revenue projection requires three inputs: nightly rate, occupancy rate, and seasonal distribution.
Realistic Nightly Rates by Property Type (2026):
- 1-bedroom pool villa (Canggu): $100-150
- 2-bedroom pool villa (Seminyak): $160-230
- 3-bedroom luxury villa (Uluwatu): $280-450
- 4+ bedroom estate (Ubud): $350-600
Occupancy Rate Guidelines:
- Year 1 (new listing): 50-60%
- Year 2 (building reviews): 65-75%
- Year 3+ (established): 70-82%
Seasonal Adjustment:
Not every night commands the same rate. Build your projection with seasonal tiers:
- Peak season (July-August, Christmas-New Year): Full rate, 85-95% occupancy
- High season (April-June, September-November): 85-90% of full rate, 70-80% occupancy
- Low season (January-March): 65-75% of full rate, 45-60% occupancy
The biggest mistake in revenue projection is using peak-season rates and occupancy across all 12 months. Always model with seasonal variation.
Step 3: Calculate Operating Costs
Operating costs for a Bali rental villa typically consume 30-45% of gross revenue:
- Property management (15-25% of gross revenue): Covers guest communication, check-in/out, cleaning coordination, and maintenance oversight
- Cleaning ($15-30 per turnover): Frequency depends on booking patterns
- Staff ($200-600/month): Gardener, pool attendant, security, housekeeper
- Utilities ($150-300/month): Electricity, water, internet, gas
- Maintenance ($200-500/month): Routine repairs, pool chemicals, garden upkeep
- Insurance ($800-1,500/year): Property and liability coverage
- Platform commissions (3-18%): Airbnb charges 3% host + 14% guest fee; Booking.com charges 15-18%
- Marketing ($100-300/month): Listing optimization, social media, photography
- Income tax (10% of gross rental): Indonesian withholding tax
- Property tax ($200-800/year): Annual PBB assessment
Step 4: Worked Example
Let us run the full calculation for a 2-bedroom Seminyak villa:
Revenue:
- Average nightly rate (blended across seasons): $175
- Annual occupancy: 72%
- Revenue: $175 x 365 x 0.72 = $46,020
Operating Costs:
- Management (20%): $9,204
- Cleaning (150 turnovers x $25): $3,750
- Staff: $4,800
- Utilities: $2,700
- Maintenance: $3,600
- Insurance: $1,200
- Platform commissions (avg 10%): $4,602
- Marketing: $2,400
- Income tax (10%): $4,602
- Property tax: $400
- Total costs: $37,258
Results:
- Net annual income: $46,020 - $37,258 = $8,762
- Gross yield: $46,020 / $360,500 = 12.8%
- Net yield: $8,762 / $360,500 = 2.4%
That net yield looks discouraging, but it represents the conservative year-1 scenario. By year 3, with higher occupancy (78%), better rates ($195 average), and more direct bookings reducing platform commissions, the same villa could generate:
- Net annual income: $22,400
- Net yield: 6.2%
Add capital appreciation of 5-8% annually, and total return approaches 11-14%.
Common Calculation Mistakes
Investors frequently make these errors:
- Ignoring vacancy periods -- Even in peak season, you will have gaps between bookings. Factor in 1-2 nights of vacancy per turnover.
- Underestimating maintenance -- Bali's tropical climate destroys things faster than you expect. Salt air, humidity, insects, and heavy rains take a constant toll.
- Forgetting about taxes -- The 10% income tax on rental revenue is a real cost that cannot be avoided.
- Assuming 100% platform bookings -- Budget for platform commissions on most bookings initially, but plan to shift toward direct bookings through your own website.
- Ignoring lease depreciation -- If you hold a 25-year lease, the property value depreciates to zero at expiration. Amortize this cost in your long-term ROI calculation.
How to Improve Your ROI
The most impactful levers for improving villa ROI:
- Build direct booking channels -- A professional website on seminyakproperty.com or coralbali.com that captures bookings without platform commissions can improve net yield by 2-4 percentage points.
- Invest in photography and listing quality -- Professional photos and compelling descriptions increase both booking rates and average nightly rates.
- Implement dynamic pricing -- Tools like PriceLabs adjust your rates daily based on demand, competitors, and events. This consistently outperforms static pricing.
- Reduce turnover costs -- Encourage longer stays through weekly and monthly discounts. Fewer turnovers mean lower cleaning costs and less wear and tear.
- Negotiate management fees -- As your portfolio grows, you gain leverage to negotiate lower management commission rates.