ADVERTISEMENT

ERC sets new capacity limits for national, regional power grids

Published May 29, 2026 11:13 am
The Energy Regulatory Commission (ERC) has imposed new limits on the maximum market share power generation companies can control in the country’s regional and national grids, part of its regulatory push to curb monopolies and foster competition in the sector.
The ERC updated the installed generating capacity figures for the Luzon, Visayas, and Mindanao grids on Thursday, May 29, setting firm market share caps mandated under the Electric Power Industry Reform Act (EPIRA). The adjustments come as the regulator seeks to maintain a level playing field amid influx of renewable energy projects and battery storage systems.
Under the updated guidelines, the regulator capped individual market share in the dominant Luzon grid at 30 percent, which equates to 6,127 megawatts out of the region’s total capacity of 20,422 megawatts. Luzon accounts for the bulk of the country's economic output and electricity demand.
Similar 30 percent regional limits were applied to the central and southern islands. In the Visayas, where total grid capacity stands at 3,478 megawatts, the individual market share cap is now set at 1,043 megawatts. For the Mindanao grid, which has a total capacity of 4,295 megawatts, the individual company limit is pegged at 1,288 megawatts.
On a national level, the ERC enforced a stricter 25 percent market share cap. With the country’s aggregate national grid capacity now measured at 28,197 megawatts, no single power generation company will be permitted to control more than 7,049 megawatts of that total.
The updated limits are designed to protect consumers from potential price manipulation and ensure a transparent operating environment. Industry dynamics in the country have historically been dominated by a handful of large conglomerates, making enforcement of these caps critical for independent power producers looking to enter the market.
To determine the new thresholds, the regulator utilized the Maximum Stable Load (Pmax), of existing generation facilities. This metric calculates the limits based on the actual, maximum dependable output a power plant can consistently sustain, rather than its theoretical nameplate capacity.
The baseline figures are expected to shift as the country accelerates its transition toward green energy. Billions of pesos in investments are currently flowing into solar, wind, and battery energy storage systems, which will eventually expand the overall grid capacity and alter the math behind the current market caps.
Healthy competition in the power sector is essential to ensuring a reliable electricity supply and protecting consumers from unreasonable prices, ERC Chairperson Francis Saturnino Juan said in a statement.
By regularly updating the capacity and market share limitations, the regulator helps prevent market dominance and promotes a level playing field for all industry participants, Juan added.
The ERC noted that the resolution allows the agency to more accurately reflect the actual operating capacities of power plants nationwide, ensuring that competition remains fair and beneficial to end-users facing volatile electricity costs. (Gabriell Christel Galang)

Related Tags

Energy Regulatory Commission (ERC)
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.