ADVERTISEMENT

Philippine transmission rates rise to ₱1.46/kWh as backup power costs surge

Published Jul 15, 2026 02:29 pm
Households and businesses face higher electricity bills this month after the country’s private grid operator raised transmission rates, driven by the double-digit surge in the cost of securing backup power reserves.
Julius Ryan Datingaling, National Grid Corporation of the Philippines (NGCP) revenue management head, said the grid operator increased its average transmission rate to ₱1.4604 per kilowatt-hour (kWh), a 0.77 percent uptick from the previous month.
The adjustment will be passed on to distribution utilities and electric cooperatives, which will then reflect the higher costs in consumers’ July billing cycles.
Datingaling said the primary driver behind the rate hike was a 10.18 percent spike in ancillary service rates, which climbed to ₱0.7955 per kWh in June from ₱0.7220 per kWh a month earlier.
Ancillary services are the reserve power capacity that NGCP purchases to maintain grid stability and prevent blackouts during sudden supply imbalances or power plant outages. These charges are pass-through costs, meaning the grid operator recovers them directly from consumers on behalf of power generation companies.
However, the rate movements varied significantly across the country’s main island grids.
In Luzon and Mindanao, a slowdown in electricity consumption failed to offset the rising cost of securing backup reserves, resulting in higher overall ancillary service fees for consumers in those regions.
On the other hand, the Visayas grid—which has been plagued by near-constant power supply strain, enduring roughly 60 days of red and yellow grid alerts since May—experienced a decline in ancillary service charges.
The NGCP official explained that the substantial surge in electricity demand in the Visayas effectively diluted the system’s overall backup costs, distributing the financial burden across a much larger volume of consumed power.
Datingaling noted that unlike standard transmission wheeling rates—where price movements generally align directly with changes in energy consumption—ancillary service rates are highly sensitive to the balance between reserve procurement costs and actual consumer demand.
Addressing the persistent grid instability in the Visayas, NGCP spokesperson Cynthia Alabanza said that the yellow and red alerts, which signal thin power reserves and potential rolling blackouts, were primarily caused by power plant outages rather than transmission bottlenecks. This generation deficit directly impacts NGCP’s ability to secure backup power.
“They are the same power plants that provide ancillary services,” Alabanza said. “So when these power plants go out, there's a very big likelihood that the suppliers of NGCP for ancillary services are also affected.”
NGCP stressed that it does not retain the revenue from these ancillary service charges. Instead, the collected fees are remitted directly to the generation companies supplying the reserves and to the Independent Electricity Market Operator of the Philippines, which manages the wholesale electricity spot market.

Related Tags

NGCP transmission lines Electricity bills National Grid Corporation of the Philippines (NGCP)
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; } }

{{ static_articles_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.