predictive-personalization
Use machine learning models to predict customer preferences and deliver personalized product recommendations, content, and offers based on behavioral signals
Best use case
predictive-personalization is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use machine learning models to predict customer preferences and deliver personalized product recommendations, content, and offers based on behavioral signals
Teams using predictive-personalization should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/predictive-personalization/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How predictive-personalization Compares
| Feature / Agent | predictive-personalization | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use machine learning models to predict customer preferences and deliver personalized product recommendations, content, and offers based on behavioral signals
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Predictive Personalization
## Overview
Predictive personalization tailors the shopping experience to each visitor — showing relevant product recommendations, personalized content, and targeted offers based on behavior, purchase history, and patterns from similar customers. For most merchants, dedicated personalization apps deliver this without any custom ML code. Building a custom recommendation engine only makes sense for headless stores with significant traffic (100k+ monthly visitors) where app costs or data control requirements justify the complexity.
## When to Use This Skill
- When your store shows the same products to every visitor regardless of their behavior
- When you want to add "Recommended for You" sections to your homepage, PDP, or cart
- When email campaigns send the same products to your entire list
- When conversion rates are plateauing and you need a lift from relevance
- When ready to move beyond rule-based merchandising to data-driven personalization
## Core Instructions
### Step 1: Choose the right personalization tool
| Platform | Best For | Shopify | WooCommerce | BigCommerce | Price |
|----------|---------|---------|-------------|-------------|-------|
| **Rebuy** | Product recommendations, cross-sell/upsell widgets | App Store | Limited | Limited | $99+/mo |
| **LimeSpot** | Personalization + merchandising | App Store | Plugin | App Marketplace | $18+/mo |
| **Nosto** | Mid-market, full homepage + email personalization | App Store | Plugin | App Marketplace | Revenue-share |
| **Dynamic Yield** | Enterprise, full A/B testing + personalization | Via JS tag | Via JS tag | Via JS tag | $1,000+/mo |
| **Klaviyo** (email) | Personalized product blocks in email flows | App Store | Plugin | App Marketplace | Included in Klaviyo |
| **Custom** | Headless stores, 100k+ visitors/mo | API | API | API | Dev cost |
**Recommendation by store size:**
- Under $1M revenue: **Rebuy** or **LimeSpot** for recommendation widgets; **Klaviyo** for personalized email
- $1M–$10M revenue: **Nosto** for full-site + email personalization
- $10M+: **Dynamic Yield** for enterprise personalization + experimentation
### Step 2: Set up product recommendations
---
#### Shopify
**With Rebuy:**
1. Install **Rebuy** from the Shopify App Store
2. Go to **Rebuy → Smart Cart** to add AI-powered cross-sell recommendations to your cart page — no code required
3. Go to **Rebuy → Data Sources** to configure recommendation logic:
- "Frequently Bought Together" — products purchased together in the same order
- "Similar Products" — products with similar tags and attributes
- "Recommended for You" — personalized based on browsing history
4. Go to **Rebuy → Widgets** to add recommendation carousels to product pages, the cart, and the homepage
5. Rebuy connects directly to Shopify's order data to compute co-purchase patterns — no additional setup needed
**With LimeSpot:**
1. Install **LimeSpot Personalizer** from the Shopify App Store
2. Go to **LimeSpot → Placements** to add recommendation boxes to any page (homepage, collection, product, cart)
3. Set the recommendation strategy per placement: "Trending," "Recently Viewed," "You May Also Like," or "Frequently Bought Together"
4. LimeSpot learns from your store's behavioral data automatically
---
#### WooCommerce
1. Go to **WooCommerce → Products → [Product] → Linked Products** to add manual cross-sells and upsells per product
2. For automated ML-based recommendations: install **LimeSpot for WooCommerce** or **Barilliance** plugin
3. For email personalization: configure **Klaviyo** dynamic product blocks in post-purchase flows (Klaviyo's `Catalog` block uses purchase history to generate personalized recommendations automatically)
**Alternative (simpler):** install **YITH WooCommerce Frequently Bought Together** — it adds "Customers who bought this also bought" sections using your order history, without requiring a monthly subscription.
---
#### BigCommerce
1. Go to **BigCommerce App Marketplace** and install **LimeSpot** or **Nosto**
2. Both apps integrate with BigCommerce's product and order APIs to compute recommendations
3. For email: install **Klaviyo** from the BigCommerce App Marketplace and use Catalog blocks for personalized product recommendations in flows
---
#### Custom / Headless
For headless stores, build a recommendation engine using behavioral event data and collaborative filtering:
```typescript
// Collect behavioral events for each visitor
interface PersonalizationEvent {
userId: string | null; // null for anonymous visitors
sessionId: string;
eventType: 'view' | 'add_to_cart' | 'purchase';
productId: string;
categoryId?: string;
timestamp: Date;
}
// Maintain a real-time user profile in Redis
async function updateUserProfile(event: PersonalizationEvent) {
const key = event.userId ?? `anon:${event.sessionId}`;
const recentViews = JSON.parse(await redis.get(`profile:${key}:views`) ?? '[]');
if (event.eventType === 'view') {
recentViews.unshift(event.productId);
if (recentViews.length > 50) recentViews.pop();
await redis.setex(`profile:${key}:views`, 30 * 86400, JSON.stringify(recentViews));
}
const categoryScores = JSON.parse(await redis.get(`profile:${key}:categories`) ?? '{}');
if (event.categoryId) {
const weight = { view: 1, add_to_cart: 3, purchase: 5 }[event.eventType] ?? 1;
categoryScores[event.categoryId] = (categoryScores[event.categoryId] ?? 0) + weight;
await redis.setex(`profile:${key}:categories`, 30 * 86400, JSON.stringify(categoryScores));
}
}
// Nightly batch job: build co-purchase similarity from 90-day order history
// Serve recommendations via Redis cache for sub-10ms response times
// Fallback: trending/popular items when user has no history (cold start)
```
For most headless stores, use **Nosto's** or **Dynamic Yield's** JavaScript widget + REST API instead of building from scratch. The API surfaces the same personalization data without maintaining the recommendation engine infrastructure.
### Step 3: Personalize email with dynamic product blocks
This works for all platforms via Klaviyo:
1. In any Klaviyo flow (post-purchase, win-back, browse abandonment), add a **Product Block**
2. Set the product source to **"Personalized Recommendations"** — Klaviyo uses the recipient's purchase history to select products
3. Or use **"Cross-sell"** — Klaviyo shows products frequently bought alongside what the customer last purchased
4. Preview the email for different customer profiles to verify recommendations vary by recipient
### Step 4: Set up "Recommended for You" on the homepage
---
#### Shopify with Rebuy or LimeSpot
1. In the app dashboard, go to **Placements → Homepage**
2. Set the recommendation strategy to "Recommended for You" (requires at least one prior visit/purchase to personalize; shows trending for new visitors)
3. Use the app's theme editor widget — drag it into your homepage section in **Shopify → Online Store → Themes → Customize**
---
### Step 5: Measure personalization impact
Always A/B test personalization before full rollout. Both Rebuy and Nosto have built-in A/B testing:
| Metric | Target | Where to Find |
|--------|--------|---------------|
| Recommendation widget CTR | > 5% | App analytics dashboard |
| Revenue attributed to recommendations | 10–20% of total | App analytics |
| AOV lift (personalized vs. control) | > 5% | App A/B test results |
| Email personalized block CTR vs. static | > 2× higher | Klaviyo flow analytics |
## Best Practices
- **Start with post-purchase cross-sell** — "Customers who bought X also bought Y" is the highest-converting recommendation placement; set it up on the order confirmation page and in post-purchase emails
- **Show "Recently Viewed" on the homepage** — returning visitors who see their previously viewed products have 3–4× higher conversion rates; Rebuy and LimeSpot both support this out of the box
- **Use trending/popular as the fallback** — new visitors with no history should see trending products, not empty recommendation slots
- **Diversify recommendations across categories** — enforce a maximum of 4 items per category to avoid showing 12 near-identical products
- **Test personalization vs. editorial curation** — for some product types (luxury goods, gifts), curated staff picks can outperform algorithmic recommendations
## Common Pitfalls
| Problem | Solution |
|---------|----------|
| Recommendations show already-purchased items | Configure the app to exclude previously purchased products from recommendations |
| New store with no data — recommendations look wrong | Use "Trending" or editorial curation for the first 60–90 days while behavioral data accumulates |
| Recommendations are all from one category | Enable diversity controls in app settings; most apps support "max items per category" |
| Personalized email recommendations are same for everyone | Verify Klaviyo is receiving Placed Order events from your platform; check Klaviyo → Integrations status |
## Related Skills
- @cross-sell-upsell-engine
- @email-marketing-automation
- @ab-testing-ecommerce
- @customer-analytics
- @search-autocompleteRelated Skills
personalization-engine
Show each shopper personalized product recommendations using platform apps and recommendation tools based on browsing history and purchase patterns
wishlist-save-for-later
Let shoppers save products to a wishlist, share it with friends, and get notified when saved items come back in stock or drop in price
storefront-theming
Build a themeable storefront with design tokens and CSS custom properties that supports white-labeling, multi-brand variants, and dark mode
search-autocomplete
Speed up product discovery with instant search suggestions, fuzzy typo matching, and category-aware results powered by Algolia or Elasticsearch
responsive-storefront
Build a mobile-first storefront with thumb-friendly navigation, sticky add-to-cart buttons, and touch-optimized components for high mobile conversion
recently-viewed-products
Show shoppers the products they recently browsed using browser storage so they can easily pick up where they left off on your store
quick-view-modal
Let shoppers preview product details and add items to cart from the listing page without navigating away, reducing friction in the shopping flow
product-page-design
Design high-converting product detail pages with image galleries, variant selectors, social proof, and clear calls-to-action that drive add-to-cart
product-comparison
Let shoppers select multiple products and compare them side-by-side in a table with highlighted differences to help them make the right buying decision
mega-menu-builder
Build a rich navigation mega menu with product images, category highlights, featured banners, and keyboard-accessible dropdowns for large catalogs
image-zoom-360
Boost product confidence with high-res image zoom, 360-degree spin views, and inline video so shoppers can examine products closely before buying
faceted-navigation
Let shoppers filter products by multiple attributes simultaneously with URL-shareable filter state, instant results, and mobile-friendly controls