Supermarkets have changed. While the overall format has remained the same for decades, subtle shifts have also begun to alter the way that we browse and buy. More than anywhere else, that can be seen in the sheer volume and variety of products on offer.
Just a few decades ago, the average store carried around 7,000 different items[1]. In an interview with Michel-Édouard Leclerc published just last year, he estimated that his banner carries anywhere between 30,000 to 50,000 individual products[2]. Obviously, this isn’t just a case of retailers squeezing more products on to their shelves. Instead, that huge increase relates mainly to a dramatic – and ongoing – evolution within individual categories.
The dairy category provides a perfect example of this in practice. Not too long ago, customers browsing those aisles would have been presented with a fairly simple set of choices when it came to something like milk. Beyond the core issues of price and brand, the selection process would largely be limited to whether a shopper wanted full-fat, semi-skimmed, or skimmed.
That’s no longer the case. Someone shopping for milk today faces an abundance of choice, particularly in the area of alternatives. Even a smaller retailer can offer everything from soya and almond milk through to specific flavours, formulations, and nutritional varieties like lactose free and high protein. What was once a simple decision is now a nuanced and, in many ways, deeply personal choice.
While dairy serves as a strong example of category evolution, it is far from the only one. Similar developments can be found everywhere from the bakery aisle, where bread and other products continue to diversify, through to soft drinks. Enhanced water, for instance, was largely non-existent just a few years ago. Now, it accounts for a not insignificant share of the category and is projected to grow from $6.79bn in 2021 to more than $10bn by 2027.
Sometimes, the introduction of new products such as these can affect multiple categories at once.
Take hard seltzer, for example, a drink that began taking the North America grocery market by storm around 2018. Before that product became as popular as it is today, shoppers would buy vodka (or other spirits) and soda to mix at home. Hard seltzer’s emergence into the zeitgeist, however, affected both the alcohol and soft drinks categories at once, attracting a raft of new customers – particularly younger shoppers and those with an interest in “healthier” (or, at least, lower-calorie) alcoholic beverages.
Naturally, that kind of trend is one that most retailers would like to be able to spot in advance.
One of the other major factors at play here is the significant rise in consumer expectations around personalisation. What began online has now become an all-pervasive part of shopping as a whole, with customers now wanting personalised experiences in both the physical and digital worlds.
Continuing category evolution serves to strengthen those perceptions; the more a category evolves, and the more specific products that are available, the more likely it is that customers will expect those goods to be available – no matter where they shop. That makes things complex from a format perspective, with retailers needing to think about how to deliver a superstore-like experience at convenience store level.
The presence of large online retailers only exacerbates this issue. When shoppers can’t get exactly what they want from a physical store, the likes of Amazon, La Belle Vie, and Cajoo provide them with the option of having even the most specific of grocery products delivered direct to their door in 24 hours or less.
So, how exactly do traditional grocery retailers respond to this challenge? Online, this is a (somewhat) easier thing to address. Just so long as you have the right, localised delivery capabilities in place, you can offer a range that’s as rich and varied as you – and your customers – like.
In store, that task is made much harder, because you need to have a very accurate picture of what individual customers within each catchment want. And, as categories continue to evolve, the situation becomes increasingly complex; physical stores don’t tend to get any bigger, but the number of products that customers might want is continually growing.
Fundamentally, the answers here revolve around the need to build individual planograms on a store-by-store basis. This is a complex endeavour, though, since doing so relies on both a deep understanding of individual preferences and the ability to spot emerging trends such as the hard seltzer example mentioned above.
Because of that, managing category evolution successfully means that retailers now require deep insight into the things that matter most to their customers, and there are two reasons for that:
dunnhumby Assortment provides retailers with insight into key products, not just in terms of those that need to be on the shelf, but also which items can be delisted based on factors like overlap, substitutability, and poor performance. Using real-world data from customers – including their shopping behaviours and basket contents – Assortment offers crucial guidance on which products should and shouldn’t be on the shelf and why.
Evidence of Assortment’s effectiveness can be seen in our work on a major category reset for one South African retailer. We found that the retailer’s range had grown to the extent that, rather than providing customers with a useful selection, it instead contained numerous duplicates and an excessive number of variants.
Using Assortment in tandem with another analytical tool by the name of dunnhumby Shop, we were able to see that 27% of the retailer’s products could safely be delisted. In doing so, the retailer was able to reduce its stock holding costs by 6% while simultaneously creating a better and more streamlined experience for its customers.
Not only does this kind of insights-driven approach to category evolution give you the ability to be smarter about managing customer needs, it also gives you the chance to lean in to emerging opportunities more easily. Exclusive innovation, where retailers partner with brands to release limited run products solely in their stores, can meet highly specific needs and enable them to own the moment around certain trends.
Category evolution is a continual process, of course, which means that your insights – and the critical customer and loyalty datapoints that power them – also need to be continually updated, something that we can attest to in our work for clients around the world.
At the same time, managing that evolution successfully is no mere defensive measure; done right, it can also be a platform for growth for those retailers (and consumer packaged goods brands) that want to lead the market as it continues to evolve, an “always on”, data-driven approach to category evolution is now imperative.
[1] Grocery stores carry 40,000 more items than they did in the 1990s – Market Watch, 17th June 2017
[2] Entretien. Michel-Édouard Leclerc : "Notre rôle, c'est de faire barrage à la spéculation et à un mur d'inflation" – La Dépêche, 8th June 2022
Create optimal ranges with retailers to achieve your assortment goals
Assortment Optimisation & Planning solutionsCookie | 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. |