Design hybrid recommendation systems combining multiple strategies for improved accuracy. Use this skill when the user needs to overcome single-method limitations, combine collaborative and content-based filtering, or build a production recommendation pipeline — even if they say 'combine recommendation approaches', 'best recommendation architecture', or 'cold start plus personalization'.
Scanned 5/27/2026
Install via CLI
openskills install asgard-ai-platform/skills---
name: "algo-rec-hybrid"
description: "Design hybrid recommendation systems combining multiple strategies for improved accuracy. Use this skill when the user needs to overcome single-method limitations, combine collaborative and content-based filtering, or build a production recommendation pipeline — even if they say 'combine recommendation approaches', 'best recommendation architecture', or 'cold start plus personalization'."
metadata:
category: "WP-36 推薦系統"
tags: ["recommendation", "hybrid", "ensemble", "system-design"]
---
# Hybrid Recommendation System
## Overview
Hybrid recommendation combines multiple strategies (CF, content-based, knowledge-based) to overcome individual method limitations. Common architectures: weighted, switching, cascade, feature augmentation, and meta-level. Complexity varies by architecture.
## When to Use
**Trigger conditions:**
- Building a production recommendation system that must handle cold start AND personalization
- Single methods have known weaknesses for your use case
- Need to balance accuracy, diversity, and coverage
**When NOT to use:**
- When you have a single clean data source (start with the matching single method first)
- When system simplicity is more important than marginal accuracy gains
## Algorithm
```
IRON LAW: Hybrid Adds Value ONLY With Complementary Strengths
Combining two systems with the SAME weakness amplifies the weakness.
CF fails on cold start + content-based fails on cold start = hybrid
STILL fails on cold start. Choose components that cover each other's gaps.
```
### Phase 1: Input Validation
Identify available data: interaction history (for CF), item features (for content-based), contextual signals (time, device, location). Map data to method capabilities.
**Gate:** At least two complementary data sources available.
### Phase 2: Core Algorithm
**Weighted hybrid:** Score = α × CF_score + β × CB_score. Tune weights via cross-validation.
**Switching hybrid:** Use CF when sufficient data exists; switch to content-based for cold start items/users.
**Cascade hybrid:** First stage filters (e.g., content-based), second stage ranks (e.g., CF) within filtered set.
**Feature augmentation:** Use one method's output as input features for another (e.g., CF embeddings as content features).
### Phase 3: Verification
A/B test hybrid vs individual components. Measure: accuracy (NDCG, precision@K), coverage (% of catalog recommended), diversity (intra-list diversity).
**Gate:** Hybrid outperforms best individual component on primary metric.
### Phase 4: Output
Return recommendations with source attribution for explainability.
## Output Format
```json
{
"recommendations": [{"item_id": "789", "score": 0.91, "sources": {"cf": 0.85, "content": 0.95}, "method": "weighted"}],
"metadata": {"architecture": "weighted", "weights": {"cf": 0.6, "content": 0.4}, "coverage": 0.78}
}
```
## Examples
### Sample I/O
**Input:** New user with 2 interactions + rich item feature catalog
**Expected:** Switching hybrid: content-based recommendations (insufficient CF data), transitioning to CF as interactions accumulate
### Edge Cases
| Input | Expected | Why |
|-------|----------|-----|
| Completely new user + new item | Fall back to popularity | No data for either method |
| Methods disagree strongly | Depends on architecture | Weighted averages; cascade defers to second stage |
| One component returns empty | Other component takes over | Graceful degradation |
## Gotchas
- **Complexity cost**: Each added component increases latency, maintenance, and debugging difficulty. Start simple, add complexity only when justified by metrics.
- **Weight tuning**: Static weights degrade over time. Retune periodically or use learned weights (e.g., a meta-model that predicts which component performs best per context).
- **Evaluation is harder**: You must evaluate the hybrid AND each component individually to understand contribution and detect regressions.
- **Feature leakage**: In feature augmentation, ensure the augmenting model's predictions don't leak test-set information during training.
- **Diminishing returns**: Going from one method to two gives the biggest lift. Adding a third rarely justifies the complexity.
## References
- For architecture selection decision guide, see `references/architecture-selection.md`
- For A/B testing recommendation systems, see `references/ab-testing-recs.md`
No comments yet. Be the first to comment!