ADVERTISEMENT

Power plant outages drive up WESM prices in July

Published Aug 6, 2025 12:25 pm
'Tis the season for planned and unexpected power plant outages, as the Independent Electricity Market Operator of the Philippines (IEMOP) reported a three-percent spike in the system average price of the Wholesale Electricity Spot Market (WESM).
In a briefing on Wednesday, Aug. 6, IEMOP head of trading operations Isidro Camacho noted that the overall average spot market price climbed to ₱3.99 per kilowatt-hour (kWh) during the July billing, higher than the previous month’s record of ₱3.86/kWh.
The system supply in the WESM dropped by 3.2 percent to 20,754 megawatts (MW) in July, while demand eased by five percent to 13,812 MW.
Among the three regions, Visayas posted an 11.7-percent increase in the average price to ₱4.39/kWh, whereas Mindanao had a 7.2-percent jump in its average price to ₱3.80/kWh.
Luzon only saw a 0.4-percent increment in its price to ₱3.92/kWh in July; however, it saw a larger decrease in demand compared to the two other regions, with a 6.6-percent decline in its demand.
The average supply of Luzon stood at 14,540 MW, which was 3.6-percent lower than June’s figures; Visayas’ supply saw a four-percent decline to 2,530 MW, while Mindanao’s supply only trickled down by one percent to 3,685 MW.
Camacho said that the slight increase in WESM prices was affected by major power plant shutdowns during the first and second weeks of the July billing month, coupled with a fallen demand driven by cooler temperatures and the rainy season.
Based on July figures, Camacho said, “What affected the slight increase is because of the season of power plant outages. Remember, we didn’t have [outages] during the summer, so now they’re entering, and we see a slight reflection [in] our July transaction.”
“The demand dropped, but at the same time, supply has also gone down… It hasn’t reached to a point where we would have any alerts,” he said, citing the July performance.
Yellow alerts
August opened with a series of yellow alerts on the Visayas grid, which has already seen four such alerts this month. In contrast, Mindanao experienced only one yellow alert on Aug. 1.
Camacho said that there could be a potential increase in spot market prices moving forward due to these signals.
“We expect increase in price. But, as I’ve said earlier, hopefully, it’s not going to be higher compared to last year. Our fearless projection is it will play somewhere between ₱4 [and] ₱5 on average,” he said.
“Hopefully, if [prices] increase in Visayas, maybe it will be an additional 30 centavos. Our expectation here is we don’t see it exceeding ₱5 or maybe ₱5 based on our initial projection… But we will see a slight increase.”
Earlier on Wednesday, National Grid Corp. of the Philippines (NGCP) scheduled the Visayas grid on yellow alert from 3 to 4 p.m. and 5 to 7 p.m.
This is issued when the operating margin is not enough to meet the transmission grid’s contingency requirement.
According to NGCP, a total of 725.2 MW remains unavailable to the grid. Apart from the high demand, 11 plants have been on forced outage from April to August.
Six other power plants were also down since 2023, while four are running on derated capacities.

Related Tags

Independent Electricity Market Operator of the Philippines (IEMOP) Wholesale Electricity Spot Market (WESM) 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; } }

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