A new study suggests that grocery stores could keep more food from landfills and be more profitable by adopting a practice widely used by airlines, hotels, and other industries.
By Katie Rodriguez
September 11, 2023
Avocados on sale at a grocery store in San Rafael, Calif. (Photo by Justin Sullivan/Getty Images)
Related
Picture yourself grocery shopping. In the bread aisle, you see two loaves identically wrapped; both are perfectly edible, but one is a day older and costs half the price.
In the produce section, you see two baskets of avocados. The ones in the front are ripe, will need to be eaten today, and cost 75 cents less than those in the back, which will last for a few days. Which do you choose?
This is a business practice called dynamic pricing, and it may be coming soon to a supermarket near you.
Dynamic pricing is not new; for decades, the airline, fashion, and hospitality industries have all found that dynamic pricing—the incremental adjustments to prices to reflect inventory, demand, and supply—has helped companies cut waste and save money.
In 1988, American Airlines saw that the proportion of empty seats on its planes fell from 15 percent to 3 percent when it made slight adjustments to ticket prices closer to when flights departed. In the 1990s, Marriott Hotels found that it could sell out rooms on less popular days of the week using strategic pricing that varied with the length of stay and time of year.
Can this strategy also work at grocery stores, where an estimated 119 billion pounds of food gets wasted each year?
A recent study from U.C. San Diego’s Rady School of Management suggests that it might. Robert Sanders, the study’s author, used economic models to show that if grocery retailers used dynamic pricing to adjust prices for perishable foods based on how long they’ve been on the shelves, retailers would likely dramatically curb food waste.
Sanders says this isn’t to be confused with simple last-minute clearance sales. “It’s gradual discounts throughout the shelf life of the product,” he adds. “You don’t do discounts just at the end of the last day. The price is changing throughout the [time] horizon.”
The study zeros in on the question: What does more to stop food from being wasted from grocery stores—food waste diversion systems or smart pricing strategies?
The results point to the fact that stopping waste at the source is more effective—environmentally and economically. In this case, that means finding a home for food before it reaches its “sell by” date.
The Big Downsides to Grocery Store Food Waste
Having static prices for foods that vary in freshness across their shelf lives not only doesn’t make sense, Sanders says, but is a market failure that largely contributes to food waste and therefore climate change, through the release of methane in the atmosphere. “Prices serve a very important role,” he says.
The study found that dynamic pricing could reduce food waste from grocery retailers by 21 percent. And with the high costs of groceries, especially for fresh food, lower prices can also do a lot to meet peoples’ economic needs.
Every year, about 130 billion meals, or $408 billion in food, are thrown away in the U.S., according to Feeding America. Meanwhile, roughly 25 percent of adults reported food insecurity in 2022. All of this food waste—35 percent of the U.S. food supply—results in “annual greenhouse gas emissions equivalent to those of 42 coal-fired power plants,” according to a reportreleased by the EPA in November 2021.
Across the country, states have begun to implement strategies to divert food waste from their landfills. Vermont established a universal recycling law that requires separation and diversion of food scraps from the waste stream. Several states, including Minnesota, Texas, Pennsylvania, and Massachusettshave food recovery systems to collect and donate edible food to food banks.
California, which has a reputation for leading on environmental issues, has a goal to divert 75 percent of food waste from landfills by 2025 by mandating residential and commercial organic waste collection systems and edible food recovery programs across the state.
We’ll bring the news to you.
Get the weekly Civil Eats newsletter, delivered to your inbox.
Sign up today
Sign up today
While creating such systems, especially the infrastructure to separate food waste to turn into compost, are critical to the fight against climate change, there is also a growing emphasis on prevention. For example, legislators have introduced bills such as AB 660 to mandate clear labeling and better education around how shoppers should be interpreting “sell by,” “use by,” and “best by” dates—which have been widely shown to confuse people and lead to edible food getting discarded.
Sanders sees all of these efforts as necessary to effectively reduce waste. “They’re complements; I don’t think they’re substitutes,” he says. “Even if dynamic pricing reduces waste 50 percent, there’s still going to be 50 percent of the waste that’s there.”
Some think asking large retailers to change their pricing structures in such a significant way, however, is too large of a task. Nick Lapis, director of advocacy for Californians Against Waste, says that although it could be a helpful strategy, the average retailer doesn’t want to be seen as selling anything but fresh food.
“Most stores are really concerned about their brand image and want to be seen as selling premium products,” Lapis says. “Selling produce is not the same as selling airline tickets.”
But with proper education, Sanders thinks that dynamic pricing could be used as an opportunity to help more customers understand the meaning of these discounts. “It can be done in a really classy way, if you actually frame it as a sustainable discount [and] you put signage indicating this is for the benefit of waste reduction,” he says.
The Role of Technology in Dynamic Pricing
Successfully implementing dynamic pricing means tracking what’s on the shelf in real time—and that will require coordination between grocery retailers, manufacturers, and point-of-sales systems. Technology can and does play a significant role in managing inventory data, which can also be labor intensive and inconsistent.
Barcodes, one of the bigger barriers to implementing dynamic pricing, could be used to communicate to grocery retailers not only when to mark down their food items, but how often.
“The standard UPC barcode doesn’t track physical items and doesn’t track expiration dates,” says Sanders. “They may know the total number of SKUs, how much they have on the shelves, but there is nothing in that barcode that tells them when it’s going to expire. But this technology actually exists—GS1 extended barcodes—you often see it used for expensive things.”
At the grocery store level, technology varies with each retailer, making a transition to a more nuanced system to track individual items a challenging task. Errol Schweizer, an industry expert who led the national grocery program at Whole Foods for almost a decade, says that what this study points to is the pitfalls of inventory management, notoriously a weakness amongst grocery stores in terms of forecasting and holding on to the right amount of inventory.
“There are a lot of hurdles to [implementing dynamic pricing],” Schweizer says. “I think it’s theoretically possible, but it’s another one of those things—do they have the right enterprise system? Do they have the labor? What’s their financing?” Yet, he added, those are all decisions a retailer can choose to make if it was committed to cutting out waste. “This isn’t rocket science.”
For a grocery store to be able to change prices throughout the day means either paying someone to apply markdown stickers in real time, or investing in the technology to automatically adjust the price displayed.
Thank you for being a loyal reader.
We rely on you. Become a member today to read unlimited stories.
Become a member
Become a member
Companies like Wasteless, a startup based in Israel and the Netherlands, have helped stores in Europe and soon, in the U.S., integrate a technology that uses artificial intelligence to help capture data to study how products move within stores. Using an algorithm, the technology is able to understand how fresh products move and take into account how customers react to freshness and respond to discounts.
“We see a lot of differences between store locations,” says Tomas Pasqualini, Wasteless’ vice president of global operations. He explains that in residential areas where people shop once a week, they might look for products that have a longer shelf life than stores where people shop daily or multiple times a week.
In the store, Wasteless deploys electronic shelf tags that adjust pricing in a way that corresponds to specific expiration dates, which are encoded in the products’ barcodes. Wasteless reports that hundreds of its partner stores have reduced food waste by 39 percent.
But the greatest challenge, Tomas says, is introducing disruptive technologies in an industry that’s a bit more technologically traditional. Wasteless will be put to the test soon when it launches its service at a Midwestern supermarket chain later this year.
Sanders, the study’s author, stresses that reducing waste may be a good reason for disruption. “When prices function properly, they allocate all of the goods and services,” he says. “But when prices don’t work in the right way, when prices can’t adjust flexibly because the item is going to expire, that actually has a social cost.”
Katie Rodriguez was a 2023 summer intern at Civil Eats, supported by a U.C. Berkeley-11th Hour Food and Farming Journalism grant. She is a 2023 graduate of U.C. Berkeley’s Graduate School of Journalism and a reporter from the Investigative Reporting Program. Katie is passionate about telling stories of environmental health, climate policy, agriculture, and marine food systems. Her work has appeared in Inside Climate News, USA Today, Outside, and more. She is based in San Francisco and very excited about the Yucatán banana leaf tamales she recently discovered in her neighborhood. Read more >
Like the story?
Join the conversation.
September 12, 2023
Katie, thank you for a wonderful article. I've just written and referenced a podcast episode of Food Safety in a Minute on food waste reduction in grocery stores.
Nahid Fawi
September 13, 2023
Very informative and interesting really liked it
Read more about
- Business
- Crash Course
- Food Waste
Related
More from
Food Waste
Zero-Waste Grocery Stores in Growth Mode as Consumers Seek to DitchPlastic
By Christina Cooke
June 10, 2024
Can AI Help Cut Plastic Waste From the FoodSystem?
By Lisa Held
June 3, 2024
Restaurants Create a Mound of Plastic Waste. Some Are Working to FixThat.
By Meg Wilcox
May 28, 2024
Getting Schooled on Preserving and Storing Food With CivicKitchen
By The Civil Eats Editors
May 20, 2024
Featured
By Naoki Nitta
June 24, 2024
The author’s new book unveils the transformative impact that manufactured chill has had on our food system—and the frosty consequences of cold-chain dependence.
Our Summer 2024 Food and Farming BookGuide
By The Civil Eats Editors
June 20, 2024
How Specialty Recycling Companies Reduce PlasticWaste
By Tilde Herrera
June 18, 2024
An Effort to Reduce Plastic Waste Just Died in the New York Legislature
By James Bruggers, Inside Climate News
June 17, 2024
Medically Important Antibiotics Are Still Being Used to Fatten UpPigs
By Lisa Held
June 12, 2024
Popular
Op-ed: Neonicotinoid Pesticides Keep Killing Pollinators. Here’s How We CanHelp.
By Elizabeth Hilborn
June 11, 2024
On Farms, ‘Plasticulture’Persists
By Grey Moran
June 5, 2024
Oral History Project Preserves Black and Indigenous Food Traditions
By Liz Susman Karp
June 4, 2024
Pesticide Industry Could Win Big in Latest Farm BillProposal
By Lisa Held
May 29, 2024
'; userWithoutSessionInfo.classList.add('wk-user-update-info'); userWithoutSessionInfo.insertAdjacentHTML('beforeend', infoBlock); authForm.parentNode.insertBefore(userWithoutSessionInfo, authForm); authForm.style.display = 'none'; document.addEventListener('click', hideUserWithoutSessionInfo); } signInSubmitSpinner.style.display = 'none'; return true; }); window.wk.events.subscribe("success-auth", function ({register}) { let userWithoutSessionInfo = document.querySelector('.wk-user-update-info'); if(userWithoutSessionInfo) { hideUserWithoutSessionText(); } if (register) { subscribeSignUpNewsletters(); const extra_groups = []; /** Location data */ extra_groups.push({ group_key: "signup-info", field_key: "signup-location", field_value: window.location.href }); /** UTM data */ let utm_data = getUTMdata(); if (utm_data.length>0) { utm_data.forEach(item => { extra_groups.push({ group_key: "signup-info", field_key: item[0], field_value: item[1] }); }) } /** saving data: */ window.wk.sdk.methods.client.put({ path: '/user/extra/data', data: { extra_groups: extra_groups } }).catch(error => { console.log(error.response.error, 'error'); }); } }); async function subscribeSignUpNewsletters() { let tags = { 598: true } await window.wk.sdk.methods.client.put({ path: '/integrations/activecampaign/user/tags', data: { tags: tags } }).then(function (response) { console.log('SUBSCRIPTION SUCCESS', response); }).catch(function () { console.log('SUBSCRIPTION ERROR'); }); } function getUTMdata() { let query = window.location.search.substring(1); let vars = query.split('&'); let utm_data = []; for (let i = 0; i < vars.length; i++) { let pair = vars[i].split('='); pair.forEach((item, index) => { try { pair[index] = decodeURIComponent(item); } catch (e) { } }); if (pair[0] === 'utm' || pair[0].startsWith('utm_')) { utm_data.push(pair); } } return utm_data; } window.wk.events.subscribe('wk-event-checkout-success', function (value) { const extra_groups = []; /** Location data */ extra_groups.push({ group_key: "payment-info", field_key: "payment-location", field_value: window.location.href }); /** UTM data */ let utm_data = getUTMdata(); if (utm_data.length>0) { utm_data.forEach(item => { extra_groups.push({ group_key: "payment-info", field_key: item[0], field_value: item[1] }); }) } /** saving data: */ window.wk.sdk.methods.client.put({ path: '/user/extra/data', data: { extra_groups: extra_groups } }).catch(error => { console.log(error.response.error, 'error'); }); }); } }); function hideUserWithoutSessionInfo(e) { switch(e.target.id) { case 'auth-signup-link': case 'auth-modal-close-btn': case 'auth-modal-wrapper': case 'auth-password-link': hideUserWithoutSessionText(); break; } if(e.target.classList.contains('wk-form-button')) { hideUserWithoutSessionText(); } } function hideUserWithoutSessionText() { let userWithoutSessionInfo = document.querySelector('.wk-user-update-info'); let authForm = document.querySelector('#wk-email-auth-form'); document.removeEventListener('click', hideUserWithoutSessionInfo); userWithoutSessionInfo.remove(); authForm.style.display = 'block'; let authFormHeaderError = document.querySelector('#wk-email-auth-form .wk-form .wk-form-header .wk-form__error'); if(authFormHeaderError) { authFormHeaderError.style.display = ''; } } function wkSignInButtonModify() { let menuSignInButtons = document.querySelectorAll('.wkwp-user-my-account-button'); if (menuSignInButtons.length > 0) { menuSignInButtons.forEach(element => { element.classList.remove('wkwp-user-my-account-button', 'wk-call', 'wk–sign-in'); element.classList.add('custom-wkwp-user-my-account-button'); }); } document.addEventListener('click', (e) => { if (e.target.classList.contains('wallkit-sign-in-cta') || e.target.classList.contains('custom-wkwp-user-my-account-button')) { e.preventDefault(); if (typeof window.wk.authentication !== 'undefined' && window.wk.authentication.isAuthenticated()) { // user authenticated } else { window.wk.authentication.show('sign-in'); } } }); } function wkShowUserStatus() { let wkSettings = window["wallkitSettings"] || {}; let wkCallClass = wkSettings.integration.call.classForHandleClick || 'wk-call'; let wkTranslations = window["wallkitTranslations"] || {}; const accountStatusSpanEls = document.querySelectorAll('.custom-wkwp-user-my-account-button'); if (!accountStatusSpanEls.length) { return; } if (window.wk.authentication.isAuthenticated()) { if (accountStatusSpanEls.length > 0) { accountStatusSpanEls.forEach(element => { element.innerHTML = wkTranslations.my_account || 'MyAccount'; element.classList.add(wkCallClass, 'wk–account-settings'); element.style.display = 'block'; }); } } else { if (accountStatusSpanEls.length > 0) { accountStatusSpanEls.forEach(element => { element.classList.remove(wkCallClass, 'wk–account-settings'); element.innerHTML = wkTranslations.sign_in || 'Signin'; element.style.display = 'block'; }); } } let topSignIn = document.querySelector('header nav .wrapper-menu-buttons .custom-wkwp-user-my-account-button'); if(topSignIn) { topSignIn.style.display = 'inline-block'; } } async function setWisepopsArgs() { if (window.wk.authentication.isAuthenticated()) { if (!window.wk.sdk.methods.user.email) { await window.wk.sdk.methods.client.get({ path: '/user' }) .then((responce) => { if (responce.id > 0 && responce.id === window.wk.sdk.methods.user.id) { window.wk.sdk.methods.user = responce; } }, (error) => { console.log('ERROR:', error); }); } wisepops("properties", { firstName: window.wk.sdk.methods.user.first_name, lastName: window.wk.sdk.methods.user.last_name, authentication: true, plan: window.wk.sdk.methods.user.subscriptions[0].plan.title, priceTier: window.wk.sdk.methods.user.subscriptions[0].title }); } } function wkCheckPostAccess() { if (typeof window.wallkitPostData.config !== "undefined" && typeof window.wallkitPostData.data.type !== "undefined" && window.wallkitPostData.data.type === 'post' && typeof window.wallkitPostData.data !== "undefined" && typeof window.wallkitPostData.data.id !== "undefined" && window.wallkitPostData.data.id !== '' ) { const postInfo = window.wallkitPostData.data; const wkPost = new window.wk.content(postInfo); const postContentWrapper = document.querySelectorAll(".wrapper-content-story .row > *"); let topElement = document.querySelector("#pico .wrapper-content"); let paragraphs = topElement.querySelectorAll('.wrapper-content-story .post-single-left p'); // let wkContentAfterEls = document.querySelectorAll(".wrapper-content-story .row .post-single-left .post-simple"); if (!topElement || !paragraphs.length) { return; } wkPost.checkAccess().then((response) => { if (!response.allowed) { let showParagraphs = paragraphs.length > 2 ? 2 : paragraphs.length - 1; var paragraphsHTML = ''; for (var i = 0; i <= showParagraphs; i++) { paragraphsHTML += `
` + paragraphs[i].innerHTML + `
`; } showWKPaywall(topElement, paragraphsHTML); if (postContentWrapper.length) { postContentWrapper.forEach((e) => { if (!e.classList.contains('sidebar-right')) { e.classList.add('wk-content-paywall'); } }); } let paywallBlockLoginLink = document.querySelector('.wallkit-paywall-block__login_plans'); if (paywallBlockLoginLink) { if (window.wk.authentication.isAuthenticated()) { paywallBlockLoginLink.style = "display:none;"; } else { paywallBlockLoginLink.style = "display:block;"; } } } else { if (postContentWrapper.length) { postContentWrapper.forEach((e) => { if (!e.classList.contains('sidebar-right')) { e.classList.remove('wk-content-paywall'); } }); } let wkPaywallBlock = document.querySelector(".wkwp-paywall-block-wrapper"); if (wkPaywallBlock) { wkPaywallBlock.parentNode.removeChild(wkPaywallBlock); } } if (postContentWrapper) { postContentWrapper.forEach((e) => { if (!e.classList.contains('sidebar-right')) { e.classList.add('wk-content-active'); } }); } }).catch((error) => { console.log('!! wkPost ERROR', error); }); } } function showWKPaywall(contentNode, paragraphsHTML) { let wkSettings = window["wallkitSettings"] || {}; let paywallBlockContent = document.querySelector(".wkwp-paywall-block-wrapper"); if (!paywallBlockContent) { paywallBlockContent = document.createElement('div'); paywallBlockContent.classList.add('wkwp-paywall-block-wrapper', 'wrapper-content', 'wrapper-content-story'); paywallBlockContent.insertAdjacentHTML('beforeend', `
${paragraphsHTML} ${wkSettings.config.paywall.content}
`); contentNode.parentNode.insertBefore(paywallBlockContent, contentNode); } }})();