ADVERTISEMENT

Panic buying amid war: Oil shock drives sari-sari stockpiling surge—Packworks

Published Apr 23, 2026 10:53 am

Sari-sari stores recorded a 90-percent surge in sales in March as rising global oil prices triggered widespread stockpiling among micro-retailers and households, according to homegrown tech startup Packworks.

In a statement on Thursday, April 23, Packworks said that based on over one million transactions via its Sari.PH Pro app, gross merchandise value (GMV) across its network of 300,000 stores reached ₱3.73 billion in March, up from ₱1.97 billion in February.

The sharpest spike occurred on March 21, when GMV surged by 265 percent following announcements of double-digit fuel price hikes last March 17, prompting store owners to preemptively stock up ahead of expected increases in logistics and retail costs.

Packworks quoted a sari-sari store owner from Uson town in Masbate province as saying: “Nag-stock up kami dahil natatakot kaming maubusan ng paninda at magkaroon ng delay sa delivery mula sa mga supplier.”

Packworks noted that in some areas, delivery lead times have stretched to three weeks, pushing retailers to shift toward bulk purchasing of fast-moving goods.

Average basket sizes rose significantly, expanding from ₱337 to ₱1,097 in February to ₱597 to ₱1,560 in March, while transaction volumes increased by only 17 percent, indicating fewer but larger purchases per visit.

“With growing uncertainty and rising oil and commodity prices, our data suggests that sari-sari store owners are proactively adjusting their purchasing strategies. Larger basket sizes and increased inventory levels indicate a shift toward preparedness for potential supply disruptions and rising costs,” said Packworks chief data officer Andoy Montiel.

Regionally, Cordillera Administrative Region (CAR) posted the highest increase in basket size at 101.7 percent (₱773 to ₱1,560), followed by National Capital Region (NCR) at 85 percent (₱396 to ₱733), and Bangsamoro Autonomous Region in Muslim Mindanao (BARMM) at 80.2 percent (₱495 to ₱892).

Top-selling categories included cigarettes, detergent, gin, powdered coffee, and chips and dips. Cigarettes led with an increase of around ₱234 million, followed by detergent at ₱116 million, gin at ₱66 million, powdered coffee at about ₱55 million, and chips and dips at ₱45 million. Other essentials such as soda, biscuits, powdered milk, and canned goods also posted gains.

“As the backbone of local communities, sari-sari stores continue to demonstrate resilience in times of disruption. However, they remain highly vulnerable to price fluctuations and logistical challenges, highlighting the need for continued support,” said Packworks chief platform officer Hubert Yap.

Related Tags

Packworks sari-sari stores Middle East war oil price hike
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.