Open-source-style market scrapes. $/m² by submarket × type × beds. Nightly ADR. STR vs LTR yields. Side-by-side comparison. Drilldown to underlying listings. No paywalled API, no marketing claims.
Sale-side analytics. Submarket × Type × Beds crosstabs. Median + mean $/m² with Q1/Q3 spread. Submarket ranking by capital value. Click any cell to drill into the listings behind the number.
Rental analytics. Booking nightly ADR by submarket + bed-count, blended across peak/shoulder/low seasons (5/3/4 month weighting). Long-term lease rates from project-level monthly data.
STR vs LTR yields side-by-side. Gross + net for both channels, with explicit operator-split, opex (scaling with capital), occupancy, tax. Head-to-head winner per cell.
Honest yield map. Sweet spot, best cell, yield crusher. Marketing-claim audit: which cells actually hit "10% guaranteed net"? — usually only 1-2 across the entire market.
Phuket developer brochures market "8-12% gross" or "10% guaranteed net" routinely. In actual blended ADR data, only 1-2 cells across 24 submarkets clear that bar — and they're studio condos, not branded villas.
The premium tier delivers 3-6% net, not 10%. That's capital appreciation + lifestyle, not income. The tool shows what's true — and lets you click through to the listings to verify.
Sale-side — Properstar live listings + FazWaz project-directory entries (entry + top units, sized by tier heuristic). Filtered to plausible $/m² range. Duplicate detection across sources.
Rental-side — Booking.com multi-pass scrapes (dated + no-date + peak-season + per-subzone + property-type filters). Sample size disclosed per cell.
Yields — ADR × 365 × occupancy ÷ price for gross. Net = gross × (1 − op_split) × (1 − tax) − opex/price, with capital-scaled opex. Sensitivity panel models +30/50/80% ADR uplift for premium-tier under-sample correction.
Disclosure — every n is clickable to underlying records. Cells flagged when |avg−med|/med exceeds 30% — outlier signal, not data quality issue.