Graph-Powered Recommendations: Hybrid Scoring and Graph Data Science


Recommendation engines have become a crucial component of modern applications of all types. This core need has triggered a shift from relational and big-data approaches to graph-based technologies that are purpose-built to handle the rigorous demands of real-time recommendations.

This week, in blog four of our five-part series on graph-powered recommendations, we take a look at the phases inherent in a recommendation app. We also cover a CPG company that uses graph-based recommendations to fill open positions with internal talent and give an overview of Neo4j graph algorithms.

The Foundation: The Neo4j Graph Database


The foundation of the Neo4j Intelligent Recommendations Framework is a graph database of the customers, products, services, vendors and suppliers that form the backbone of any enterprise.

Applications can connect to the Neo4j Recommendations Framework and traverse highly connected data from disparate data sources or use graph analytics and machine learning algorithms to produce desired recommendations. The Recommendations Framework leverages these advanced technologies to:

  • Segment customers by demographics, preferences and other patterns
  • Learn which offerings are similar or related to each other
  • Identify alternate suppliers of various products and services
  • Keep tabs on product pricing and promotions
  • Monitor product and service availability and inventory levels
  • Track order histories and preference profiles for every customer and product
  • Recommend employees to fill open positions based on work histories and skill sets …and much more


Feature Image Scalability


Spotlight: A CPG Company Uses Graph to Fill Open Positions with Internal Talent


A consumer packaged good (CPG) company tracks employee job histories, skills, reviews, locations and salaries in an extensive graph database. They use the data to analyze positions and people across their entire enterprise to fill open positions, plan corporate reorganizations, perform succession planning and identify employee flight risk. By accounting for the interrelation of all these foundational elements, Neo4j maximizes the accuracy and effectiveness of recommendations.



Flexible, Powerful Recommendation Engines A Neo4j recommendations application contains one or many engines that build lists of recommendations for presenting to users.

Each recommendation engine has a database connection, a description and a pipeline of Cypher queries called phases that build recommendation lists. Each pipeline contains any of the following phases:

Discover Phase
A Discover phase always appears first in a pipeline and populates the recommendation list with items, each of which has a score. If a recommended item is re-discovered by a subsequent discovery phase, its new score is added to its existing score.

Boost Phase
A Boost phase modifies the scores of existing items in the recommendations list. The phase evaluates the score of each item in the list and modifies the score as needed.

Exclude Phase
An Exclude phase uses specific criteria to filter and remove items from the current recommendations list.

Diversify Phase
A Diversify phase widens the items in a recommendations list. It starts by returning an attribute for each item in the list. Then for each attribute, the phase keeps the top n items and removes any remaining items from the list.

These easy-to-use building blocks provide the power and flexibility required to:

    • Deliver real-time recommendations
    • Reduce query complexity
    • Create easy-to-maintain recommendation engines quickly
    • Score and weight phases depending on their relevance to the current context
    • Enable (or disable) phases in the recommendations pipeline based on business rules (for promotions, inventory, etc.)
    • Build powerful, efficient recommendation engines for virtually any business case
Hybrid Scoring Improves Recommendation Quality
The Neo4j framework uses hybrid scoring, which permits the simultaneous use of multiple recommendation methods to select the one that best fits each user and situation in real time. In doing so, Neo4j enhances the quality and context of recommendations, achieving business objectives more quickly and effectively.

At the core of all recommendation engines are the graph queries and algorithms used to score people, products, services and other items as suggested connections or purchases. The Neo4j Recommendations Framework and its graph data science algorithms – including Similarity, Pathfinding, Centrality, Community Detection and Link Prediction algorithms – are used for scoring and filtering recommendations.

  • Collaborative scoring methods are based on similar users or products.
  • Content scoring methods are based on user histories and profiles.
  • Rules-based scoring methods are based on predefined rules and criteria.
  • Strategy scoring methods are based on promotions, margins, inventory and other business data.


Conclusion


As we have shown, the foundation of the Neo4j Recommendations Framework is the Neo4j graph database. This framework simplifies traversing highly connected data from disparate data sources and using graph analytics and machine learning algorithms to produce highly relevant recommendations. Join us again next week for blog five in this five-part series, where we will discuss developing and deploying recommendation applications.

Using smart, personalized and real-time recommendation engines helps your entire enterprise – customers, employees, partners and more – make better decisions and reap higher revenues. Graph technology makes it all possible.Click below to get your copy of Graph-Powered Recommendation Engines.

Get My White Paper