ADVERTISEMENT

Ayala Land sees 15% profit jump in 2024, citing robust demand across business lines

Published Feb 20, 2025 03:37 am

Real estate giant Ayala Land Inc. (ALI) registered a 15 percent jump in net income to ₱28.2 billion last year as it achieved solid growth across its business lines despite headwinds in the operating environment.

In a disclosure to the Philippine Stock Exchange, the company said consolidated revenues in 2024 reached its highest mark-to-date at ₱180.7 billion, 21 percent higher year-on-year.

Revenues from ALI’s property development businesses grew 22 percent to ₱112.9 billion, driven by higher residential and estate lot bookings. Residential revenues accelerated 23 percent to ₱94.9 billion on higher bookings across all brands.

Meanwhile, revenues from commercial and industrial lots jumped by 34 percent to ₱14.6 billion, lifted by demand for lots outside Metro Manila. Moreover, office-for-sale contributed ₱3.5 billion mainly from project bookings.

ALI achieved residential sales reservations of ₱127.1 billion, up 12 percent year-on-year on the back of resilient demand from the premium segment, horizontal projects, and developments in suburban estates.

Sales from the premium brands, Ayala Land Premier (ALP) and Alveo, jumped 25 percent to ₱80.8 billion, accounting for 64 percent of sales. Demand for horizontal lots and house-and-lot offerings increased with sales ending 16 percent higher than a year ago.

By location, demand for developments outside Metro Manila remained robust with take-up accelerating 14 percent from 2023 levels. Total launches for the year reached ₱80.5 billion with 64 percent located outside Metro Manila.

Leasing and hospitality revenues reached ₱45.6 billion, nine percent higher than in 2023, driven by healthy operations of existing assets combined with the contribution of new assets, namely, One Ayala Mall and BPO towers, Ayala Triangle Gardens Tower Two, and Seda Manila Bay.

Both shopping center and office leasing revenues grew by nine percent to ₱23 billion and ₱12.9 billion, respectively, while hotel and resort revenues reached ₱9.7 billion, up 11 percent year-on-year.

A total of 72,000 square meters (sqm) of new commercial leasing space was opened in 2024 to further bolster ALI’s portfolio. Two new office towers were inaugurated, while an additional 25,000 sqm of mall space was opened at Ayala Malls Vermosa in Cavite.

“We ended the year on solid footing, with all our business lines executing on their growth strategies,” said ALI President and CEO Anna Ma. Margarita Bautista-Dy.

She added that, “We look forward to the year and are excited to bring innovative residential and leasing offerings to our customers, expand our market reach and capture new business opportunities.”

Capital expenditures reached ₱84.6 billion, of which 46 percent were spent on the build out of residential projects, 27 percent on estate development, 15 percent on leasing and hospitality assets, and 12 percent on land acquisition commitments.

Related Tags

Anna Ma. Margarita B. Dy Ayala Land Inc.
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.