From the shows we watch to the products we buy, and even the way that we look after our health, personalisation is starting to become commonplace in just about every aspect of our daily lives. Whether we’re being recommended a film based on what we’ve watched before, or having car dashboards built around the way that we drive1, organisations everywhere are tailoring their services around our specific needs.
In grocery retail, the situation is usually a little more complex. Grocery stores operate at a level of frequency and volume that’s unheard of elsewhere – dealing with tens of thousands of items, and millions of individual customers. As a result, the level of personalisation that might work for a clothing store or a bookseller typically isn’t enough to meet the demands of a grocery business.
That’s particularly true when it comes to the concept of predictive personalisation. Here, grocery retailers can use data science to make insightful predictions about which items each customer will need and buy in the future, and issue timely, tailored offers and promotions on those goods. That’s valuable, because it gives customers what they need when they need it, and helps retailers drive sales.
Personalisation at this kind of scale is complex, and isn’t something that the majority of “traditional” CRM and MarTech systems can deliver. At the same time, it’s not uncommon for grocery retailers to invest in those platforms believing that they can. That’s a problem – particularly when a retailer has already gone to a lot of time and expense integrating a system, only to find out that it doesn’t do everything they need it to.
So how do grocery retailers make sure that they’re delivering the right level of personalisation to shoppers? And what do they need to make it a success?
To deliver predictive personalisation at scale, you need three things: rich, long-loop customer data, the right analytical techniques to draw insights from it, and a personalisation system that can simultaneously process and act on those insights.
The data itself is perhaps the most readily available of the three. Most grocery retailers today are already in possession of everything they need, equipped as they are with online and offline purchasing records as well as corresponding loyalty data. Turning that raw information into insights then becomes a case of applying the right data science.
There are many different models that can be used to drive personalisation from customer data, but two in particular are highly effective. The first is what we call “product affinities”, which are something of an inversion of typical categorisation techniques.
In a normal grocery store, products are ordered in a way that makes most sense for a customer when browsing the shelves. Peanut butter, jam, honey, and marmalade will all sit together, for instance. Product affinities disregard that, and instead focus on which items go together in a customer’s basket by using longitudinal behaviour: honey and bread, for instance, or spirits and mixers.
These affinities vary for every retailer in every market, but at their core they help us understand different customer need states, and the way that people shop. That in turn helps us make smart predictions about what they might want next. A customer who frequently buys breakfast pastries might also need butter, coffee, and orange juice, for example.
The second technique that tends to get used here is what can best be described as “people like me” clusters. These clusters group together customers who buy similar products, and provide a weighting against other items. If you and two other people buy 30 similar items, there’s a high chance that you might be interested in something else they’ve bought as well, after all.
Underpinning these models are things like category scores. These provide an overview of how engaged a customer is with a certain category, and are calculated through a deep analysis of an individual’s activity in a specific category to determine their engagement and individual purchase cycle. By comparing their purchase frequency against the average for all shoppers, category scores help retailers understand whether a customer over- or under-indexes in a specific area.
In combination, and with many other machine learning techniques applied, all of this helps to create a “segment of one” for each customer – a comprehensive map of their past behaviours and likely future needs. That map allows us to create propensity scores that tell us how likely someone is to buy a specific item within a given timeframe. This goes all the way down to individual SKU level.
As you can imagine, the scale that we’re talking about here is absolutely massive. dunnhumby’s own science engine generates around 15,000 unique data points for every shopper, and refreshes those daily based on new actions and behaviours. It’s that level of granularity that allows us to create recommendations and personalised offers that are tailored so specifically to individual shoppers.
A great example of this in practice is via our Onsite Sponsored Ads solution. Using the kind of analysis described above, we can predict with some degree of certainty when a customer is most likely to be shopping for a specific item. The nature of Online Sponsored Ads means that brands can bid to have an advert for that product shown to that shopper at just the right time, and in a way that’s entirely natural within the layout of the retailer’s website.
The customer gets what they need when they want it, the brand gets to maximise the effectiveness of their advertising budget, and the retailer makes a sale while also generating media revenues. Everyone wins.
Scale is one of the biggest challenges facing retailers around predictive personalisation, and not just in terms of the data. As mentioned above, many retailers have started to put their own personalisation foundations in place in the form of CRM systems, despite the fact that these platforms can’t always deliver in the way that they really want them to.
The question then, of course, is whether grocery retailers should take the data they have and attempt to build out their own capabilities in order to process, analyse, and action that information themselves.
I think the best answer here is to think about predictive personalisation in the way that we thought about cloud computing around five or six years ago. While cloud was initially something that retailers were sceptical of, preferring the familiarity of their own hardware and infrastructure, the power, performance and cost-effectiveness the cloud providers bought to the market became impossible to ignore.
Just like cloud, there’ll be a point in the near future where predictive personalisation will be an absolute necessity for any grocery business. And again, just like cloud, there’s little need for grocery retailers to spend the time and money building and maintaining their own systems when highly advanced alternatives already exist.
For the vast majority of grocery retailers, the route to predictive personalisation already exists, with their rich base of customer data serving as the perfect starting point. All that’s needed to start that journey is the ambition to take that first step.
1The Next Level User Experience of Tesla’s Car Dashboard – Adobe Blog
Truly understand your Customers and unlock your Customer First transformation with Strategy Development, Research & Insights and Organisation Engagement
Build a differentiated Customer strategyHelping brands get the most from retail media
Audience Targeting 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. |
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. |