Email Personalization
“For each subscriber, which products should we feature in their next email?”
Book a demo and get a free trial of the full platform: research agent, fine-tune capabilities, and forward-deployed engineer support.
By submitting, you accept the Terms and Privacy Policy.

Loved by data scientists, ML engineers & CXOs at

A real-world example
For each subscriber, which products should we feature in their next email?
Email campaigns feature the same top-selling products for every subscriber. Worse, they frequently recommend out-of-stock items — creating frustration and eroding trust. A subscriber who exclusively buys skincare products receives emails about electronics. Open rates hold at 18-22% but click-through rates languish at 2-3%. For a retailer sending 100M emails per month, each 0.1% improvement in click-through is worth $1.5-3M annually.
Quick answer
Email personalization predicts which in-stock products each subscriber will purchase, turning every email into a personalized storefront. Filtered recommendation queries automatically exclude out-of-stock items, eliminating the frustration of clicking through to unavailable products. Graph-based email personalization lifts email revenue per send by 20-35%.
Approaches compared
4 ways to solve this problem
1. Bestseller Emails
Feature the same top-selling products in every subscriber's email. No personalization, no inventory filtering. The default for most email marketing teams.
Best for
Flash sales and new arrivals where the products are genuinely relevant to a broad audience.
Watch out for
Click-through rates languish at 2-3%. A skincare subscriber gets electronics recommendations. Worse, featured products may be out of stock by the time the subscriber clicks through, destroying trust.
2. Segment-Based Product Blocks
Create 3-5 customer segments and curate different product blocks for each. Premium segment sees luxury items, value segment sees deals.
Best for
Teams with limited personalization infrastructure who want a step up from generic emails.
Watch out for
Segments are too coarse. Within the 'premium skincare' segment, one subscriber buys anti-aging products while another buys hydrating serums. Both get the same email. No inventory awareness, so featured products may be out of stock.
3. Collaborative Filtering + Inventory Join
Generate recommendations using collaborative filtering, then filter to in-stock products in a post-processing step. Combines recommendation quality with inventory awareness.
Best for
Teams with existing recommendation engines who want to add inventory awareness.
Watch out for
Two-step process: first recommend, then filter. If the top recommendations are out of stock, the fallback may be low-relevance products. The recommendation model does not know about inventory, so it wastes prediction capacity on unavailable items.
4. KumoRFM (Filtered Graph Recommendations)
Predicts which in-stock products each subscriber will purchase using a filtered recommendation query. The WHERE clause excludes out-of-stock items during prediction, not as a post-filter. The model learns from the subscriber-purchase-product graph including replenishment cycles and category loyalty.
Best for
Retailers sending high-volume personalized emails who need both relevance and inventory accuracy in a single prediction.
Watch out for
Requires product-level inventory status data updated at prediction time. If your inventory system lags by more than 24 hours, some out-of-stock recommendations may slip through.
Key metric: Filtered graph recommendations lift email revenue per send by 20-35% with zero out-of-stock frustration, driven by replenishment cycle detection and inventory-aware prediction.
Why relational data changes the answer
Subscriber S001 (high-value segment) bought Hydra Serum 30ml 56 days ago. Her typical replenishment cycle is 45 days, meaning she is overdue for a repurchase. 100% of her purchases are in the Skincare category. 71% of similar high-value subscribers in her graph neighborhood recently purchased the same serum. And she opened an email 3 days ago, indicating she is actively checking her inbox.
These signals come from different tables. The replenishment cycle is computed from historical PURCHASES data. Category loyalty requires joining PURCHASES to PRODUCTS. Graph neighborhood behavior requires comparing S001 to similar subscribers across the SUBSCRIBERS and PURCHASES tables. The email engagement recency comes from the SUBSCRIBERS table. A flat model would need manual features for each of these signals. The graph model discovers them automatically and, critically, applies the inventory filter during prediction rather than after. This means the model's top-3 recommendations are always in-stock, always relevant, and always timed to the subscriber's purchase cycle. The result is a 20-35% lift in email revenue per send with zero out-of-stock frustration.
Sending bestseller emails is like a store clerk recommending the same 5 products to every customer walking through the door. Graph-based email personalization is like a personal shopper who remembers what you bought, knows when you need to restock, checks that the item is on the shelf before recommending it, and notices that customers with your taste profile are buying a new product you have not tried yet.
How KumoRFM solves this
Relational intelligence for true personalization
Kumo predicts which in-stock products each subscriber will purchase, using a filtered recommendation query that automatically excludes out-of-stock items. The model learns from the subscriber-purchase-product graph — capturing that Subscriber S001 buys premium skincare every 45 days and is due for replenishment, while similar subscribers in their graph neighborhood have been converting on a newly launched serum. Every email becomes a personalized storefront.
From data to predictions
See the full pipeline in action
Connect your tables, write a PQL query, and get predictions with built-in explainability — all in minutes, not months.
Your data
The relational tables Kumo learns from
SUBSCRIBERS
| subscriber_id | segment | last_open | |
|---|---|---|---|
| S001 | s.chen@email.com | high_value | 2025-02-18 |
| S002 | j.wilson@email.com | re_engage | 2025-01-05 |
| S003 | m.rodriguez@email.com | active | 2025-02-20 |
PURCHASES
| purchase_id | subscriber_id | product_id | amount | timestamp |
|---|---|---|---|---|
| PUR101 | S001 | P501 | 78.00 | 2025-01-15 |
| PUR102 | S001 | P502 | 42.00 | 2025-02-02 |
| PUR103 | S003 | P510 | 125.00 | 2025-02-10 |
PRODUCTS
| product_id | name | category | in_stock | price |
|---|---|---|---|---|
| P501 | Hydra Serum 30ml | Skincare | 1 | 78.00 |
| P502 | Night Repair Cream | Skincare | 1 | 42.00 |
| P510 | Vitamin C Booster | Skincare | 0 | 125.00 |
Write your PQL query
Describe what to predict in 2–3 lines — Kumo handles the rest
PREDICT LIST_DISTINCT( PURCHASES.PRODUCT_ID WHERE PRODUCTS.IN_STOCK = 1, 0, 14, days ) FOR EACH SUBSCRIBERS.SUBSCRIBER_ID
Prediction output
Every entity gets a score, updated continuously
| SUBSCRIBER_ID | CLASS | SCORE | TIMESTAMP |
|---|---|---|---|
| S001 | P501 | 0.91 | 2025-03-12 |
| S001 | P502 | 0.84 | 2025-03-12 |
| S003 | P501 | 0.76 | 2025-03-12 |
Understand why
Every prediction includes feature attributions — no black boxes
Subscriber S001 (high_value segment, last open 2025-02-18)
Predicted: Will purchase P501 (Hydra Serum 30ml) — score 0.91
Top contributing features
Replenishment cycle match
45-day cycle, 56 days since last purchase
35% attribution
Category loyalty (Skincare)
100% of purchases in Skincare
26% attribution
Graph neighbors purchased P501
71% of similar high_value subscribers bought
19% attribution
Email engagement recency
Opened email 3 days ago
12% attribution
Price sensitivity (segment)
Low — buys at full price
8% attribution
Feature attributions are computed automatically for every prediction. No separate tooling required. Learn more about Kumo explainability
PQL Documentation
Learn the Predictive Query Language — SQL-like syntax for defining any prediction task in 2–3 lines.
Python SDK
Integrate Kumo predictions into your pipelines. Train, evaluate, and deploy models programmatically.
Explainability Docs
Understand feature attributions, model evaluation metrics, and how to build trust with stakeholders.
Frequently asked questions
Common questions about email personalization
How much does personalized email improve revenue per send?
Graph-based email personalization lifts revenue per send by 20-35% compared to bestseller or segment-based emails. For retailers sending 100M+ emails monthly, this translates to $4-8M in incremental annual email revenue. The improvement comes from higher click-through rates and higher conversion on clicks (because recommendations are relevant).
How do you handle out-of-stock products in email recommendations?
Kumo's filtered recommendation query applies the inventory filter during prediction, not as a post-processing step. The PQL WHERE clause restricts predictions to products where IN_STOCK = 1. This means the model never wastes prediction capacity on unavailable items, and the top recommendations are always shoppable.
What is the role of replenishment cycle in email personalization?
For consumable products (skincare, supplements, pet food), replenishment timing is one of the strongest purchase signals. A subscriber who buys every 45 days and is at day 56 since last purchase is prime for a replenishment email. Graph models learn these cycles from historical purchase intervals and adjust recommendations accordingly.
How often should email product recommendations be refreshed?
Recommendations should be generated at send time, not pre-computed days in advance. Inventory changes hourly, and a subscriber's last interaction may have been 5 minutes ago. Real-time recommendation generation ensures both inventory accuracy and behavioral recency.
Bottom line: 20-35% lift in email revenue per send with zero out-of-stock frustration. For retailers sending 100M+ emails monthly, this drives $4-8M in incremental annual email revenue.
Related use cases
Explore more personalization use cases
Topics covered
One Platform. One Model. Infinite Predictions.
KumoRFM
Relational Foundation Model
Turn structured relational data into predictions in seconds. KumoRFM delivers zero-shot predictions that rival months of traditional data science. No training, feature engineering, or infrastructure required. Just connect your data and start predicting.
For critical use cases, fine-tune KumoRFM on your data using the Kumo platform and Research Agent for 30%+ higher accuracy than traditional models.
Book a demo and get a free trial of the full platform: research agent, fine-tune capabilities, and forward-deployed engineer support.




