惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tor Project blog
B
Blog RSS Feed
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
罗磊的独立博客
GbyAI
GbyAI
N
Netflix TechBlog - Medium
博客园 - 司徒正美
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
W
WeLiveSecurity
Stack Overflow Blog
Stack Overflow Blog
Y
Y Combinator Blog
SecWiki News
SecWiki News
V
Vulnerabilities – Threatpost
Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Register - Security
The Register - Security
Cisco Talos Blog
Cisco Talos Blog
Martin Fowler
Martin Fowler
A
About on SuperTechFans
S
Security @ Cisco Blogs
T
Tenable Blog
C
Check Point Blog
N
News and Events Feed by Topic
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Attack and Defense Labs
Attack and Defense Labs
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
Cisco Blogs
P
Palo Alto Networks Blog
V
V2EX
博客园 - 聂微东
Project Zero
Project Zero
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Docker
N
News | PayPal Newsroom
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
小众软件
小众软件
Application and Cybersecurity Blog
Application and Cybersecurity Blog
人人都是产品经理
人人都是产品经理
V2EX - 技术
V2EX - 技术
I
Intezer
L
LINUX DO - 最新话题

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Why Your Adobe Commerce Recommendation Engine Is Leaving Revenue on the Table And How to Fix It
Jagadeesh Sundaramoorthy · 2026-06-20 · via DEV Community

You've set up "Customers Also Bought" and "Related Products" in your Adobe Commerce store. But customers still aren't clicking those recommendations. Conversion rates stay flat.

This is one of the most common pain points in enterprise Commerce stores and the fix is simpler to understand than you might think.


When Adobe Commerce recommends products to a shopper, it usually does it with fixed rules: "If someone buys X, show Y." These rules are written manually or based on very basic logic.

That works fine when your store is small. But as your product catalogue and customer base grow, these rules can't keep up:

  • They don't learn from new customer behaviour
  • They show the same suggestions to everyone
  • They slow down or break when you have millions of products and customers
  • They can't handle the traffic spike on Black Friday

A research study published in Discover Computing confirmed exactly this: when stores tried to scale their recommendation engines on a single server, performance collapsed. But stores using a distributed system (spread across multiple servers) could handle 15.6 times more data with only 3.5 times more processing time. That's a massive difference.


The Solution: A Smarter, Two-Part Recommendation Engine

The fix combines two types of recommendation logic working together.

Part 1 : "What Do Similar Customers Buy?" (Behaviour-Based)

This part looks at patterns in your customer data: who bought what, what they viewed, what they added to their wishlist.

It groups customers with similar tastes and uses that to predict what a shopper is likely to want next even if they've never seen that product before.

In Adobe Commerce terms, it learns from:

  • Past orders (the strongest signal)
  • Product page views
  • Cart additions and abandoned carts
  • Wishlists

The catch: this only works once a customer has done at least 5 things on your store. Brand new customers have no history, so this part can't help them yet.

Part 2 : "What Products Are Similar to This One?" (Product-Based)

This part looks at the products themselves their names, descriptions, categories, materials, brands and finds products that are genuinely similar.

It doesn't need customer history at all. It works the moment a product is added to your catalogue.

In Adobe Commerce, it reads from native product attributes: name, description, category path, and custom attributes like size, colour, or material.

The catch: it doesn't know what an individual customer personally prefers, it just knows what's similar.

Combining Both: The Hybrid Score

The real power comes from using both together:

Final Score = 60% behaviour signal + 40% product similarity

This balance was tested and validated. When both signals are combined, the recommendations are better than either one alone.

How much better? Here's the proof from the research:

Recommendation Type Accuracy Score (lower = better) 1-in-10 Precision
Behaviour-based only 1.02 70%
Product similarity only 64%
Combined (hybrid) 0.94 74%

That 74% precision means: out of every 10 products recommended, about 7 or 8 are genuinely relevant to that customer. That's what moves your "add to cart from recommendation" numbers.


What About Brand New Customers?

This is the question every Commerce architect asks first. If a customer just landed on your store for the first time, you have zero history on them.

Here's how the hybrid approach handles it:

