Retail & Neo4j: Customer Experience Personalization

To remain viable, today’s retailers must be nimble enough to face their colossal online competition while also addressing another new reality of retail: The customer is now at the center of the value chain.

In order to adapt to these new realities, retailers must have real-time control of inventory, payment, and delivery systems. However, real-time responsiveness is difficult for traditional retailers slowed down by legacy infrastructure.

Nowhere is such nimbleness and real-time responsiveness required as in the management and personalization of the customer experience.

Learn how Neo4j is used for customer experience personalization with this global retailer case study

In this series on Neo4j and retail, we’ll break down the various challenges facing modern retailers and how those challenges are being overcome using graph technology. In our previous post, we covered personalized promotions and product recommendation engines.

This week, we’ll discuss customer experience personalization.

Why Customer Experience Personalization Is Critical

Retailers can personalize the online customer experience by serving relevant content based on the customer’s desires, interests, and needs. Doing so improves customer engagement and is likely to lead to increased revenue and customer loyalty.

For example, by serving relevant blog posts beside product descriptions, retailers can portray themselves as experts on how to use a particular product. Customers will increase their visits – and purchases – because they know they can get valuable information from a reliable source.

Retailers can also use path analytics to help improve outcomes. This involves analyzing customer behavior leading up to a purchase and using that data to guide customers along a more profitable path. This may entail adjusting content, or changing where a link takes future customers.

Retailers can also identify a dimension shared by a group of customers and cluster them based on these attributes. For example, customers could be clustered around the attribute of having (or not having) children, or customers could be clustered based on profession and tenure, such as an early-career engineer versus a seasoned VP of marketing.

Different dimensions of consumers have different responsibilities and incomes, and therefore different buying habits. Retailers can use this information to personalize content for each customer.

The Essential Role of Graph Technology

Retailers have plenty of data that can be used to determine the best paths and content to serve customers. That includes data pertaining to products, markets, social media, master data, digital assets, and the like. However, this data often resides in information silos, making it difficult to consolidate and identify opportunities to serve customers the most relevant content.

When it comes to combining all these data sources into a personalization engine, relational databases can’t do complex recommendation computations in real time.

You could move the data into Hadoop or a data warehouse to pre-compute recommendations for each customer, but the recommendations will always be slightly out of date. In addition, it is inefficient to pre-compute recommendations for an entire customer base every day when only a small portion of the customer base visits the website on any given day.

Rather than forklift all customer data into a centralized system, a graph database allows you to keep data where it is and add a graph analysis overlay.

Each customer can be given a department identifier, which is then tied back to the main customer identifier. The identifier for each department or line of business consists of individual identifiers, resulting in a two-overlap graph of each customer. This allows you a view of the bigger picture of the customer relationship and to quickly navigate back into the original systems anytime a customer interacts with the company.

Case Study: Global Sporting Goods Retailer

A global leader in the sporting goods industry wanted to offer a more personalized experience to its online customers. Unlike other online retailers that offer static content to all website visitors, this sporting good retailer wanted to serve content based on user interests, local languages, regional sporting news and market-specific product offerings.

There was just one problem: The data required to provide personalized web experiences was spread across various information silos.

“We have many different silos, many different data domains, and in order to make sense out of our data, we needed to bring those together and make them useful for us,” said a senior project manager.

On a technical level, data models didn’t align between information silos, and there wasn’t a standard, consistent way to communicate between the different data domains. Rather than consolidate all the data into a single place, the project manager wanted to create a “Shared Metadata Service” that would allow employees to categorize and search for content across every platform and division within the enterprise.

The Shared Metadata Service would also allow the Group to target audiences with content organized by language, country, sport and athlete. In addition, the Service would need to include search engine optimization (SEO) for content and be able to govern the roles for who has rights to change data and ownership of employees to ensure high quality data.

The Neo4j graph database proved to be ideal for creating the Service, offering access and searchability to all relevant data, along with support for emerging services. In order to implement the Shared Metadata Service on Neo4j, the engineering team had to first unify the different models between content, product data and master data.

With the help of Neo4j consultants, the retailer’s team defined an optimal data model that connects all three domains, relating information as diverse as marketing campaigns, product specifications, contracted athletes and associated teams, sports categories, gender and more.

Today, the Neo4j-powered Shared Metadata Service has two million nodes with nearly ten million relationships, but for the sporting goods retailer, this is only the first step. The ultimate goal is to build a recommendation engine that uses Neo4j to offer relevant, real-time suggestions to online shoppers.


Customer experience personalization is a pass/fail operation: Either an experience delights a customer by offering the right content, context or recommendation at exactly the right moment, or the effort fails and a customer grows frustrated at an irrelevant experience.

The best way to deliver personalized customer experiences is to use a database platform natively designed to store customer context – i.e., relationships to various interconnected factors – and retrieve that related data in real time. The only connected data platform that perfectly meets those requirements is Neo4j.

In the coming weeks, we’ll take a closer look at other ways retailers are using graph technology to create a sustainable competitive advantage, including ecommerce delivery service routing, supply chain visibility, revenue management and IT operations.

It’s time to up your retail game:
Witness how today’s leading retailers are using Neo4j to overcome today’s toughest industry challenges with this white paper, Driving Innovation in Retail with Graph Technology. Click below to get your free copy.

Read the White Paper

Catch up with the rest of the retail and Neo4j blog series: