Villa Sunny 23 · Berawa · Owner review

You've filled the calendar.
The next gain is in the rate.

Occupancy has averaged 87% since March and the reviews are excellent — the hard part is done. What a demand-following pricing engine reads as "priced correctly," though, a full calendar at this cost structure suggests is "priced too low." This is a proposal for where to take the rate, and the evidence behind it.

Prepared for Desa Management Period Jan – Jul 2026 Rate used Rp 20,600 / €1

Where we are · Mar–Jul 2026

87%Average occupancy
+21%Gross ADR growth, Mar → Jul
3.7%Annual yield to the owner
11Nights lost in short unsold gaps

Where this could go · if the plan is followed

79%Target occupancy — deliberately lower
€132Average rate per night, up from €76
7.5%Annual yield to the owner
€22,400Owner income per year, up from €11,240

Fewer nights sold, at nearly double the rate. The conservative case — occupancy landing eight points below target in every season — still returns 6.6%. Figures are set out in full further down.

Management share to Desa · 20% of profit €248 per month today €480 per month €2,980 → €5,760 per year

Summary

Where this stands

Desa took over a badly run property and turned it around. Occupancy went from unstable to consistently high, the listing now holds 4.86 stars across 14 reviews and Guest Favourite status, and gross ADR climbed from €70 in March to €85 in July. None of what follows is a criticism of the operation.

The issue is on the revenue-management side. At 87% occupancy with a €6/night marginal cost, the villa is leaving money on the table in a way that a demand-following pricing algorithm will never surface on its own — because from the algorithm's point of view, a full calendar is a success.

Annualised on the March–July run rate, and after the monthly common-area invoice, the owner nets roughly €11,240 per year on a €300,000 investment. That is a 3.7% yield. The rest of this document shows where the gap is and what it would take to close it.

At €120 a night, the villa could sit empty two weeks a month and still match today's profit.It is currently running at 87% occupancy. The margin of error on a price rise is enormous.
An empty night saves €6 and costs €51.Staff, power, pool and the complex invoice run whether a guest is here or not. Only laundry and consumables scale.
Guests score value 4.9 out of 5. Not one review below four stars.On a listing priced at the market, value is usually the weakest score. Here it is tied with everything else.
July is peak season. It produced the highest rate of the year and the second-worst RevPAR.The rate went up and the calendar emptied out. That combination is a management gap, not a demand problem.
Channel fees are not the issue. The 17.2% Airbnb deduction is the standard 15.5% host-only fee plus 11% Indonesian PPN. Marriott takes 17.0% all-in and Booking.com 19.0%. All three are in line with what the market charges — what differs between them is the rate the guest pays, which is where the opportunity sits.

RevPAR · the metric that matters

Five months of performance

Occupancy alone doesn't tell you whether a month went well. RevPAR — net revenue divided by every night in the calendar, sold or not — does, because it prices the empty nights in.

020406080€46Mar€46Apr€59May€63Jun€57Jul81%87%94%90%84%occ
Bars: RevPAR in euros (net of channel fees). Line: occupancy. May and June were the strong months. July — peak season in Bali — should have been the best of the year and instead came in below both.
MonthNightsOcc.Gross ADRNet ADRRevPAROwner, net
March25 / 3181%€70€57€46€797
April26 / 3087%€69€53€46€745
May29 / 3194%€76€63€59€1,106
June27 / 3090%€77€70€63€1,044
July26 / 3184%€85€68€57€632
Average26.687%€76€64€54€865

Owner figures are the 80% distribution less the €55 monthly common-area invoice. July is shown as reported; the Rp 10.3m bedding replacement is treated separately below.

July is high season. It produced the highest ADR of the year and the second-worst RevPAR. That combination only happens when the calendar isn't being managed as tightly as the price.

The night ledger

Every night, March to July

This is the whole period at the resolution the decisions are actually made at — one square per night, coloured by the channel that sold it.

151015202530MarAprMayJunJul
AirbnbMarriott HVDirectBooking.comReview stayEmptyEmpty — short gap, under 3 nights
153 calendar nights. 133 sold, 20 empty, spread across nine separate gaps.

