paper2skills Playbook

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 个月营收区间,支撑融资/战略会议
业务痛点
增长放缓不知道问题在哪CAC 越来越高已经高于 LTV新市场要不要进没有数据支撑

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