Personalized Recommendations Are Here — Powered by Smart Analytics
At Simplico, we’re constantly improving the shopping experience for both customers and business owners. Today, we're excited to introduce a powerful new feature to our eCommerce system:
🎯 Built-in Product Recommendations Based on Real User Behavior
No third-party plugins. No extra setup. Just smarter selling, right out of the box.
🔍 How It Works
Every time someone visits your store, our system tracks their session (anonymously) and records which product pages they view. Over time, this creates a rich dataset of user behavior — without requiring login or cookies.
Then, using machine learning techniques like collaborative filtering, our platform answers one powerful question:
“What other products do people usually view after this one?”
📊 System Diagram
graph TD
A["Visitor arrives on site"] --> B["UserLogMiddleware records session + URL"]
B --> C["Product view extracted from URL"]
C --> D["Session → Product matrix stored"]
D --> E["AI Model (implicit ALS) trains on data"]
E --> F["System predicts related products"]
F --> G["Recommendations shown on product page"]
🧱 Sample Code: How We Log Product Views
# logs/middleware.py
class UserLogMiddleware:
def __call__(self, request):
path = request.path
if "/product/" in path and request.session.session_key:
from .models import UserLog
UserLog.objects.create(
session_key=request.session.session_key,
url=path
)
return self.get_response(request)
🔍 Sample: Extracting Product ID from URL
import re
def extract_product_id(url):
match = re.search(r"/product/(\d+)/", url)
return match.group(1) if match else None
🧠 Sample: Building User-Item Matrix for Recommendations
from scipy.sparse import coo_matrix
from collections import defaultdict
# Example view data from logs
logs = UserLog.objects.all()
data = []
session_map, product_map = {}, {}
session_id, product_id = 0, 0
for log in logs:
session = log.session_key
product = extract_product_id(log.url)
if not session or not product:
continue
if session not in session_map:
session_map[session] = session_id
session_id += 1
if product not in product_map:
product_map[product] = product_id
product_id += 1
data.append((session_map[session], product_map[product]))
# Build sparse matrix
rows, cols = zip(*data)
matrix = coo_matrix((len(data) * [1], (rows, cols)))
🤖 Sample: Training the Recommendation Model
from implicit.als import AlternatingLeastSquares
model = AlternatingLeastSquares(factors=50, iterations=15)
model.fit(matrix)
🎯 Sample: Get Similar Products for a Product ID
def recommend_similar(product_id, top_n=5):
index = product_map.get(str(product_id))
if index is None:
return []
similar_items = model.similar_items(index, N=top_n + 1)
return [pid for pid_idx, _ in similar_items if (pid := get_product_by_index(pid_idx)) != product_id]
def get_product_by_index(index):
# reverse map from index → product_id
for pid, idx in product_map.items():
if idx == index:
return pid
return None
🛍️ Example: "Customers Who Viewed This Also Viewed..."
When a user visits the iPhone Case page, the system might recommend:
- Wireless Charger
- Tempered Glass Screen Protector
- Phone Stand
- iPad Mini Case
These aren't random — they're based on thousands of real customer sessions.
⚙️ Built-In and Fully Integrated
- ✅ No configuration needed
- ✅ Learns from actual product views
- ✅ Supports both authenticated and guest users
- ✅ Automatically improves as more data is collected
- ✅ Secure and fast (recommendations can be cached)
🚀 Ready to Grow Smarter?
If you're already on our platform, your product pages may already be showing smarter recommendations.
If you're not yet using Simplico eCommerce — contact us today and let’s upgrade your storefront together.
Get in Touch with us
Related Posts
- Transform Your Operations with Autonomous Agentic AI
- Streamline Fiber Tester Management with a Lightweight EXFO Admin Panel
- Enhancing Naval Mission Readiness with EMI Simulation: Cost-Effective Risk Reduction Using MEEP and Python
- Strengthen Your Cybersecurity Posture with Wazuh: A Scalable, Cost-Effective SIEM Solution
- OCPP Central System + Mobile App — Customer Proposal
- How TAK Systems Are Transforming Border Security
- ChatGPT-4o vs GPT-4.1 vs GPT-4.5: Which Model Is Best for You?
- Can Clients Decrypt Server Data Without the Private Key? (Spoiler: No—and Here’s Why)
- Managing JWT Authentication Across Multiple Frameworks
- Building a Lightweight EXFO Tester Admin Panel with FastAPI and Alpine.js
- Monitoring Cisco Network Devices with Wazuh: A Complete Guide
- Using FastAPI to Bridge Mobile Apps with OCPP EV Charging Systems
- Simulating EMC/EMI Coupling on a Naval Top Deck Using MEEP and Python
- How the TAK System Works: A Complete Guide for Real-Time Situational Awareness
- Building an E-commerce Website & Mobile App with Smart AI Integration — The Modern Way
- Rasa vs LangChain vs Rasa + LangChain: Which One is Right for Your Business Chatbot?
- Understanding Wazuh by Exploring the Open Source Projects Behind It
- How to Integrate App Authentication with an OCPP Central System
- Beginner’s Guide: How EV Charging Apps Communicate, Track Charging, and Calculate Costs
- Building an OCPP 1.6 Central System with Flask async, WebSockets, and MongoDB