Prices are rising everywhere. In some places wages are also increasing, but for most prices are rising faster than wages and so in real terms, incomes are decreasing. And as real incomes fall, the amount that individuals and households spend on food will also fall.
Retailers must respond to these inflationary pressures to remain competitive and stay relevant to their customers. dunnhumby already has some great articles and insight outlining how retailers can navigate these inflationary environments – listen to this podcast for example, or see this post on our Consumer Pulse research or this post on how retailers can respond. But let’s take a deeper dive into what economics can tell us from the customer perspective and about how shoppers may respond. And in turn, how retailers should use this customer-centric insight.
But before we progress, there are some caveats to make:
As real household incomes decrease, an economic rule, Engel’s law[3], tells us that the proportion of the income that is spent on food will increase. How quickly the proportion of income spent on food changes as household income decreases is quantified by another elasticity - the income elasticity of food expenditure. However, we need to exercise caution here. Engel’s law is a statement about a cross-section of households – lower income households spend a greater proportion of their income on food compared to higher income households. Engel’s law has also been observed in historical timeseries data but what happens within a specific household over the next one to two years is more difficult to determine. For example, in the UK we are seeing significant inflation in energy costs. Those energy price rises are typically above the rate of food price inflation and so will put downward pressure on the proportion of income that is spent on food. Some households will have to make real and difficult choices between heating and eating. We can be certain though that the typical absolute spend on food will decrease and shoppers will seek out value for their food spend. Let’s look at how shoppers will go about seeking out that value-for-money.
Consumers have multiple options to choose between. And where they have choices they switch between them, especially where one option is perceived to provide the same value or service but at a cheaper price. What are those options for switching? Customers can switch any of the following,
If a retailer does not understand the reasons why shoppers switch products and/or categories, then they may find themselves at the mercy of shoppers switching retailers. Micro-economics studies how consumers make those switching choices and what the key drivers are, so let’s take each of those choices in turn.
If a retailer increases the price of a supermarket product the volume of sales will go down. This is the law of demand we introduced in the previous post and is because shoppers are sensitive to price. How sensitive? How much will the sales volume go down?
If the price of only that single product is increased, then the direct price elasticity of demand of that product helps us quantify how much the sales of that product will fall. We introduced the direct price elasticity of demand also in our previous blog post.
The reduction in sales is because shoppers are switching to cheaper products in the sub-category or deciding not to buy in the sub-category at all. Here, we are talking about switching between products that essentially perform the same function, and differ largely only in price and perceived quality, for example, different brands of tins of tomatoes. The decision the shopper is making here is a straight-forward one – can I get the same for less, or can I get better for the same price?
Clearly, we expect to see less attrition from the less price-sensitive products. These will be the products with the larger market share within the sub-category. For brands, building market share without having to reduce profit margins to unsustainable levels is where brand value and brand loyalty become important – this is when CPGs will see any long-term historical investments in brand value pay off.
Stronger brands may maintain volumes or experience smaller decreases, whilst own-label value products will be the beneficiaries of mid-market brands that pass on cost increases onto the shopper. For a retailer, where a sub-category does not have a dominant CPG brand offering, a well-priced own-label product is a must (or opportunity). Where a sub-category does have a dominant brand offering an own-label product may only gain small amounts of market share and would have to be priced at a noticeable discount to make inroads.
Where prices are increased on multiple products in a sub-category at once, we obviously expect significant attrition of shoppers from the sub-category, as well as multiple inflows and outflows between products. The least attrition will occur from high basket penetration sub-categories.
To precisely quantify the product-level attrition and net changes in sales volume in these circumstances we would also need to know the various cross-price elasticities of demand, and so it is important that any model of sales demand used is capable of estimating the various cross-price elasticities as well as the direct-price elasticities.
Finally, it is clear that knowing which products and sub-categories that shoppers are price sensitive to is essential. These products and sub-categories are the Key Value Items (KVIs) that shoppers care most about. A retailer will need to be price-competitive on these KVIs to remain relevant to the shopper in these inflationary times, and to prevent the shopper ultimately switching retailers.
Food expenditure elasticities of various broad food groups are typically close to 1, with small cross-elasticities, meaning that spend on a particular food group/category simply scales near linearly with the total food budget. So, shoppers typically don’t change the mix of their basket that much in response to a small change in overall food budget, and we would expect to see them simply reduce spend across the board.
For larger reductions in budget, shoppers will make more radical adaptations to their shopping. Econometric theory says those adaptations will take place over long timescales – over short timescales customers are less price sensitive because they haven’t yet worked out what adaptations to make, and so most likely will reduce volume or switch to cheaper retailers in response to a large budget reduction. However, what defines the ‘short-run’ timescale? The natural timescale is the purchase/consumption cycle. Given for most grocery goods consumption cycles are short (under one month), we would expect that customers that have experienced larger income reductions will have already begun to adapt their category and product purchase patterns.
What form might those changes to category purchase patterns take? When customers switch between products it is because those products are substitutes – they fulfil the same need or perform the same function. Switching between categories can occur when two categories are seen as fulfilling a similar function at a higher level. What would those higher levels be? Calories and volume. So, we will see switch to cheaper and less-perishable categories, for example, a switch out of fresh to frozen, or a switch from more expensive protein sources to cheaper protein sources, e.g., from beef to chicken.
That we will see shoppers leave discretionary categories is a no-brainer. These are more likely to be low-basket penetration categories. Higher-priced discretionary categories will certainly see outflows. However, lower priced discretionary categories could see inflows if shoppers view them as a radical substitute for a higher-level need, e.g., providing an uncommon source of protein. These larger shifts will emerge over longer timescales and within the more heavily income impacted shopper segments.
Shoppers have a choice of retailers. They can in principle substitute one mid-market grocery retailer for another mid-market grocery retailer, or one value retailer for another value retailer. In practice, there are barriers to switching retailers. Shoppers will often gravitate to the closest physical store within their price-bracket because there are costs associated with doing multiple trips – time costs and transport costs. Consequently, shoppers traditionally don’t multi-stop shop. Previously this has meant that the retailer that wins a shopper’s custom for one or two of their KVIs will typically win the shopper’s entire basket. The winner-takes-all nature of this competition means that retailers have traditionally been willing to sacrifice significant profit margin to ensure they win. A pre-Covid econometric study of the UK market suggests that the big UK supermarkets were willing to sacrifice up to 50% of their potential margin[4].
How will this change in the post-Covid inflationary environment? One of the obvious impacts is increased price sensitivity due to the reduced household income. There are multiple facets to this, one of which is that shoppers will be willing to spend more time searching out low prices.
Economic theory says that whilst the potential benefit (finding a cheaper price) of continuing to search for lower prices outweighs the cost (of the shopper’s time), then the shopper will continue to search[5]. With falling real incomes, the effective value of a shopper’s time has been reduced, and so they are willing to search for longer than before to find the same price savings.
As shoppers spend more time in price comparison, they will become aware of, and hence sensitive to, the prices of a wider range of products, thereby increasing the range of KVIs that retailers will need to be competitive on. A secondary consequence of extending the number of KVIs into the tail of the retailer’s assortment is that retailers may begin to see the differentiation between customers, segmented by which of the lower basket penetration KVIs matter to those customers. When we consider just a small number of the most important KVIs these are likely to all have high basket penetration and so are important to all customers. When we consider a longer list of KVIs, we are likely to be looking at products that can be important to just a subset, albeit a large subset, of customers. Retailers will need to serve this increased KVI differentiation whilst keeping the costs to do so down. This will only be possible for retailers that know and understand their customer base better by having a customer-first approach.
With shoppers increasingly seeking out value, their willingness to multi-stop shop should increase, and online has an important role to play here. The Covid pandemic has resulted in increased online grocery shopping in some geographies and so at first sight the fact that information gathering is notionally easier for online shopping means we would expect multi-stop online shopping to increase in these inflationary times. The reality will be more complex. Delivery costs are a non-negligible percentage of an online grocery shop, acting as a disincentive to shoppers spreading their online shopping across multiple retailers. Potentially, there are also other, cognitive, disincentives to multi-stop shopping.
Omni-retailers such as Amazon offer alternatives to multi-stop online shopping whilst keeping delivery costs down for the shopper. With an increasing number of shoppers becoming comfortable with online grocery shopping this may cause the middle ground of retailers to become squeezed, with shoppers being attracted to the very big online players and the very small niche providers. Specialisation and particularly collaboration[6] will then become a key mechanism by which those mid-size retailers can remain competitive.
In times like this, when customers are facing a range of inflationary pressures, with huge variation across country and income, retailers and CPGs must respond to these inflationary pressures to remain competitive and stay relevant to their customers. While much of this piece has focused on the uncertainty ahead, and likely routes that the industry could take, one thing remains certain: it has never been more crucial for retailers and brands to keep the customer at the heart of every decision.
[1] Estimated UK annual inflation rate (CPI) for year up to July 2022, at time of writing – 25 August 2022. The CPI value was retrieved from www.ons.gov.uk/economy/inflationandpriceindices/timeseries/d7g7/mm23
[2] See https://twitter.com/ONS/status/1531191505649541120 for the social media press release and this ONS website for details of the analysis.
[3] See https://en.wikipedia.org/wiki/Engel%27s_law
[4] Thomassen et al., American Economic Review 107:2308-2351, 2017
[5] Stigler, J. Political Economy 69:213-225, 1961, Marmorstein et al., J. Consumer Research 19:52-61, 1992
[6] See this recent dunnhumby post on how retailers should use data to drive their collaboration strategy - https://www.dunnhumby.com/resources/blog/supplier-collaboration/en/do-you-have-the-right-data-to-drive-your-collaboration-strategy/
Cookie | Description |
---|---|
cli_user_preference | The cookie is set by the GDPR Cookie Consent plugin and is used to store the yes/no selection the consent given for cookie usage. It does not store any personal data. |
cookielawinfo-checkbox-advertisement | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
cookielawinfo-checkbox-analytics | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Analytics" category . |
cookielawinfo-checkbox-necessary | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
CookieLawInfoConsent | The cookie is set by the GDPR Cookie Consent plugin and is used to store the summary of the consent given for cookie usage. It does not store any personal data. |
viewed_cookie_policy | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
wsaffinity | Set by the dunnhumby website, that allows all subsequent traffic and requests from an initial client session to be passed to the same server in the pool. Session affinity is also referred to as session persistence, server affinity, server persistence, or server sticky. |
Cookie | Description |
---|---|
wordpress_test_cookie | WordPress cookie to read if cookies can be placed, and lasts for the session. |
wp_lang | This cookie is used to remember the language chosen by the user while browsing. |
Cookie | Description |
---|---|
CONSENT | YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data. |
fs_cid | This cookie is set by FullStory to store the user’s cookie consent preferences for session tracking. |
fs_lua | This cookie is set by FullStory to record the time of the user’s last activity, helping manage session timeouts. |
fs_uid | This cookie is set by FullStory to assign a unique ID to each user and record session replays and interactions. |
osano_consentmanager | This cookie is set by FullStory’s consent management system (Osano) to store the user’s cookie consent preferences and ensure compliance with privacy regulations. |
osano_consentmanager_uuid | This cookie is set by FullStory’s consent management system (Osano) to uniquely identify a user’s consent session for consistent consent tracking. |
vuid | Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos to the website. |
yt-remote-device-id | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt.innertube::nextId | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
yt.innertube::requests | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
_fs_tab_id | This temporary session value is used by FullStory to track user activity across multiple tabs. |
_ga | The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognise unique visitors. |
_gat_gtag_UA_* | This cookie is set by Google Analytics to throttle request rates and limit data collection on high-traffic sites. |
_ga_* | Set by Google Analytics to persist session state. |
_gid | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
_lfa | This cookie is set by the provider Leadfeeder to identify the IP address of devices visiting the website, in order to retarget multiple users routing from the same IP address. |
__q_state_* | This cookie is set by FullStory to track session state and user interactions across page views. It helps rebuild session context for accurate session replay and analytics. |
Cookie | Description |
---|---|
aam_uuid | Set by LinkedIn, for ID sync for Adobe Audience Manager. |
AEC | Set by Google, ‘AEC’ cookies ensure that requests within a browsing session are made by the user, and not by other sites. These cookies prevent malicious sites from acting on behalf of a user without that user’s knowledge. |
AMCVS_14215E3D5995C57C0A495C55%40AdobeOrg | Set by LinkedIn, indicates the start of a session for Adobe Experience Cloud. |
AMCV_14215E3D5995C57C0A495C55%40AdobeOrg | Set by LinkedIn, Unique Identifier for Adobe Experience Cloud. |
AnalyticsSyncHistory | Set by LinkedIn, used to store information about the time a sync with the lms_analytics cookie took place for users in the Designated Countries (which LinkedIn determines as European Union (EU), European Economic Area (EEA), and Switzerland). |
bcookie | LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognise browser ID. |
bscookie | LinkedIn sets this cookie to store performed actions on the website. |
DV | Set by Google, used for the purpose of targeted advertising, to collect information about how visitors use our site. |
ELOQUA | This cookie is set by Eloqua Marketing Automation Tool. It contains a unique identifier to recognise returning visitors and track their visit data across multiple visits and multiple OpenText Websites. This data is logged in pseudonymised form, unless a visitor provides us with their personal data through creating a profile, such as when signing up for events or for downloading information that is not available to the public. |
gpv_pn | Set by LinkedIn, used to retain and fetch previous page visited in Adobe Analytics. |
lang | Session-based cookie, set by LinkedIn, used to set default locale/language. |
lidc | LinkedIn sets the lidc cookie to facilitate data center selection. |
lidc | Set by LinkedIn, used for routing from Share buttons and ad tags. |
li_gc | Set by LinkedIn to store consent of guests regarding the use of cookies for non-essential purposes. |
li_sugr | Set by LinkedIn, used to make a probabilistic match of a user's identity outside the Designated Countries (which LinkedIn determines as European Union (EU), European Economic Area (EEA), and Switzerland). |
lms_analytics | Set by LinkedIn to identify LinkedIn Members in the Designated Countries (which LinkedIn determines as European Union (EU), European Economic Area (EEA), and Switzerland) for analytics. |
NID | Set by Google, registers a unique ID that identifies a returning user’s device. The ID is used for targeted ads. |
OGP / OGPC | Set by Google, cookie enables the functionality of Google Maps. |
OTZ | Set by Google, used to support Google’s advertising services. This cookie is used by Google Analytics to provide an analysis of website visitors in aggregate. |
s_cc | Set by LinkedIn, used to determine if cookies are enabled for Adobe Analytics. |
s_ips | Set by LinkedIn, tracks percent of page viewed. |
s_plt | Set by LinkedIn, this cookie tracks the time that the previous page took to load. |
s_pltp | Set by LinkedIn, this cookie provides page name value (URL) for use by Adobe Analytics. |
s_ppv | Set by LinkedIn, used by Adobe Analytics to retain and fetch what percentage of a page was viewed. |
s_sq | Set by LinkedIn, used to store information about the previous link that was clicked on by the user by Adobe Analytics. |
s_tp | Set by LinkedIn, this cookie measures a visitor’s scroll activity to see how much of a page they view before moving on to another page. |
s_tslv | Set by LinkedIn, used to retain and fetch time since last visit in Adobe Analytics. |
test_cookie | Set by doubleclick.net (part of Google), the purpose of the cookie is to determine if the users' browser supports cookies. |
U | Set by LinkedIn, Browser Identifier for users outside the Designated Countries (which LinkedIn determines as European Union (EU), European Economic Area (EEA), and Switzerland). |
UserMatchHistory | LinkedIn sets this cookie for LinkedIn Ads ID syncing. |
UserMatchHistory | This cookie is used by LinkedIn Ads to help dunnhumby measure advertising performance. More information can be found in their cookie policy. |
VISITOR_INFO1_LIVE | A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface. |
YSC | YSC cookie is set by YouTube and is used to track the views of embedded videos on YouTube pages. |
yt-remote-connected-devices | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
_gcl_au | Set by Google Tag Manager to store and track conversion events. It is typically associated with Google Ads, but may be set even if no active ad campaigns are running, especially when GTM is configured with default settings. The cookie helps measure the effectiveness of ad clicks in relation to site actions. |