A dunnhumby perspective by Julie Sharrocks and David Ciancio
Nearly a half century ago now, during the summer of 1974, the first grocery store scanner was installed in a Marsh supermarket in Troy, Ohio. The very first barcode-scanned item was a pack of Juicy Fruit gum. Little did grocers then imagine the many transformative consequences that would arise from that scanner and a bit of chewing gum.
The science that enabled the scanner – from the laser to the UPC label (Universal Product Code) to the computer device that held the product details and prices and recorded the transactional details – were miracles of invention. But it’s the science that developed in analysing the scanner’s transactional details that is arguably more transformational to the retail and manufacturing and research industries, as this science drives the modern supply chain from end-to-end, Category Management and supplier collaboration, store labour productivity, and all applications of Customer Data Science including CRM, insights and personalisation.
Simply, scanners revolutionised data itself, creating vast Electronic Point of Sale (ePOS) logs of every item, every coupon, every discount, every payment, in every transaction in every store, every day for the past 47 years.
Not widely understood is the truth that this ePOS data accurately describes Customer behaviour if you know how to look for it – and ePOS data can be mined to improve the Customer experience and grow loyalty, and operationalised and monetised, in ways similar to loyalty data.
Again today, there’s a new transformational science for non-personalised data that is enabling rich shopper insights for channels and value propositions without a loyalty card, and in those formats and departments where loyalty card penetration is low (for those with cards). In fact, this powerful new ePOS science delivers many more of the benefits of Customer data science than retailers might think are available, including deep insights to improve decisions in assortment, pricing, and promotion.
The key difference between ePOS data and ‘loyalty’ data is about individual Customer identifiability and addressability – and these differences might be overrated, depending on your Customer value proposition and your market or channel!
ePos data:
Masked data:
Tokenised data:
Loyalty data:
Foundational Customer Data Science
The arrival of loyalty data (in the mid-1990s) enabled dunnhumby – the first of the Customer data scientists – to follow shoppers through their purchasing over time. This so-called longitudinal analysis meant we could see which products were bought again and again by the same Customer, and what choices Customers made to substitute a product in the event of out of stock, change in assortment, or change in price or promotion, for examples. Understanding product substitutability became the bedrock of all Customer-led category science, unlocking the ability to evaluate, optimise, and predict retail decisions around assortment or price & promotion.
Exploiting every ounce of data
Of course, not all retailers desire to offer loyalty programmes or cards, depending on their strategy or Customer value propositions, and particularly in discount and convenience channels.
Moreover, even at best, the typical retailer sees 70% of sales going through on loyalty cards (and often considerably less for convenience formats or certain Customer segments). Squeezing every bit of available data for use is critically important, and so gone are the days when the remaining 30% of ‘ePOS’ data would be simply thrown away.
A blended approach wherein the best of ePOS science and the best of Customer science together is superior, and increasingly necessary for making difficult retail decisions in an ever-disrupted retail environment.
Accordingly, data science has had to evolve to derive product substitutes without the personally identifiable and longitudinal data that was originally fundamental to the science itself. Fortunately, science and machine learning has evolved considerably as well. For example, dunnhumby seized on the hot new science called ‘vector embeddings’, already used widely in natural language processing, via our Academic Partnership programme.
Cool and powerful new ePOS data science
Vector embedding techniques are used widely for search terms and document retrieval. The ‘vectors’ are like fingerprints in that each word has a unique numerical string (vector) depending on the context it is found it relative to other words in the same document or webpage. The idea is that words with closely matched fingerprints (similar vectors) have similar meanings.
Now here’s the cool bit – we take the concept and apply it to the world of grocery shopping, but instead of a word in the context of a document, we have a product in the context of a basket. In looking across the contents of all the baskets where we find a given product, we create a fingerprint for that product. For example – we find that a certain type of coffee is often bought with orange juice and croissant. In the simplest sense, orange juice and croissant, and the absence of other products, would become the fingerprint for this product. And if we look for products with a similar fingerprint, we are likely led to other coffee products.
Imagine greatly fine tuning this science on thousands of products in millions of baskets; not only can this science become extremely powerful, but arguably even more powerful than loyalty card-derived methods alone.
Our legacy in Customer data has made us experts in non-personalised data
This type of unsupervised machine learning is not straightforward to implement. In category science, for example, there is no absolute truth to point the machine to, no true north, no objective function against which to model or measure the new results. For example, some put Pepsi Max as the best substitute for product Coke Zero, whilst others argue for Diet Pepsi; either can be correct.
dunnhumby have two great advantages in 25+ years of experience with hundreds of category management experts in the top retailers all over the world, and in a well-proven substitution science based on personalised Customer (loyalty) data. This meant that we could compare ePOS substitutability versus our best-in-class Customer substitutability and challenge the results for both. The comparisons concluded that ePOS substitutability science well complements and supplements existing Customer science.
Cool Convenience channel applications of ePOS data science
Convenience store operators face unique challenges over their supermarket chain counterparts, like different ranges and sets by store or franchise, and this creates data complexities and a kind of ‘chaos’ across the network. The new ePOS data science turns this chaos to an asset rather than a barrier, by using machine learning techniques like recommender algorithms to learn relationships in volatile environments.
Collaborative filtering is a type of recommender algorithm used by many websites to suggest products to their Customers, e.g., “shoppers with similar interests to you also liked product X.” In effect, these algorithms learn from chaotic product interrelationships to understand “people like me”. In the new ePOS science, similar recommendation algorithms learn from other convenience stores how well a product performs in the context of a certain category range, and the resulting science delivers a “store like me” recommendation that outperforms the typical approach (which only looks at top selling items, for example).
Don’t underestimate the value of non-loyalty ePOS data: Key takeaways
dunnhumby have over 25 years of expertise in transformational ePOS customer data science, working with Discount, Convenience, and customary supermarket operators without a traditional loyalty programme. Get in touch with your local dunnhumby team to discover how you could maximise your ePOS data to better understand your Customers.
Truly understand your Customers and unlock your Customer First transformation with Strategy Development, Research & Insights and Organisation Engagement
Build a differentiated Customer strategyCookie | 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. |