// Adds dimensions UUID, Author and Topic into GA4
Thursday, September 24, 2026
27.4 C
Singapore

Grab reports third-quarter profit of S$20 million, reversing year-ago loss

SINGAPORE: Southeast Asia’s super-app Grab has turned a significant financial corner, reporting a profit of about S$20 million or US$15 million for the third quarter of 2024.

This turnaround marks a reversal from the US$99 million loss it experienced in the same quarter last year.

Several factors, including stronger group-adjusted earnings, a rise in net finance income, and a reduction in share-based compensation costs, underpinned the company’s shift into profitability.

In Q3 2024, Grab’s group-adjusted EBITDA—a key performance metric excluding certain expenses—jumped to US$90 million, reflecting a US$62 million increase from the previous year’s quarter.

Grab credits the rise in EBITDA to growth in On-Demand Gross Merchandise Value (GMV) and revenue across its segments.

Grab’s revenue for the quarter increased by 17% year-over-year to reach US$716 million. This growth was seen across all major business segments, underlining robust demand in its core markets.

The company’s On-Demand GMV also experienced substantial growth, climbing 15% year-over-year. This surge was largely driven by a 19% increase in Monthly Transacting Users (MTUs) and a 22% rise in transaction volumes.

Hot this week

Two weeks after allegedly finding cockroach in meal, customer demands S$5,000 from restaurant

A customer allegedly found a whole dead cockroach in his restaurant meal — but instead of reporting it immediately, he approached the restaurant two weeks later and demanded S$5,000 in compensation.

‘Now that’s a real Mayor,’ Singapore Democratic Party chief Chee Soon Juan says of Zohran Mamdani while in New York

During his visit to New York, SDP chief Chee Soon Juan praised the city’s “human spirit and resilience” while also reflecting on conversations with Singaporeans living there.

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