Back to Blog
Getting StartedFebruary 2025 · 8 min read

How to Calculate Property ROI in Malaysia

Four metrics every investor needs — from a quick gross yield screen to cash flow analysis and capital gains tax.

4 metrics · 1 worked example

All calculated on a real RM350,000 KL condominium

Most property investors glance at the asking rent, divide by the asking price, and call it yield. That single number hides maintenance costs, vacancy periods, financing charges, and exit taxes. This guide walks through the four metrics that together paint the full picture — and shows exactly how each one plays out on a single RM350,000 Kuala Lumpur condominium.

Gross Yield

30-second screen. Raw income vs price, before any costs.

≥ 5% is good
Net Yield

Realistic baseline. After maintenance, vacancy, and fees.

≥ 3% is good
Cash-on-Cash

Monthly cash flow test. After loan repayments.

≥ 0% = self-funding
RPGT & Exit

Capital gains tax on disposal. 0% after 6 years for citizens.

Hold 6+ years

Metric 1: Gross Rental Yield

Gross yield is the universal starting point. It tells you how much annual rent you collect relative to the purchase price — before factoring in a single ringgit of costs.

Gross Yield = (Monthly Rent × 12) ÷ Purchase Price × 100

Example: (RM1,800 × 12) ÷ RM350,000 × 100 = 6.17%
ThresholdSignalContext
≥ 7%ExceptionalRare in KL — typically PPR/affordable housing
5 – 7%GoodAbove KL avg (4.60%), above national avg (5.19%)
4 – 5%AcceptableNear market average; check net yield carefully
< 4%BorderlineNeeds strong capital appreciation thesis

Limitation

Gross yield ignores maintenance fees, vacancy, legal costs, and financing. A property at 6% gross can easily deliver only 2–3% net after real-world costs. Always calculate net yield before deciding.

Metric 2: Net Rental Yield

Net yield deducts all recurring ownership costs from your rental income. It is a far more honest picture of what you actually keep each year.

Net Yield = (Annual Rent − Annual Operating Costs) ÷ Purchase Price × 100

Malaysian operating costs — what to include

Cost itemTypical rateExample (RM350k, 900 sqft)
Maintenance fee (strata)RM0.30–0.45/sqft/monthRM 3,780/yr
Assessment tax (cukai penilaian)RM400–800/yrRM 600/yr
Insurance (fire/content)RM300–500/yrRM 400/yr
Vacancy allowance5–10% of annual rentRM 1,728/yr
Letting/agent fee0.5–1 month/yrRM 900/yr
Stamp duty on purchase (amortised ÷10 yrs)Tiered — see box belowRM 600/yr
Total annual operating costsRM 8,008/yr
Net income = RM 21,600RM 8,008 = RM 13,592
Net yield = RM 13,592 ÷ RM 350,000 × 100 = 3.88%

Our 6.17% gross yield drops to 3.88% net — still above the 3% threshold, but a meaningful 35% reduction from the headline figure.

Malaysia Stamp Duty — Purchase Costs to Know

  • Stamp duty on instrument of transfer (IoT): 1% on first RM100k · 2% on RM100k–RM500k · 3% on RM500k–RM1M · 4% above RM1M
  • First-time buyer exemption: 100% exemption on IoT stamp duty for properties ≤RM500,000 (SPA signed by Dec 2025)
  • Stamp duty on loan agreement: 0.5% of loan amount
  • Legal/conveyancing fees: ~1% of property price (regulated scale)

One-time costs like stamp duty and legal fees should be amortised over your expected holding period (typically 10 years) and included in the net yield calculation.

Metric 3: Cash-on-Cash Return

Net yield assumes you paid cash. Most Malaysian investors finance with a home loan — which means the bank is supplying 90% of the purchase price and charging you for it. Cash-on-cash return answers the question your bank statement asks: am I paying in or taking out every month?

