ADVERTISEMENT

Banks' bad loan ratio eases to 3-month low in March as lending accelerates

Published May 18, 2026 12:00 am  |  Updated May 16, 2026 02:40 pm

At A Glance

  • Philippine banks' bad loan ratio improved to 3.29 percent as of end-March 2026, marking a three-month low as lending growth accelerated at a faster pace than the growth in soured loans.

Philippine banks’ bad loan ratio improved to 3.29 percent as of end-March, marking a three-month low as lending growth accelerated at a faster pace than the increase in soured loans.

The latest Bangko Sentral ng Pilipinas (BSP) data showed that the banking industry’s gross non-performing loan (NPL) ratio narrowed in March from 3.33 percent in February and 3.31 percent in January.

March’s bad loan ratio was the lowest since the 3.07 percent recorded in December 2025. Bad loans last March likewise stood below the 2025 peak of 3.5 percent reached in August.

At end-March, the value of gross NPLs increased by approximately 2.7 percent to ₱568.6 billion from ₱553.7 billion last February. Year-on-year, soured loans grew by 10.2 percent from ₱516.1 billion in March 2025.

Loans are classified as non-performing if they remain unpaid for at least 90 days past the due date, representing a credit risk as the likelihood of repayment diminishes.

At the end of the first quarter, the Philippine banking system’s total loan book swelled by nearly four percent to ₱17.26 trillion from ₱16.6 trillion in February. Compared with the same period in 2025, the total loan portfolio grew by more than 10 percent from ₱15.63 trillion.

Past-due loans rose by 2.9 percent to ₱736.2 billion in March from ₱715.7 billion last February. They also increased by 13.9 percent from the ₱646.4 billion recorded in March last year.

Despite the increase in volume, the past-due ratio improved to 4.26 percent at the end of the first quarter, down from 4.31 percent in February and 4.28 percent last January. This ratio was higher than the 4.14 percent seen in March 2025.

Past-due loans refer to accounts where the borrower has failed to pay the principal, interest, or any other amount due on the scheduled date.

Rizal Commercial Banking Corp. (RCBC) chief economist Michael Ricafort said the lower bad loan ratio may have been largely driven by faster loan growth, which expanded the base compared with the slower increase in NPLs.

Banks, he said, have also become more cautious in managing credit risk and have tightened lending standards amid geopolitical tensions involving Iran and the broader Middle East region as a precautionary measure.

“Faster growth in bank loans could be attributed to some frontloading of borrowing requirements as part of hedging requirements in terms of purchases and investments before inflation and lending rates go up further due to the Middle East war,” Ricafort added.

For the months ahead, however, Ricafort said the Philippine economy could moderate due to the ongoing war, which has increased pressure on prices and economic activity—“all of which could reduce the ability to pay for some borrowers and lead to higher NPLs and NPL ratios.”

Global debt watcher S&P Global Ratings likewise said earlier that domestic banks could face a potential surge in soured loans as tensions in the Middle East threaten to disrupt the domestic economy.

Related Tags

Bangko Sentral ng Pilipinas (BSP) Michael Ricafort Banks
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.