Personalization
Why Kumo for Personalization?
Kumo is most commonly used for personalization and recommendation use cases, for good reason: as the first end-to-end personalization solution powered by GNNs and large language models (LLMs), Kumo makes it easy to develop custom GNN+LLM recommenders for your data, supporting over a dozen personalization solutions, ranging from personalized email notifications, to in-app carousels of related items, and even search reranking.
Kumo’s flexible model architecture works particularly well for teams with unique business requirements and challenges, including: cold start, massive scale, data sparsity, text/image data, and complex business logic. Additionally, Kumo offers data warehouse-native deployments that allow you to perform data processing within your Snowflake or Databricks accounts, reducing the need for time-consuming security reviews.
Personalization Solutions
Kumo’s predictive query language (PQL) provides the flexibility to build a wide variety of personalization models. This language lets data scientists declare the entity, target, filters, and optimization goal of a predictive task, in a purely declarative manner.
In practice, this enables teams to quickly build GNN-powered recommendations for dozens of user-facing surfaces within their product, including in-app carousels, notifications, related items, cross/up-sells, and reranking of product listing pages (search/browse).
Here are a few of the solutions that Kumo supports.
-
Complete the look
-
Brands you may like
-
Trending items for you
-
For you in your area
-
Real time in-session personalization
-
Visually similar items
-
Embedding-based retrieval
Kumo is a good fit for…
-
Data science and machine learning teams looking to get the best recommendations across many surfaces in their product
-
Product managers and directors of personalization that want to use the best-performing recommendation algorithms in academia and industry (GNNs)
-
Businesses with unique requirements that typical personalization vendors do not support, such as a used item marketplace, consumer apps, streaming platform, ticket reseller, or food delivery service
-
Engineering teams looking to improve their existing retrieval and re-ranking systems by using graph embeddings or GNN-powered candidate sources.
-
Organizations looking to invest in a general machine learning platform to up-level a wide variety of solutions beyond personalization, including LTV/conversion prediction for user segmentation, fraud detection, demand forecasting, and price optimization.
Stand-out Features
-
Hybrid GNN Model Architecture to achieve 2.7x better mean average precision on a public benchmarks compared to popular alternatives like two-tower models.
-
Solutions for both batch and real time recommendations, enabling a single platform to power asynchronous (eg. email) and in-product user journeys.
-
Prediction filters, enabling recommendations to be contextualized for specific events or campaigns. For example, Kumo can create a personalized list of winter events that might interest you.
-
Great handling of cold start. The model can make high-quality recommendations for new users and items for which there is little to no information using inductive representation learning.
-
GNN model planner enables data scientists to tune the model architecture for the dataset, including the training split, neighborhood sampling strategy, and model hyperparameters.
-
Support for visual signal (image-based), and LLM-powered text understanding.
-
Ability to export graph embeddings for all users/items, which can be used as a feature in your existing re-ranker models, or loaded into your search retrieval engine.
-
REST API and SDK, enabling data scientists and ML engineers to develop, test, and deploy recommendation models directly from notebooks or as part of an automated workflow.
Data Requirements
Kumo does not require data to be transformed to fit a prescriptive schema, nor does it require the installation of a tracking pixel.
Instead, Kumo generates recommendations directly from the raw data that already exists in the data warehouse. The Kumo graph builder makes it easy to stitch together data from many different sources. Just connect the tables to the graph and go.
For the best personalization results, Kumo encourages using data such as:
-
Customer profile information
-
Auth/unauth browsing history
-
Purchases, likes, searches, reviews
-
Product inventory
-
Text descriptions and product images
-
Promotion and discount history
-
Online and in-store sales data
-
User notification history
-
Second and third party data
By using all of your data, Kumo can achieve better recommendation quality compared to solutions that can only use a subset.
Data Connectivity
Kumo reads and writes data directly to the client's data lakehouse, supporting cloud-first data science workflows. Supported lakehouses include Snowflake, Databricks, AWS S3, GCP BigQuery, and Azure Synapse (coming soon). For example, users have found success using Kumo as part of a DBT-based development environment, using Airflow for orchestration, and Streamlit for consumption.
Data Warehouse Native
Additionally, Kumo provides data warehouse native deployment options, which keeps your data secure by performing data processing within your Snowflake or Databricks account. This makes Kumo suitable for use in highly regulated environments, including banking, healthcare, and government.
Scale
Kumo uses a distributed GNN training system, written in C++, which can handle multi-terabyte datasets with tens of billions of rows, and has customers that make daily recommendations for more than 100M active users or more than 10M inventory items.
Because GNNs are great at discovering complex patterns in sparse data, Kumo is also a good fit for small datasets containing 1000’s of users, and only 10’s of items.
Production Serving
In order to cover both in-product and out-of-product personalization journeys, Kumo supports a variety of serving methods, .
-
Batch Export: Export bulk predictions via UI or API. This is an easy way to generate personalized emails or notifications. It is also the easiest way to personalize many in-product surfaces, such as product carousels, related item recommendations, candidate generation, and feed reranking.
-
Online Serving: Recommend or rerank items for your in-product surfaces, leveraging real-time in-session signal and Kumo’s GNN artifacts. This can be provided as a portable code snippet, or served by Kumo behind a REST API.
-
Embedding Export: Export graph embeddings for use in existing retrieval and re-ranking models. Many large tech companies have achieved engagement gains of 10-30%, simply by adding graph signal to existing systems.
Model Architecture
Kumo recommendations are powered by a GNN architecture, inspired by several academic papers in recent history. Data scientists can benefit from these advances in model architecture, without needing to code them up manually.
Here is some of the research that is used by Kumo AI:
-
GraphSAGE does inductive representation learning to deliver great recommendations for users with very little interaction data such as first or second time visitors
-
ID-GNN is a training process that enables the model to learn patterns such as repeat purchase or brand affinity
-
PNA introduces a variety of aggregation operators which are explored by Kumo AutoML
-
GCN describes mean-pooling aggregation, which captures similarity between users with similar item purchases
-
GIN captures frequency signal to learn more complex user behavior like power users vs resurrected users
-
NBF networks reduce the computational cost of models, by providing an efficient way to capture paths between nodes
-
GraphMixer uses temporal representation learning, to interpret sequences of user actions such as on-site browsing history
-
RDL describes temporal sampling, which learns from past sequences of user actions to predict the future.
Data Encoding
Kumo also uses a powerful data encoding stack to convert multi-modal data into representations for deep learning.
-
PyTorch Frame finds the best encoding for a variety of tabular data types.
-
LLM foundation models can be used for understanding rich text data
-
Absolute and relative time encodings learn historical and seasonal patterns
-
Image Pixel Data can be used via image encoders such as CLIP
Benchmarks
This is best demonstrated by Kumo’s performance on the public H&M recommendation benchmark. Kumo ranks in the top 1% of all submissions, with an MAP@12 that is 49% higher than the median.
You can reproduce this benchmark on Kumo by downloading the H&M dataset and running the following Predictive Query:
PREDICT LIST_DISTINCT(
transactions.article_id, 0, 14)
RANK TOP 12
FOR EACH customers.customer_id
Model Planner
The Kumo model planner empowers data scientists to quickly iterate and apply their domain knowledge to the model.
Specifically, the Kumo model planner gives control over:
-
training table splits
-
neighborhood sampling
-
column encoding
-
training process
-
GNN architecture
-
optimization goals
For example, when creating recommendations for a used-item marketplace, one could disable ID-based item embeddings, in order to improve accuracy on new (cold start) items, while trading off accuracy on older items.
Data Scientists have improved sales by $100M USD/year using the fine-grained controls offered in the model planner.
Predictive Query
PQL is a declarative syntax for defining machine learning problems. It is highly flexible and easy to learn, supporting inline filters, boolean expressions, and aggregation functions.
Data scientists can quickly experiment with many different and complex predictive formulations of a machine learning problem in very few lines of code.
For example, the following query will recommend 5 winter clearance items that each of your users will purchase with the highest likelihood.
PREDICT LIST_DISTINCT(
purchases.item_id
WHERE purchases.markdown > 0.2
AND item.season = 'winter', 0, 14)
RANK TOP 5
FOR EACH customers.customer_id
Evaluation and Explainability
As part of the training process, Kumo automatically computes data visualizations and metrics to help understand the model’s strengths and weaknesses.
-
Learning Curves and Distribution: Detects under and overfitting by monitoring the convergence rates. Tracks distribution of training data over time for balance.
-
Backtesting on Holdout: All models are back-tested on a configurable holdout dataset. The holdout data set may be downloaded for customer analysis.
-
Standard Evaluation Metrics and Charts: Including: ROC and PRC curve, cumulative gain chart, AUPRC, AUROC, predicted vs actual scatter plot and histogram, MAE, MSE, RMSE, SMAPE, average precision, per-category recall, F1, MAP
-
Baseline Comparison: Models are benchmarked against an automatically generated analytic baseline.
-
Column Explainability: A visualization highlighting which columns have the greeted predictive power helps prove that the model has no data leakage
-
Row Level Explainability: Users can understand the reason for individual predictions by seeing which rows contributed most to the result.
MLOps
In order to support ongoing validation of model correctness, Kumo has the following features related to MLOps:
-
Data Source Snapshotting: During each job, data source statistics are snapshotted including size, time range, and import time, to enable faster root cause analysis.
-
Drift Detection: Distributions of features and predictions are monitored for drift. This enables early detection of issues, preventing bad predictions from being published to production.
-
Champion/Challenger: A champion/challenger approach can be adopted to validate key metrics of a newly trained model when orchestrating automatic job retraining through the REST API
Integrations
Because Kumo writes directly to the data lakehouse, it is easy to connect with other cloud software for personalization use cases. Here are just a few examples:
-
Marketing Orchestration: Braze, Adobe/Marketo, Klaviyo, Omnisend, etc… Create ML-powered customer segments and insert personalized dynamic content such as product recommendations
-
Advertising: Google Performance Max, Meta Advantage Plus, etc… Assign users to custom audiences using ML, to show creatives that are more likely to convert
-
Search/Vector Databases: Elasticsearch, OpenSearch… Personalize your search engine by using Kumo graph embeddings
-
API Servers/Websites: DynamoDB, Redis, MySQL, Cosmos, MongoDB… Serve predictions to power personalized in-product carousels.
-
Chatbots/Language Models: OpenAI, Cortex, Bard, DBRX… Use Kumo predictions and explanations to generate personalized messages based on recent activity.
Updated 3 months ago