Cash-on-Cash = (Annual Net Rent − Annual Mortgage Payment) ÷ Total Cash Invested × 100

Total Cash Invested = Down payment + Stamp duty + Legal fees

Worked example — RM315,000 loan at 4.5% over 25 years

ItemAmount
Monthly mortgage (EMI)RM 1,750/mo
Annual mortgage paymentRM 21,000/yr
Down payment (10%)RM 35,000
Stamp duty on transferRM 6,000
Stamp duty on loan (0.5%)RM 1,575
Legal fees (~1%)RM 3,500
Total cash investedRM 46,075
Annual cash flow = RM 13,592 (net rent) − RM 21,000 (mortgage) = RM 7,408 negative
Cash-on-cash = −RM 7,408 ÷ RM 46,075 × 100 = -16.1%
Monthly top-up out of pocket: RM 617/mo

Is negative cash-on-cash a red flag?

Not automatically. Negative cash flow is extremely common among Malaysian residential investors at current lending rates (~4–5%). You are effectively paying RM617/month to own an asset that is also building equity through principal repayment and (historically) appreciating at 3–5% per year in KL. The question is whether you have the holding power — and whether the appreciation thesis is sound for that specific area.

For self-funding cash flow (cash-on-cash ≥ 0%) at ~4.5% financing, a property typically needs a gross yield above 7–8% — which is rare outside affordable or PPR-grade housing.

Capital Gains & RPGT — The Exit Multiplier

Yield metrics measure annual income. But property is also a capital asset — and how much you keep when you sell is determined by Real Property Gains Tax (RPGT), Malaysia's tax on property disposal gains.

Year of disposalMalaysian citizenForeigner
Year 130%30%
Year 220%30%
Year 315%30%
Year 410%30%
Year 55%30%
Year 6 onwards0% ✅10%

RPGT is charged on the gain only, not the sale price. Allowable deductions: purchase price, legal fees, stamp duty, agent commission, and capital renovation costs (with receipts). Individual exemption: greater of RM10,000 or 10% of the gain.

Buy at RM350,000 → sell after 10 years at 3%/yr appreciation = RM470,365
Capital gain = RM470,365 − RM350,000 = RM120,365
RPGT (Malaysian citizen, year 10): 0% → keep the full gain

Key rule: Malaysian citizens who hold for at least 6 years pay zero RPGT on disposal. Planning your hold period around this threshold is one of the highest-leverage decisions in Malaysian property investment.

Full Picture — RM350,000 Condo at a Glance

MetricResultVerdict
Gross rental yield6.17%✅ Good (≥5%)
Net rental yield3.88%✅ Good (≥3%)
Cash-on-cash return-16.1%⚠️ Top up RM 617/mo
RPGT at exit (year 10)0%✅ Hold 6+ years

Quick Reference: When to Proceed

Metric✅ Good🟡 Acceptable❌ Caution
Gross yield≥ 5%3 – 5%< 3%
Net yield≥ 3%1.5 – 3%< 1.5%
Cash-on-cash≥ 0%−10% to 0%< −10% (without strong cap. apprec.)
Hold period6+ years (0% RPGT)3 – 5 years< 3 years

Use All Four — Not Just One

Gross yield is the fastest filter but the most misleading in isolation. Net yield gives you the realistic income baseline after running a property. Cash-on-cash tells you whether you need to top up monthly — and by how much. And RPGT shapes your exit strategy before you even sign the SPA.

The RM350,000 condo in this example looks attractive on gross yield (6.17%), holds up on net yield (3.88%), requires a RM617/month top-up under financing (negative cash-on-cash), but exits completely tax-free after year 6. Whether that trade-off works depends on your personal cash flow capacity and conviction in the area's appreciation potential — both of which no formula can substitute for.

See Net Yield by KL Neighbourhood

MoveMatch computes net yield for every area in Kuala Lumpur from real government transaction records and live rental listings — no guesswork.

Explore the Rental Map