ADVERTISEMENT

AyalaLand Logistics profit plunges 72% as land sales cool

Published Feb 12, 2026 04:22 pm
AyalaLand Logistics Holdings Corp., a unit of property giant Ayala Land Inc., saw its annual profit plunge by 71.5 percent as shortage of inventory and cooling demand for industrial land weighed on its top line.
In a disclosure to the Philippine Stock Exchange, the firm said that its consolidated net income for 2025 fell to ₱200 million from ₱701 million a year earlier. Total revenues dropped 27 percent to ₱3.8 billion from ₱5.2 billion in 2024. 
“Full-year performance was shaped by lower industrial lot sales alongside the continued stabilization and ramp-up of leasing assets completed and acquired during the year,” ALLHC said.
It noted that, “While lot sales eased from the previous year's levels, recurring income helped moderate the impact on revenues.”
Revenues from industrial lot sales totaled ₱1.7 billion in 2025, declining by almost 50 percent from the ₱3.3 billion posted in the previous year.
Sales performance for the year reflected a combination of limited available inventory and more tempered demand.
"In a more measured market environment, we prioritized stabilizing and optimizing our assets while continuing to advance our industrial developments in select locations," said ALLHC President and Chief Executive Officer Robert S. Lao.
He added, "As we move forward, we remain committed to disciplined execution and positioning the business for sustainable, long-term growth.”
During the year, ALLHC launched new industrial inventory at its Cavite and Batangas Technoparks, adding ₱3.2 billion in saleable lots to its portfolio.
To support future growth, the company is preparing the next phases of Pampanga Technopark, which are intended to be registered with the Philippine Economic Zone Authority (PEZA) and the Board of Investments (BOI), and form part of ALLHC's planned industrial lot launches in 2026.
ALLHC's leasing businesses generated ₱2.0 billion in revenue in 2025, an eight percent year-on-year increase. “Performance across leasing segments reflected stable operations and continued portfolio expansion,” the firm said.
Warehouse revenues reached ₱746 million in 2025, slightly lower than the previous year. Revenue performance reflected changes in tenant mix alongside the continued expansion of the company's warehouse footprint.
ALLHC ended the year with a total warehouse gross leasable area (GLA) of 379,000 square meters (sqm), an 11 percent increase from the prior year.
This growth was driven by the acquisition of warehouse facilities in Urdaneta and Iloilo, as well as the completion of additional units in Mabalacat and Naic, which together contributed 39,000 sqm to the portfolio.
Meanwhile, cold storage revenues rose sharply to ₱308 million in 2025, up 88 percent from the prior year, driven largely by contributions from the company's recently acquired facilities.
Following these additions, ALLHC expanded its cold storage footprint to 31,600 pallet positions by year-end, representing a 56 percent increase from 20,300 pallet positions in 2024.
Commercial leasing reached ₱935 million in revenues, a two percent increase from last year, supported by improved mall occupancy levels and stable office leasing.
During the year, ALLHC also reached a milestone with the completion of Phase 1A of its A-FLOW data center campus in Biñan, Laguna with an initial 6MW-IT capacity.

Related Tags

AyalaLand Logistics Holdings Corporation Robert Lao 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.