Cold-Start Product Recommendation (冷启动商品推荐)
Skill-Cold-Start-Product-Recommendation · 06-增长模型
causalexperimentforecastingoptimizationrecommendationpricing广告与投放推荐与搜索定价与利润WF-B 广告优化WF-D 选品扫描WF-F 动态定价WF-G Listing内容优化
业务视角
适用角色CEO / 增长负责人 · CMO · 财务负责人
适用平台Amazon · TikTok Shop · DTC 独立站 · 多市场
什么情况下用公司增长放缓,不知道是市场饱和还是产品问题还是获客太贵;老板要 12 个月 GMV 预测,只能靠感觉
成功是什么样的建立增长拆解模型找到瓶颈,预测未来 6-12 个月营收区间,支撑融资/战略会议
业务痛点
1. 解决的问题
新商品没有历史交互数据时,如何精准推荐给用户。
2. 核心算法逻辑
冷启动商品推荐解决的核心问题是:新商品没有历史交互数据时,如何精准推荐给用户。传统方法通过内容特征生成合成嵌入向量,但这会造成冷商品和热商品之间的表征差距。本框架采用LLM用户行为模拟的全新思路:让大语言模型基于世界知识和推理能力,模拟用户可能如何与新商品交互。
3. 业务应用场景
业务问题: 一款新上市的智能穿戴式吸奶器上架亚马逊,0销量、0评价、0浏览历史。如何在海量用户中找到最可能购买的目标用户,实现从0到1的突破?
数据要求: - 商品内容特征: - 标题:"Wearable Breast Pump Hands-Free, Smart APP Control" - 描述:静音设计、APP追踪奶量、适合职场妈妈 - 类目:母婴 > 喂养 > 吸奶器 - 价格:$129.99 - 图片:产品图、使用场景图
- 用户历史数据: - 用户画像:孕期阶段、宝宝月龄 - 历史交互:浏览过的商品、购买记录 - 偏好标签:科技爱好者、职场妈妈、价格敏感度
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- ✅ 月均上新50+ SKU的快速迭代品类
- ✅ 依赖算法推荐驱动销售的业务(如亚马逊、独立站首页推荐)
- ✅ 有GPU/LLM推理资源的团队
- ✅ 商品内容信息(标题、描述、图片)完整的业务
- ❌ 商品内容信息缺失(如只有商品ID,无描述)
- ❌ 低频上新(季度上新<10 SKU,可用人工策略)
7. 代码模板
代码块数量:2 · 路径:未检测到
"""
Cold-Start Product Recommendation using LLM Simulator
冷启动商品推荐 - 基于LLM用户行为模拟
基于论文: "Large Language Model Simulator for Cold-Start Recommendation" (WSDM 2025)
GitHub: https://github.com/ColdLLM-Team/ColdLLM-repo
"""
import numpy as np
import pandas as pd
from typing import List, Dict, Tuple, Optional
from dataclasses import dataclass
import warnings
warnings.filterwarnings('ignore')
@dataclass
class Product:
"""商品数据结构"""
item_id: str
title: str
description: str
category: str
price: float
attributes: Dict[str, str]
@dataclass
class User:
"""用户数据结构"""
user_id: str
history_items: List[str] # 历史交互商品ID
history_ratings: List[float] # 历史评分
demographics: Dict[str, str] # 人口统计信息
class ColdStartRecommender:
"""
冷启动商品推荐器 - ColdLLM简化版
"""
def __init__(self, n_filter_candidates: int = 100,
n_simulate_interactions: int = 20):
"""
初始化冷启动推荐器
Args:
n_filter_candidates: 过滤阶段候选用户数
n_simulate_interactions: 最终模拟交互数
"""
self.n_filter_candidates = n_filter_candidates
self.n_simulate_interactions = n_simulate_interactions
# 存储
self.users = {}
self.products = {}
self.user_embeddings = {}
self.interaction_matrix = None
def add_user(self, user: User, embedding: np.ndarray):
8. 论文来源
- 2402.09176