// Adds dimensions UUID, Author and Topic into GA4
Tuesday, September 22, 2026
24 C
Singapore

Singapore’s private home prices expected to increase by 0-3% next year

SINGAPORE: Singapore’s private home prices are expected to increase modestly by 0-3% in 2025, driven by a surge in new launches, according to the Singapore Business Review.

CGS International (CGSI) reported that developers expect 8,200-8,300 residential units to be launched in the first half of 2025, with new private home sales projected to reach 6,000-7,000 units for the year.

Developers are currently trading at a 58% discount to revalued net asset value (RNAV) and 0.52 times their forecasted price-to-book value (P/BV) for 2024, well below their 10-year average.

Developers who are more focused on residential properties will likely benefit as home sales pick up. However, CGSI warned that a tempered rate cut outlook could limit significant growth in share prices in the short term.

The lower interest rate environment in Singapore could increase interest in residential property.

CGSI maintained a neutral stance on the sector, picking CapitaLand Investment (CLI) as its top choice, followed by UOL. For smaller companies, CGSI preferred property broker PROP. /TISG

Read also: Why 1-room HDB prices are reaching record highs

Featured image by Depositphotos (for illustration purposes only)

Hot this week

Singapore bus commuters now face fines up to S$500 for loud audio and feet on seats; more serious offences can cost up to S$5K...

New rules target passenger nuisance behaviour on buses and at interchanges, while bus staff gain added powers to deal with such bad commuters

Plumber, 65, sneaks into Telok Kurau house to assault & steal from helper who broke up with him

From a Shin MIn Daily News story.Chua Kok Poi, 65, pleaded guilty on Sept 18 to five charges, including housebreaking, voluntarily causing hurt, and theft.

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks