ADVERTISEMENT

DMCI Holdings' profit falls, citing soft energy market, business integration

Published Aug 6, 2025 09:29 am
DMCI Holdings Chairman and CEO Isidro A. Consunji
DMCI Holdings Chairman and CEO Isidro A. Consunji
Diversified engineering conglomerate DMCI Holdings Inc. reported an 18 percent drop in consolidated net income to ₱9.1 billion in the first half of 2025 from the ₱11.1 billion earned in the same period last year.
In a disclosure to the Philippine Stock Exchange, the firm said it posted a net income of ₱4.0 billion in the second quarter, a 27-percent decline from ₱5.5 billion in the same period last year.
This was mainly due to lower contributions from its core coal, real estate, and construction businesses, alongside the ongoing integration of its newly acquired cement operations.
Improved earnings from the water distribution, nickel mining, and off-grid power segments helped cushion the decline.
“Business transition and integration take time, but our diverse business mix and engineering ecosystem continue to support the Group. We believe that the improvements we are making today will lead to meaningful value for our stakeholders in the long run,” said DMCI Holdings Chairman and CEO Isidro A. Consunji.
In the second quarter, Semirara Mining and Power Corporation contributed ₱2.3 billion, down 32 percent from ₱3.4 billion, as soft energy market conditions drove down selling prices. Record-high coal shipments and power sales partially mitigated the impact.
With improved revenue recognition from newly-qualified accounts, DMCI Homes contributed ₱678 million, a modest eight percent decline from ₱737 million, despite higher operating and finance costs.
Associate Maynilad Water Services grew its contribution by 33 percent to ₱973 million, from ₱732 million, driven by higher average effective tariff and prudent cost management.
DMCI Power contributed ₱374 million, up five percent from ₱355 million, on higher energy sales and the addition of new bunker-fired and wind power capacities in Palawan and Antique, respectively.
DMCI Mining swung from a ₱43 million net loss to ₱344 million in net income, supported by improved selling prices and operational performance, following the full activation of Zambales Chromite Mining Company (ZCMC), which doubled the number of active mines.
D.M. Consunji, Inc. posted a lower contribution of ₱18 million, coming from ₱250 million in the previous year, due to higher project costs, delays, and conservative revenue recognition.
Concreat Holdings Philippines incurred a net loss contribution of ₱682 million, mainly due to higher interest expense and softer revenues.
Recovery efforts are underway, with improvements aimed at enhancing sales and reducing costs through operating efficiencies and distribution network optimization.
As of end-June 2025, the DMCI Group sustained a healthy financial position, reflected by a net gearing ratio of 22 percent and a current ratio of 2.4 times.

Related Tags

DMCI Holdings Inc. Isidro A. Consunji Semirara Mining and Power Corp. (SMPC) Concreat Holdings Philippines Inc. DMCI Homes
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.