For a new visitor:

  1. Show products similar to whatever they're currently looking at (product similarity kicks in immediately)
  2. If they're on the homepage, show globally popular or trending products
  3. Once they've done 5+ things (viewed, added to cart, purchased), start personalising for them specifically

For a newly added product:

  1. Product similarity works straight away, it just reads the product's attributes
  2. After the product gets 10+ purchases, the behaviour-based engine picks it up too

No manual rules needed. The system handles it automatically.


Why You Need More Than One Server

This is the part most people skip and it's where most recommendation engines fall apart at scale.

The research tested this on a small 3-server setup (1 coordinator + 2 workers, each with 2 processors and 8GB of memory). Even on that modest setup, the results were striking:

Number of Products Processed Time to Train the Model
60,000 12.8 seconds
160,000 18.5 seconds
360,000 32.3 seconds
945,000 45.4 seconds

Going from 60K to 945K products nearly 16× more data only made training take 3.5× longer. On a single server, that gap would be far worse.

What happens if a server goes down? The research tested this too. They deliberately switched off one of the three servers mid-process. The other two servers had enough copies of the data to continue without missing anything. The job finished. When the third server came back online, the system recovered on its own.

For a Black Friday environment, this is the difference between a slow recommendation widget and a completely broken one.


How This Fits Into Your Adobe Commerce Setup

You don't need to rip out your existing store. This sits alongside it as a separate service.

Step 1 : Collect the data
Adobe Commerce already tracks orders, views, and wishlists. You export this data out of MySQL (Commerce's built-in database) into a separate data store designed for large-scale processing. MySQL isn't built for this kind of analysis at scale.

Each interaction becomes a simple record: customer ID, product ID, and a signal strength (purchase = strongest, view = weakest).

Step 2 : Train the models
Once a day (or twice a day for faster-moving catalogues), you run the training process. It reads the interaction data, runs the behaviour model and product similarity model, and produces a list of top recommendations for each customer.

This happens in the background — not while customers are on your site.

Step 3 — Serve the recommendations fast
The pre-calculated recommendation lists get stored in Redis, the fast in-memory cache that most Adobe Commerce production stacks already use.

When a shopper loads a product page, your storefront calls a simple API, gets their personal recommendation list from Redis and displays it.

Speed from the research:

  • Median response time: 0.9 seconds
  • 95th percentile: 1.2 seconds

Because the hard work is done in advance, serving recommendations is just a fast data lookup.

Where these recommendations appear in Commerce:

  • Product detail page : "You might also like"
  • Cart page : upsell and cross-sell
  • Homepage : personalized "For You" section
  • Post-purchase emails and abandoned cart emails

Adobe Commerce's layout system lets you add a custom widget that calls your recommendation API instead of the built-in module.


How It Compares to What You Probably Have Now

What It Does Built-In Rules Third-Party Extension This Hybrid Approach
Handles millions of customers and products No Partially Yes
Works for brand new customers Only with manual rules Limited Yes — uses product similarity
Personalized per customer No Partially Yes — fully personalized
Updates after each purchase No Varies Yes (with streaming setup)
Survives a server failure No — single point of failure No Yes — distributed backup
1-in-10 recommendation accuracy ~40–50% ~55–65% 74% validated
Response speed Very fast (< 0.1s, cached) Varies 0.9 seconds

Worth being honest about: the built-in rules are faster because they serve the same list to everyone. The hybrid approach is slightly slower (0.9s vs. under 0.1s) because it's serving a unique list per customer — but 0.9 seconds is well within acceptable page load limits.


Where to Start: Three Phases

You don't need to build everything at once.

*Phase 1 : Product Similarity Only *
Start with just the product-matching part. No customer data needed. Replace your "Related Products" widget with similarity-driven suggestions based on product descriptions and attributes. Quick win, low complexity.

*Phase 2 : Add Personalization *
Export 1–2 years of order history. Train the behaviour model. Start showing personalized recommendations to logged-in customers. New customers and guests still see product similarity results as fallback.

*Phase 3 : Full Hybrid + Automation *
Combine both signals with the 60/40 weighted score. Set up automated nightly retraining. Add tracking so you can see which recommendations actually convert. Fine-tune the balance based on your specific store's data.