Eleven of the twenty empty nights were one- and two-night gaps

Short gaps are not blocked here. Four two-night stays were sold through Airbnb over these five months, and two of them slotted exactly between existing bookings — Ronny Sutanto on 4–6 March and Yassine Outgharmine on 22–24 June, each with a guest checking out the morning they arrived and another checking in the morning they left. Whatever the nominal minimum stay is, the calendar is letting these through.

So these nights were sellable. They simply didn't sell:

Short gapLengthOutcome
4–6 March2 nightsSold — Airbnb, exact fill
22–24 June2 nightsSold — Airbnb, exact fill
23 April1 nightUnsold
10 May2 nightsUnsold
9 June2 nightsUnsold
26 June1 nightUnsold
1 July2 nightsUnsold
8 July2 nightsUnsold
26 July1 nightUnsold
Unsold11 nights≈ €1,215 / year in owner profit

Selling all of them would move occupancy from 87% to 94%, with no extra guest turnover beyond what is already happening on either side of each gap. Two out of nine sold; the question is what to do about the other seven.

These nights are perishable, and they were priced as though they weren't. A gap night that goes unsold is worth nothing the next morning, and its marginal cost is around six euros. Offered at the same rate as an ordinary night, a one- or two-night stay is a poor deal for a guest — the same cleaning fee and travel effort spread over fewer nights. A standing rule that drops short gaps inside two weeks of arrival to a clearing price should convert some of these; even at half the normal rate the villa keeps almost all of it. Worth noting against ourselves: the two short gaps that did sell went at roughly the normal rate, not a discounted one — so this is a reasonable hypothesis rather than a proven mechanism, and it is cheap to test.

€6.01 per night

What a night actually costs

This is the number the whole strategy rests on, and it is much lower than it intuitively feels.

CostPer monthBehaviour
Housekeeping salaries€121Fixed
Electricity€121Fixed
Common area invoice€55Fixed
Pool service€29Fixed
Dues, internet, insurance€29Fixed
Laundry, cleaning & guest supplies€67Variable — €2.47/night
Repairs & linen replacement (reserved)€96Wear — €3.54/night
Fixed €356/mo · Variable + wear€6.01/night

Staff, pool, power, internet and the complex invoice all run whether a guest is in the villa or not. Only laundry, consumables and wear scale with occupancy — about six euros a night.

An empty night saves €6 and costs €51 in lost owner profit. "Fewer bookings means lower costs" does not hold at this cost structure.

The practical consequence: occupancy is worth defending, and price increases are cheap to test. Every euro added to the nightly rate flows almost entirely to the bottom line, and it takes a large occupancy loss to cancel out even a modest increase.

On the July bedding line

The Rp 10.3m linen replacement is legitimate wear, but landing it in a single month made July's result look like an operational failure when it wasn't. Throughout this analysis it is spread across twelve months so that the underlying trend stays readable — the €3.54 per night in the table above is that figure, together with average repairs and maintenance.

Channel mix

Marriott guests pay 25% more

Marriott HV€78 net / €94 gross13 nightsAirbnb€62 net / €75 gross94 nightsDirect€67 net / €68 gross19 nightsBooking.com€55 net / €68 gross5 nights
Solid bar: net per night after all fees. Pale bar: gross per night. Marriott Homes & Villas takes 17.0% — essentially the same as Airbnb — but its nights sold at a materially higher rate.

Across 131 nights from March to July, Marriott returned €78 net per night against Airbnb's €62. That is not a fee advantage; the take rates are within 0.2 points of each other. Marriott's guests simply pay more — €94 gross versus €75 — and they book longer stays (6 and 7 nights).

One caveat before reading too much into this. Smart Pricing governs Airbnb only; Marriott's rates run on a separate plan and were never discounted the same way. On adjacent dates in May, Marriott sold at €89 gross while Airbnb sold at €72 — which may say more about where the discounting was applied than about the guests. The honest conclusion is that Airbnb looks underpriced relative to what this villa can achieve, and Marriott is the evidence for it. Whether Marriott also deserves a larger share of nights is a question to settle once both channels carry the same rates.

Direct bookings are being discounted away

