ADVERTISEMENT

BSP: December inflation likely to stay below 2% despite holiday pressures

Published Dec 29, 2025 09:39 am  |  Updated Dec 29, 2025 05:30 pm
(Photo by Keith Bacongco | MB)
(Photo by Keith Bacongco | MB)
Inflation is likely to fall below the government’s target band for the 10th straight month in December, even as the Bangko Sentral ng Pilipinas (BSP) sees the Christmas holiday season lifting prices.
In a statement on Monday, Dec. 29, the BSP forecast this month’s headline inflation to settle within the range of 1.2 to two percent, with the upper end of the projection touching the lower bound of the two- to four-percent goal deemed as manageable annual price increases conducive to economic growth.
“Upward price pressures may come from increased prices of major food items due to the lingering effects of adverse weather and strong holiday demand, as well as higher liquefied petroleum gas (LPG) and gasoline prices,” the BSP said.
“These pressures could be partly offset by lower electricity prices in Manila Electric Co. (Meralco)-serviced areas and declining kerosene and diesel prices,” it added.
The central bank said it will continue to closely monitor local and global developments that could affect inflation and economic growth and will adjust its policies based on incoming data.
As of end-November, headline inflation averaged just 1.6 percent. Each month since March, year-on-year price hikes have been below two percent.
Private-sector economists expect inflation to end 2025 at a nine-year-low average.
For instance, think tanks Capital Economics and Moody’s Analytics projected this year’s inflation rate to average 1.6 percent, which, if realized, would be the lowest in nine years, or since the 1.3 percent recorded in 2016, based on historical Philippine Statistics Authority (PSA) data.
Moody’s Analytics, in particular, had forecast December inflation at 1.6 percent, inching up from November’s 1.5 percent.
The two think tanks see inflation rising to 2.3 percent next year due to low base effects this year, as well as the lingering impact of natural disasters that struck in the fourth quarter of 2025.
The country is currently under a state of national calamity following the widespread destruction caused by Typhoon “Tino.”
The state of national calamity, declared by President Ferdinand R. Marcos Jr. last month, automatically triggered a 60-day price freeze—or until early January 2026—on basic necessities nationwide under the Price Act, or Republic Act (RA) No. 7581.
This means prices of items such as canned goods, noodles, water, coffee, and soap must remain at pre-typhoon levels, with the departments of Trade and Industry (DTI) and of Agriculture (DA) enforcing compliance to prevent overpricing.
Despite upward price pressures, expectations of within-target inflation in the near term could allow the Bangko Sentral ng Pilipinas (BSP) to further cut key interest rates, alongside a potential reduction in banks’ reserve requirement ratio (RRR).
The policy rate currently stands at 4.5 percent, following the 25-basis-point (bp) cut this month.
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.