// Adds dimensions UUID, Author and Topic into GA4
Sunday, July 26, 2026
28.3 C
Singapore

ComfortDelGro’s Q1 2025 operating profit jumps 45.5% YoY to $81.5M

SINGAPORE: ComfortDelGro has recorded its eighth consecutive quarter of improved financial results, thanks largely to stronger earnings from its international operations and tighter cost management in Singapore.

For the first quarter of 2025, the public transport operator posted an operating profit of S$81.5 million — a 45.5 per cent jump compared to the same period last year.

The company’s revenue has also risen by 16.4 per cent year-on-year to nearly S$1.17 billion.

The company pointed to the renewal of its London bus contract as a key factor behind the strong showing. It reported that new contract terms have led to better profit margins, contributing significantly to overall performance.

Back home, ComfortDelGro said efforts to streamline operations and control costs have started to bear fruit, allowing it to maintain profitability despite a more competitive local transport market.

Notably, overseas operations now account for more than half of the group’s total revenue — a first in the company’s history — underlining the growing importance of its international business in cities such as London, Sydney, and Beijing.

- Advertisement -

Hot this week

SPF and FBI sign MOU to deepen cooperation against scams and cyber fraud, building on joint op that saved millions

Singapore's SPF and the US FBI have signed an MOU to deepen cooperation against online scams, cyber fraud and money laundering, following a joint operation that saved victims across both countries ...

‘It’s fine to keep cats, but owners must be responsible’: Residents complain of roaming cats at HDB block

Residents of Toa Payoh HDB flats say the cats have been roaming freely along the corridor for months, leaving faeces outside homes and a lingering foul smell behind.

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