Four guests booked through Airbnb and then extended directly. Direct nights carry no channel fee, which is worth 17.2% — but the direct rate has been set so far below the Airbnb rate that most of that saving is handed straight back to the guest:

GuestAirbnb rateNet to villaDirect rateResult
Aren Fox (March)€67€55€49−€6 / night
Ronny Sutanto (March)€67€56€63+€7 / night
Üstün Dilek (June)€73€61€71+€10 / night
Yusuf Mohamed (June)€71Full rate, no fee

Blended, direct nights returned €67 net against Airbnb's €62 — a 7% gain when the fee saving alone was worth 17%. The rule should be: a direct rebooking is priced at the Airbnb rate less 5%, not less 25%. The guest still saves, and the villa keeps the difference.

Booking.com is the weakest channel on both dimensions — 19.0% take and the lowest gross ADR. It is worth keeping for reach, but it should never receive the best rate.

The core argument

How much occupancy a price rise can afford to lose

Because the marginal cost of a night is €6, a higher rate is protected by a very wide margin of error. This chart shows, for each list price, the occupancy at which the villa would earn exactly what it earns today.

0%25%50%75%100%Today: 87% occupancy89%€7674%€9062%€10554%€12046%€14040%€16034%€185nightly list price →
Red line: break-even occupancy at each price. Green line: where occupancy sits today. The shaded band is the margin of safety — how far bookings could fall before the price rise stops paying.
List price / nightNet after 17.2% feeBreak-even occupancyMargin vs. today
€76 (today)€6387%
€90€7574%13 points
€105€8762%25 points
€120€9954%33 points
€140€11646%41 points
€185€15334%53 points
At €120 a night, the villa could sit empty two weeks a month and still match today's profit. It is currently running at 87%.

This is why the recommendation is to raise rates decisively rather than in 5% increments. The downside is bounded and the current occupancy provides an unusually large buffer to test into.

Proposal

A seasonal calendar instead of a flat rate

Bali demand is strongly seasonal and the current pricing does not reflect that. July was sold at €85 gross — the same order as March, which is shoulder season. The proposal is four rate bands, set as floors, with the algorithm permitted to move up from them but not down.

BandMonthsList priceTarget occupancyBreak-even occ.
PeakJul, Aug, Dec€18585%34%
HighJun, Sep, Jan€13582%47%
ShoulderMar, Apr, May€11078%59%
LowFeb, Oct, Nov€9072%74%
Full yearavg €132289 nights · 79%
These prices are derived from the villa's economics, not from market comparables. They describe what the cost structure can support, not what Berawa will pay. Desa is far better placed to validate them against comparable two-bedroom private-pool villas in the area — and if the market says a number is wrong, the market wins. What the economics do establish is the direction and the size of the safety margin.
Today (run-rate)€11,243 · 3.7%Conservative case€19,830 · 6.6%Base case€20,964 · 7.0%Base + 30% direct€22,393 · 7.5%
Annual owner income after the 20% management share and the common-area invoice. The conservative case assumes occupancy lands eight points below target in every season.

Even the conservative case — 71% occupancy across the year, well below anything the villa has achieved since March — nearly doubles the owner's return, from 3.7% to 6.6%. The plan does not depend on the villa staying full. It depends on it not being sold cheaply when it is.

Actions

What we'd like to change

Ordered by date. The two figures below are additional owner profit per month after the 20% management share, taken from the pricing model rather than added on top of it — the first two actions are what make that model achievable, not separate gains.

protectsthe plan

Set a two-tier minimum price

These are different nights and they need different floors. For ordinary open dates, raise the floor from €75 to €95 — at 87% occupancy a last-minute discount is buying nights that would have sold anyway. For a gap of two nights or fewer inside a fortnight of arrival, keep a lower clearing floor: those nights are perishable, they cost about €6 to fill, and a short stay is a worse deal for a guest at any given rate. One rule, two tiers, no contradiction between them.

This week
enablerunlocks the rest

Take manual control of the price floor

Turn off Airbnb Smart Pricing's downward movement. Set a hard floor per season and let the algorithm only move up from it. On its own this changes nothing; without it, nothing below will hold, because the engine will discount straight back down whenever a date looks soft.

