English Version: Building Recommendation Engines with the Google Cloud Platform (GCP)

Personalization has become an important aspect of our lives. Disruptive companies such as Amazon or Netflix have taken personalization to the next level by providing users with personalized product and content recommendations. Today more than ever users expect a personalized experience when shopping online and therefore, more and more companies are becoming interested in integrating Recommendation Engines into their businesses. Thanks to availability of Raw Data, Cloud Computing services and Machine Learning (ML) algorithms it is nowadays possible for any company to build and scale such engines according to their business needs. In this article we provide a brief overview of Recommendation Engines and summarize the various solutions offered by Google Cloud Platform (GCP) .

Recommendation Engines

A Recommendation Engine is a system that provides personalized product and content recommendations to users. Such systems are driven by Machine Learning algorithms and utilize data that contain prior knowledge about users’ known interests and interactions.  Three of the main approaches for Recommendation Engines are:
  • Content based filtering: This approach recommends products similar to what a user has viewed or liked in the past. Since the recommendations are user specific, they can easily scale up to support a large number of users. On the other hand, these recommendations do not offer the users the opportunity to discover products different to what they like so far.
  • Collaborative filtering: This approach is based on the assumption that two different users who liked the same products in the past will probably like the same ones now and in the future. Such models recommend products liked or viewed by a user with similar interests. A great advantage of this method is that it does not require domain knowledge about the products and also gives users the chance to explore products that they explored before. However, such models cannot recommend products newly added to a company’s catalog and require frequent retraining in order to include them in their recommendation lists.
  • Hybrid: This approach combines both content based and collaborative filtering and adapts the recommendations.

Requirements

Which approach should a company choose though? Before deciding, it is important to assess the concept of Recommendation Engines from three main perspectives:

Business Objective: What shall be improved?

Identifying the business objective is the first prerequisite that should be fulfilled in order to make sure that the recommendations will ultimately achieve the desired outcome for a business.  For example if the objective is to increase the revenue of a wide variety of products, then a Recommendation Engine could be optimized to suggest to users more diverse products . On the other hand, if the objective is to improve the user experience, the recommendations could be based for example on products that fit well together or products that are liked or viewed by users with similar interests.

Serving: Touchpoints and Timing

Another important aspect is to understand how a Recommendation Engine is intended to be used. For example, will the recommendations be presented to users in real time as soon as they visit a website, an app or even a store in person? Or will the strategy be instead to serve recommendations periodically via an email, display and video advertising campaign? Will the users interact with it for example by giving feedback about the recommendations?  Such decisions will definitely have an impact not only on the Machine Learning method but also on the overall architecture of the Recommendation Engine and thus, they should be addressed at a very early stage of the development phase.

Data Assessment

Developing a Recommendation Engine that is based on Machine Learning techniques requires large volumes of historical user and product data. Such data is fed to Machine Learning models to optimize their ability to make predictions on recommendations.  As a result of this, poor quality data can lead to poor recommendations (concept known in machine learning as “Garbage in, garbage out”). A good practise is to analyze the available data and assess whether it is relevant and sufficient for building a Recommendation Engine. Knowing for example if the product catalog contains many items, how often the product catalog data is updated as well as if there is data capturing users feedback, will definately simplify the decision making process. Even if the data is available, having the right capabilities to identify the business needs (Business Understanding) as well as to process the data and implement the solution (Cloud & Data Science) is the key to delivering a Recommendation Engine that will eventually create value for the company and its customers. 
e-dialog Blogbeitrag Recommendation Engines
(c) e-dialog

Google Cloud Platform Solutions for Recommendation Engines

Currently, Google Cloud Platform offers four possible ways to leverage state of the art Machine Learning techniques and deploy Recommendation Engines in the cloud. 

Using BigQuery ML for Recommendations

