Picture this: you’re stood in the grocery store, browsing the yoghurt aisle. In front of you, a seemingly endless selection. From low-fat and dairy-free, through to kefir, Icelandic, and probiotic, a dizzying variety of goods are on offer—and that’s before you’ve even started to think about flavour. Then, as you scan the shelves, something strange happens. Rather than making a choice, you end up walking away.
If you’ve ever experienced this phenomenon in person, then you’re not alone. In his 2012 book Troppa Scelta (Too Much Choice), Professor Gianpiero Lugli highlights what can best be described as the “variety paradox”. Choice, suggests Professor Lugli, is helpful. “Troppa scelta”, on the other hand, tends merely to be a distraction.
For retailers, this makes an already thin tightrope even harder to walk. As we’ve seen in a number of our international RPI studies1, assortment plays an important role in helping customers decide where to shop. Moreover, those retailers that get assortment right tend to outperform the competition—both commercially and in terms of shopper perceptions.
The question is, what does “right” actually look like today? With the variety paradox in mind, how do retailers find a balance between not enough choice and far too much?
To answer this question, the first thing we need to understand is that variety isn’t a linear concept. Instead, it’s a nuanced, multidimensional concern. What do I mean by that? Simply that variety means different things to different shoppers.
Key to this are the existence of “subsets” of variety. A retailer might excel at assortment generally, but struggle in areas such as natural and organic produce, own-label, or locally sourced foods. This is important, because success or failure in these areas can have a notable impact on shopper behaviours.
Take the results of some of our most recent RPI studies, for instance—those for France, Italy, and Spain.
In those studies, we found that when retailers combine a good overall assortment with a strong selection of natural and organic produce, customers tend to feel a much deeper attachment with that banner. Overarching product breadth—with depth in one specific area—gives retailers an important boost to their emotional connection with shoppers.
A similar trend exists around customer spending, where own label is the focus. Retailers that offer a good variety of own (or private) label products also tend to earn a larger share of the customer wallet. Practicality matters too, with retailers that provide a good “one stop shop” experience also likely to see higher spending, but own label is the driving force here.
Clearly, this additional nuance adds an element of complexity for retailers. As well as being “good” at assortment as a whole, they also need to deliver sufficient variety in a number of specific areas too. As a result, however, they also have an increasingly broad set of levers to pull upon when trying to meet their objectives.
The good news is that those levers are available to every retailer, too. While it might be tempting to assume that variety is solely a hypermarket-level concern, that line of thinking can only take us so far.
Evidence for that can be found in the tables for France, Italy, and Spain below. Included in each are the highest-scoring retailers for assortment in their respective region—overall, for local and organic produce, and then for own label.
France | ||
Variety: Overall | Variety: Local and Organic | Variety: Own Label |
E.LeClerc | Bicoop | Carrefour Hyper |
Carrefour Hyper | La Vie Claire | E.LeClerc |
Auchan Hyper | Naturalia | Auchan Hyper |
Cora & Houra | Grand Frais | U |
U | E.LeClerc | Cora & Houra |
Italy | ||
Variety: Overall | Variety: Local and Organic | Variety: Own Label |
Esselunga | Iper – LaGrande I | Coop |
Coop | Mercató | Esselunga |
Iper – LaGrande I | Coop | Conad |
Mercató | Esselunga | Famila |
Famila | Ali | Iper – LaGrande I |
Spain | ||
Variety: Overall | Variety: Local and Organic | Variety: Own Label |
Carrefour | Carrefour | Lidl |
Lidl | Bonpreu | Carrefour |
DinoSol/HiperDino | Gadis | Mercadona |
Alcampo | DinoSol/HiperDino | DinoSol/HiperDino |
Bonpreu | Lidl | Alcampo |
Clearly, traditional hypermarket players do perform well here. E.LeClerc, Esselunga, and Carrefour all sit at the top of their country’s ratings for variety overall. At the same time, the presence of names like Lidl and Famila tells us that creating a successful assortment isn’t just about having enough space—it’s about knowing how to use it, too.
This becomes even clearer when we look at those retailers that shoppers say have shown the greatest improvements in their assortment. Tracking satisfaction with variety over the past few years, we found that:
As might be expected, hypermarket banners including Auchan, Eroski, and Iper – La Grande I have also managed to build on their existing strengths around variety. All the same, the performance improvements demonstrated by other formats is testament to the fact that variety is an opportunity for all.
And so, back to that original question: what does “right” look like when it comes to variety today?
While it might be something of a cheat, the truth is that there is no answer to that question; not a singular one, at least. Across multiple formats, across vastly different categories, and even across different geographic locations, what’s “right” is what your customers want.
It’s about tapping into their conscious and subconscious needs—and making sure that your range serves as a genuine reflection of both.
Find your own balance between too much and not enough with dunnhumby Assortment. Refreshed and upgraded for 2024, dunnhumby Assortment includes a wealth of AI-powered features including automated planogram creation, intelligent assortment recommendations, and predictive analytics.
1 The RPI—or Retailer Preference Index—is a global research study that explores the link between shopper needs and commercial success.
Create customer-centric ranges using AI-powered science
Create customer-centric, localised assortmentsActionable insight for sustainable category growth
Understand what matters most to CustomersCookie | 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. |
vuid | Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos to the website. |
_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 installed by Google Analytics to store the website's unique user ID. |
_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. |
_hjSessionUser_{site_id} | This cookie is set by the provider Hotjar to store a unique user ID for session tracking and analytics purposes. |
_hjSession_{site_id} | This cookie is set by the provider Hotjar to store a unique session ID, enabling session recording and behavior analysis. |
_hp2_id_* | This cookie is set by the provider Hotjar to store a unique visitor identifier for tracking user behavior and session information. |
_hp2_props.* | This cookie is set by the provider Hotjar to store user properties and session information for behavior analysis and insights. |
_hp2_ses_props.* | This cookie is set by the provider Hotjar to store session-specific properties and data for tracking user behavior during a session. |
_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. |
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. |
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. |
_gcl_au | Set by Google Analytics, to take information in advert clicks and store it in a 1st party cookie so that conversions can be attributed outside of the landing page. |