This week
+€810per month

Publish the seasonal rates across every date that is already open for booking

This is the main action, and almost all of the gain. Enter the four rate bands into the pricing system and apply them to the whole open calendar on every channel — Airbnb, Marriott, Booking.com and direct — out to March 2027, not just to the next few weeks. Guests booking six or nine months ahead are currently securing peak dates at shoulder-season prices, so the benefit of a higher July rate only arrives if July 2027 is repriced now. From then on, review booking pace at four and eight weeks out and adjust the whole band, not individual nights.

Because take rates differ slightly, the list price should differ slightly too: Booking.com deducts 19.0% against 17.2% on Airbnb, so it needs roughly 2% more on the gross rate to net the same. Direct has no channel fee at all and is covered below.

Within 30 days
+€119per month

Reprice direct rebookings at OTA rate less 5%

Offer every departing guest a direct rate for their next stay — at a 5% discount, not 25%. Four guests extended directly this period, so the demand is already there. The figure above assumes direct grows to roughly 30% of nights at the new seasonal rates; at today's volume it is worth about a fifth of that.

Within 30 days
measurethen decide

Re-measure the channel gap once the new rates are live

Marriott has been returning €78 net per night against Airbnb's €62, at an almost identical take rate. Three readings fit: Marriott's guests genuinely pay more; Marriott's rates sat outside Smart Pricing's reach and never got discounted; or the gap reflects terms rather than guests, since Marriott takes 50% at booking and refunds nothing inside 14 days. On adjacent May dates Marriott sold at €89 while Airbnb sold at €72. Two Marriott bookings aren't enough to tell.

So this isn't a volume decision yet. Apply the seasonal rates to every channel first, then compare net ADR by channel again after 60 days. What already holds either way: Marriott booked 6- and 7-night stays, longer than the Airbnb average, which means fewer turnovers and fewer short gaps.

60 days
reporting

Report RevPAR alongside occupancy

Occupancy on its own rewards underpricing. RevPAR, ADR and net ADR per channel in the monthly pack would let us see the strategy working — or not — much sooner.

Next report
Combined effectOwner profit rises from about €940 to €1,870 per month — €22,400 a year, a 7.5% yield on €300,000. Both figures come from the same pricing model, so they add without overlapping. Any channel-mix gain is deliberately excluded until it has been measured. On the same basis the 20% management share rises from about €248 to €480 a month.
+€930per month

Open questions

Things we can't see from the reports

Is Smart Pricing currently active, and what are the floor and ceiling set to?

The pattern in the data suggests demand-following pricing, but we're inferring. Knowing the actual configuration changes what needs adjusting.

What is the actual minimum stay, and is a gap rule already active?

Four two-night Airbnb stays sold over these five months, two of them exact fills between bookings — which suggests short stays are already being let through somewhere. Knowing exactly how that is configured would tell us whether the seven unsold gaps are a pricing problem or something else.

What is driving the sales returns?

Rp 1.68m in March and Rp 1.47m in July, roughly 4% of revenue. Cancellations, refunds, or something else?

How do our rates compare to comparable Berawa villas right now?

Two bedrooms, 2.5 bathrooms, private pool. A comp set with current rates by season would let us set the bands against the market instead of against the cost base.

How are Marriott and Booking.com rates set today, and does Smart Pricing touch them?

If those channels sit outside the algorithm, that would explain much of the €16/night gap with Airbnb — and it would mean Airbnb is the channel being underpriced, not Marriott the one outperforming.

Should Airbnb carry stricter cancellation terms than it does today?

Marriott's 14-day no-refund policy is far tighter than Airbnb's, and it is the channel earning the most per night. Tightening Airbnb somewhat may support a higher rate — though it will also cost some bookings, so it is a trade to weigh rather than an obvious win.

Can Marriott Homes & Villas take more volume if we decide we want it?

Worth knowing the answer before the 60-day measurement, so we can act on it straight away. And is there anything on our side — photography, description, amenity list — that would help it convert better?

Is there scope to increase the ceiling, not just the floor?

If Smart Pricing is capped, a listing at 87% occupancy is probably hitting that cap during peak weeks.