ADVERTISEMENT

Jollibee eyeing record profits in 2026 despite spending cuts

Published Mar 10, 2026 04:07 pm
Jollibee Foods Corp., the local fast-food giant that has grown into one of Asia’s largest restaurant operators, is forecasting record operating profits this year as it pivots toward leaner spending model and aggressive store expansion.
In a disclosure to the Philippine Stock Exchange, Jollibee said the company expects operating income to climb between 15 percent and 18 percent in 2026.
The optimistic outlook comes even as the group slashes its capital expenditure budget by as much as 28 percent amid shift toward higher capital efficiency and disciplined growth.
Jollibee is projecting system-wide sales—a measure of all sales to consumers from both company-owned and franchised stores—to grow eight percent to 12 percent this year.
Same-store sales, a key industry metric, are estimated to rise by four percent to six percent. To fuel this growth, the company plans to open between 1,200 and 1,300 new outlets, representing a network expansion of five percent to 10 percent.
Despite the ambitious rollout, Jollibee is tightening its belt on spending. Capital expenditures for 2026 are pegged at ₱13 billion to ₱16 billion, a significant reduction from the ₱18.0 billion to ₱21.0 billion allocated in the previous year.
Richard Shin, Jollibee chief financial and risk officer, said the strategy relies on “strong cash generation and disciplined capital allocation” to maintain top-line momentum.
The 2026 targets follow a robust performance in 2025, where Jollibee saw attributable net income rise 5.4 percent to ₱10.9 billion.
Operating income for that year jumped 19.3 percent to ₱20.1 billion, aided by a 30-basis-point improvement in margins as the company optimized administrative and advertising costs.
The fourth quarter of 2025 was particularly strong, with operating income surging nearly 42 percent to ₱4.1 billion, the highest quarterly result in the company's history.
Ernesto Tanmantiong, Jollibee chief executive officer noted the outsized performance of the company’s coffee and tea segment, which saw system-wide sales soar 44.9 percent last year.
The international business also remains a primary engine for the group. In Vietnam, Jollibee’s largest market outside the Philippines, sales surged 40.4 percent, while the United States business grew by 17.3 percent. The acquisition-heavy strategy of recent years also bore fruit via Compose Coffee, which saw sales skyrocket 217 percent in 2025.
In the Philippines, the home market remained resilient. System-wide sales grew 9.6 percent last year, led by the flagship Jollibee brand and the chicken rotisserie chain Mang Inasal.
While higher financing costs and tax provisions tempered the net income growth rate relative to operating profits, Tanmantiong said the company enters 2026 focused on sustaining the “long-term growth runway” established by the record 1,126 store openings completed last year.

Related Tags

Jollibee Foods Corporation Ernesto Tanmantiong Richard Shin
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.