ADVERTISEMENT

Philippine banks' bad loan ratio rises to 3.4% as loan growth slows, repayment lags

Published Jun 9, 2025 01:35 pm

At A Glance

  • The Philippine banking system's gross non-performing loan (NPL) ratio climbed by nine basis points (bps) to 3.39 percent in April, reversing the improvement seen in March, as loan growth slowed and more borrowers fell behind on payments, according to the central bank.
The Philippine banking system’s gross non-performing loan (NPL) ratio climbed by nine basis points (bps) to 3.39 percent in April, reversing the improvement seen in March, as loan growth slowed and more borrowers fell behind on payments, according to the central bank.
The latest data from the Bangko Sentral ng Pilipinas (BSP) showed that the banking industry’s NPL ratio rose at the start of the second quarter, from a three-month low of 3.3 percent at the end of the first quarter.
It was still lower than the 3.45-percent gross NPL ratio seen in April last year.
BSP data showed bad loans increased by 0.6 percent to ₱519.2 billion as of end-April from ₱516.1 billion in March. Year-on-year, soured loans hiked by eight percent from ₱480.6 billion in April last year.
Loans become non-performing if unpaid for at least 90 days past due date, posing a credit risk as borrowers are less likely to repay.
Philippine banks’ total loan portfolio decreased by 1.9 percent to ₱15.34 trillion as of end-April from ₱15.63 trillion in the first quarter. Year-on-year, the end-April figure jumped by 10 percent from the ₱13.94 trillion recorded at the end of April last year.
Past due loans increased by 1.1 percent to ₱653.3 billion as of April from ₱646.4 billion a month ago. It also increased by 5.7 percent from ₱618 billion in the previous year.
This brought the past due ratio to 4.26 percent, up from 4.14 percent in March but lower than last year’s 4.43 percent.
Past due loans are those where the borrower has failed to pay principal, interest, or any installment on time, including restructured loans and other financial assets.
Rizal Commercial Banking Corp. (RCBC) chief economist Michael Ricafort said that banks’ gross NPL ratio as of April increased slightly “due to slower growth in bank loans.”
Ricafort said that uncertainties over higher tariffs imposed by United States (US) President Donald Trump and trade wars “could slow down the world economy and indirectly the local economy, especially exporters.”
This, in turn, “could slow down employment, sales, incomes, and ability to pay by some borrowers, thereby leading to more NPLs than otherwise,” he said.
However, this development may be offset by the one-percent cut by the US Federal Reserve and the BSP since late last year, along with possible further cuts in the coming months.
Ricafort said these could lower borrowing and financing costs, which may help some borrowers repay their loans, especially as inflation continues to ease.

Related Tags

non-performing loan (NPL) ratio Bangko Sentral ng Pilipinas (BSP)
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.