BigQuery ML is a great tool for low cost and fast implementations of Recommendation Engines, however currently supports only one specific recommendation type ( recommends to users only products which are liked or viewed by other users with similar interests). The models are created using SQL and can be accessed in BigQuery via a Web User Interface (Rest API, command line tools and external tools such as jupyter notebooks are also supported). When it comes to performance tests (such as A/B testing), a separate implementation needs to be integrated with this solution.

Recommendations AI – Reco AI

e-dialog Blogbeitrag Recommendation Engines
(c) e-dialog
On the other hand, Recommendations AI offers more of an end to end solution, supporting a wider range of recommendation types while providing a User Interface which simplifies the process of monitoring and testing the performance of recommendations. Further advantages include its ability to take into account the users phase in the customer journey and that it can be activated in multiple touchpoints and channels. It definitely minimizes the effort that is required to build a Recommendation Engine, since it does not require expertise in ML or domain knowledge. Keep in mind though that it comes with higher runtime costs and less flexibility for customization

AI Platform

AI Platform is a development platform which allows quick and cost-efficiently deployment of ML projects. It definitely requires a certain level of ML expertise and domain knowledge for preparing, building, validating and deploying ML models. When it comes to Recommendation Engines, AI platform offers the possibility to use one of its built-in algorithms (Wide & Deep) which has been used in the past for increasing app acquisitions in Google Play. 

Self built & customized Recommendations Engine

Self Customized Recommendation Engines on the other hand offer the most flexibility but require ML, domain expertise as well as higher development and maintenance efforts.  Below you can see a quick summary of what each solution can offer:
BigQuery ML Recommendations AI AI Platform Self Built & Customized
Recommendation Type “Products liked by users with similar interests”  “Other products you may like” “Most relevant products” Depends on the selected method, for example: “Similar products”, “Products liked by users with similar interests” 
“Frequently bought together”
“Recommended for you”
“Recently viewed”
Method Matrix factorization Not disclosed Wide & Deep  Hybrid
Data Source Product ids Product catalog Product catalog Product catalog User events
User ids User events from a wide range of data sources User events from a wide range of data sources User events from a wide range of data sources
Implicit or explicit feedback Optionally other relevant data sources Optionally other relevant data sources Optionally other relevant data sources
Domain Knowledge  Low Low High High
Development Effort Medium Low Medium High
Runtime Cost Medium High Medium Low
Configuration UI No Yes No No
Customization Low Low Medium High
Performance Measuring Can be customized Incorporated in the UI Can be customized Can be customized
A/B testing  Can be customized Implicit Can be customized Can be customized

Are ready made Recommendation Engines from well known suppliers the right solution?

When searching for Recommendation Engines you will find a plethora of well known vendors offering out of the box software. Even though many of them offer great solutions there are several points that one must be aware of:
  • Black box solutions: Most solutions are leveraging data and machine learning techniques to develop the recommendation models. Such models are considered “black box” as it is not possible to interpret exactly how variables are combined with each other to make predictions.
  • Customization: Ready made solutions can still provide the possibility to customize the Recommendation Engine according to your needs. For example, to
    • serve recommendations across multiple touchpoints and channels
    • incorporate additional data sources (eg. weather data) that might be relevant for your business
    • develop models depending on specific objectives (maximize revenue, click-through rate etc.)
    • apply specific business rules (eg. stock availability)
  • Compliance: Solutions have to comply according to GDPR standards.
  • Cost & Return of Investment (ROI): The relatively high cost of paying for an out of the box service can easily pay off in a very short period of time if the set up is done according to the desired business needs and objectives.

Conclusion

Recommendation Engines are definitely here to stay and shape the future of how users experience online shopping. Leveraging Google Cloud Platform services can definitely accelerate the process of building a scalable Recommendation Engine that will create value for your company and your customers. 

If you are interested in this topic and/or you are looking for support from industry-leading experts, we would be really happy to advise you according to your specific needs! You can reach us via email: kontakt@e-dialog.at

Hinterlassen Sie einen Kommentar: