ADVERTISEMENT

Chinese New Year traditions drive surge in sari-sari store sales—Packworks

Published Feb 16, 2026 01:40 pm

Filipinos are turning tradition into shopping this Chinese New Year, with homegrown tech startup Packworks forecasting a 10-percent climb in sales and a four-percent rise in transactions as shoppers flock to sari-sari stores to buy multiple “prosperity” items symbolizing luck and abundance.

“The data reveals that items linked to abundance and luck, such as hopia, Chinese wine, and Asian noodles, posted sales increases, reflecting how Filipino beliefs influence consumption during the occasion,” Packworks said in a report on Monday, Feb. 16.

Packworks analyzed over a million transactions across 300,000 stores from 2023 to 2025 using its Sari IQ platform, tracking holiday-related sales before and after Chinese New Year.

Hopia, a round Chinese pastry symbolizing “togetherness and good fortune,” saw median gross merchandise value (GMV) rise 20 percent in 2025, up from 14 percent in 2023. Central Visayas led the surge with a 240-percent jump in sales and a 200-percent increase in transactions, reflecting the region’s strong Chinese cultural influence, particularly in Iloilo province.

Chinese wine, used for “holiday toasts and prosperity wishes,” jumped 36 percent in GMV in 2025, up from three percent in 2023. Growth was nationwide, led by Central Luzon with 100-percent annual sales increases, while Eastern Visayas rose from 72 percent in 2023 to 115 percent in 2025, reflecting the Filipino tradition of “tagay,” or communal drinking.

Asian noodles, representing “long life,” rebounded 10 percent in 2025 after a three-percent decline in 2024. Central Visayas saw the highest sales growth at 25 percent, while Western Visayas led in transactions at 25 percent. Central Luzon and Eastern Visayas maintained steady growth over the three years.

Andoy Montiel, Packworks chief data officer, said the patterns highlight the strong link between Filipino cultural practices and purchasing behavior.

“Our historical data underscores how deeply traditional beliefs and cultural influences are embedded in the Filipino psyche, proving that commerce is inseparable from culture. The sales trends show that for the average Filipino, Chinese New Year isnt just a holiday, but a window for ‘investing’ in prosperity. These cultural nuances are mirrored in the sari-sari store ecosystem, proving that in our local market, heritage often leads the hand that shops,” Montiel said.

Packworks noted that the Filipino “prosperity basket” also covers holiday kitchen staples. Soy sauce rose nine percent in 2025, while seasoning granules and monosodium glutamate (MSG) grew seven percent, and cooking oil climbed 13 percent in sales and transactions. Sweet items like chocolates and sugar, symbolizing a “sweet” year ahead, also saw gains, with chocolates up 36 percent and sugar maintaining momentum after a 47-percent spike in 2024.

Hubert Yap, Packworks co-founder and chief platform officer, said, “Our latest insights prove that to stay relevant, brands and fast-moving consumer goods (FMCGs) must move beyond passive stocking and traditional distribution toward a hyper-localized, insight-led strategy.”

“By aligning product availability with these deeply ingrained cultural cues, brands can capture the latent demand that often goes unseen in modern trade, effectively turning cultural nuances into a competitive advantage at the grassroots level,” he added.

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.