// Adds dimensions UUID, Author and Topic into GA4
Sunday, November 16, 2025
27 C
Singapore

RHB expects higher retail sales growth in Singapore for Q4 2025

SINGAPORE: Singapore’s retail sales growth is expected to pick up in the fourth quarter of 2025 (Q4 2025), as retail activity will be supported by upcoming festive periods like Deepavali and Christmas, rising tourism, and year-end school holidays, according to EdgeProp Singapore, citing RHB.

The firm noted that government measures like the SG60 and GST vouchers will also uplift overall domestic demand in the short term.

In its latest research report, RHB maintained its full-year retail sales growth forecast at 2.5%, saying its outlook for the rest of the year remains “cautiously optimistic” despite a modest performance so far.

The forecast follows stronger retail figures in August, as retail sales rose 5.2% year-on-year (YoY), lifted by online sales, which RHB said supported its sanguine outlook. This was up from 4.6% in July, the strongest expansion since February 2024, when growth reached 8.4% YoY, EdgeProp Singapore reported. So far this year, retail sales have risen 2.2%.

See also  Despite pandemic, Singapore’s 50 richest have gotten $37 billion richer

Still, RHB said that its positive outlook hinges on stable economic conditions. It cautioned that weaker external demand from tariff impacts and lower labour demand, particularly in the manufacturing and wholesale trade sectors, could weigh on the performance of the retail market. /TISG

Read also: RHB: Singapore retail sales growth expected to slow down in H2 2025 amid economic headwinds

Featured image by Depositphotos

- Advertisement -

Hot this week

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); } });
// //