基于Sorftime MCP的选品分析,发现高潜力市场机会、多维度属性标注与交叉分析、验证竞争格局、测算投入产出、输出Go/No-Go决策与选品报告。 使用时机:选品立项前的市场调研。新品上架工作流第一步。 触发词:/zach-product-research
本公开版 Skill 是自包含的,不依赖任何私有工作区文件、内部参考库或品牌专属协议。
开始分析前,优先阅读本 Skill 自带的参考材料:
references/payload_schema_v2.md — v2 数据包结构与必填字段references/payload_schema.md — v1 兼容格式references/html_report_spec.md — HTML 精简报告结构要求references/analysis_patterns.md — 分析模式与洞察写法模板如果你已有自己的市场研究资料,可以作为补充背景使用;但本 Skill 的执行、交付和校验不依赖外部私有资料。
基于 Sorftime MCP 的选品分析,帮助你在有利润前提下,用最短时间、最低风险发现高潜力市场机会。
数据来源:全部通过 Sorftime MCP 工具获取,不捏造、不估算。
下游输出:选品报告(MD + HTML精简 + Dashboard看板 + Excel)→ 新品上架工作流的后续步骤:zach-competitor-deep-dive(Listing 级竞品拆解)→ zach-pricing-strategy(定价精算)→ …
注:本 Skill 已吸收原 zach-market-intelligence 的 Go/No-Go 决策框架与进入壁垒评估能力(见 Step 2.4 / Step 3.5),以及 zach-report-dashboard-renderer 的 Dashboard 可视化看板能力。两者均已标记为 deprecated。
scripts/render_deliverables.py
md + html精简 + dashboard看板 + xlsx + json,并执行交付校验schema_version: “2.0” + chapters,渲染器从结构化数据生成表格 + 插入 LLM 洞察段落report_markdown / report_html,直接写入(旧流程)python skills/zach-product-research/scripts/render_deliverables.py generate --input <payload.json>python skills/zach-product-research/scripts/render_deliverables.py validate --input <payload.json>python skills/zach-product-research/scripts/render_deliverables.py all --input <payload.json>scripts/parse_top100_dimensions.py
top100_parsed.json 与 uncertain_products.jsonscripts/cross_analysis.py
references/payload_schema_v2.md
render_deliverables.py 输入数据包时查看references/payload_schema.md
references/html_report_spec.md
references/analysis_patterns.md
assets/html_report_template.html
assets/dashboard_template.html
agents/data-pipeline.md
agents/insight-writer.md(v2 新增,替代 report-writer.md)
evals/evals.json
evals/files/sample_payload_minimal.json
以下规则适用于所有场景,不论模型能力或用户是否明确要求:
以下规则确保每份报告达到「充电宝 v2」级别的分析深度,而非纯数据堆砌:
数据点 → 含义 → 行动建议痛点 → 品牌能力 → 产品方案 的映射,不得只列痛点不给方案references/analysis_patterns.md):| 模式 | 核心逻辑 | 最低使用次数 |
|---|---|---|
| 数据→空白→机会 | 从分布数据中发现供给空白,评估机会价值 | 1 次 |
| 痛点→优势映射 | 将差评痛点映射到品牌能力和产品方案 | 1 次 |
| 交叉维度→结构性空白 | 多维度交叉发现结构性市场缺口 | 1 次 |
| 多维评估→优先级矩阵 | 多因素加权评估排出优先级 | 1 次 |
执行选品分析时,调用以下 Sorftime MCP 工具(⛔ = 必调,📋 = 按需):
| 类别 | 工具 | 用途 | 优先级 |
|---|---|---|---|
| 类目 | category_search_from_product_name | 按产品名搜索相关细分类目 | ⛔ 必调 |
category_search_from_top_node | 按大品类搜索细分类目 | 📋 按需 | |
search_categories_broadly | 多维度广泛搜索类目 | 📋 按需 | |
category_name_search | 按类目名称查询NodeId | 📋 按需 | |
category_report | 类目实时Top100报告 | ⛔ 必调 | |
category_report_from_history | 类目历史Top100报告 | 📋 按需 | |
category_trend | 类目趋势数据(⛔ NewProductSalesAmountShare 必调) | ⛔ 必调(Step 1.7) | |
category_keywords | 类目核心关键词 | 📋 按需 | |
| 关键词 | keyword_search_results | 关键词搜索结果自然位产品 | 📋 按需 |
keyword_detail | 关键词详情 | ⛔ 必调 | |
keyword_extends | 关键词延伸词 | 📋 按需 | |
keyword_trend | 关键词历史趋势 | 📋 按需 | |
| 产品 | product_search | 产品搜索 | 📋 按需 |
product_detail | 产品详情(属性标注补充验证) | ⛔ 必调(Step 1.5) | |
product_trend | 产品趋势 | 📋 按需 | |
product_reviews | 产品评论 | ⛔ 必调(Negative) | |
product_traffic_terms | 产品反查关键词 | 📋 按需 | |
product_variations | 产品变体 | 📋 按需 | |
| 选品 | potential_product | 潜力产品搜索 | 📋 按需 |
competitor_product_keywords | 竞品关键词曝光 |
⛔ 必调说明:无论场景如何,这 6 个工具必须调用,其输出是报告核心数据的来源。📋 按需工具根据场景和用户需求选择性调用。
Skill 本地存在,不等于当前会话已加载
skills/zach-product-research/,但当前会话仍提示 skill 不可用,先检查:
product-research)与正式名不一致的问题Sorftime MCP 在桌面端可能有逐次授权摩擦
<= 8 一批,避免一口气铺太多工具调用,导致中途被用户逐个确认打断。~/.cursor/mcp.json 已配置 Sorftime,可考虑走本地直连 HTTP MCP 作为非交互式 fallback;严禁回显真实 key。泛关键词经常混池,先清词池再估市场
essential oil diffuser 会混入精油本体、humidifier、reed diffuser、耗材生态。category_name_search / keyword_search_results / 标题样本检查,确认结果池到底是不是同一竞争单元,再做市场规模判断。Top100 大体量数据不要直接硬读
product_detail。只产出 Markdown 不算完成
render_deliverables.py all,同时产出 MD + HTML精简 + Dashboard + XLSX。.md,无论分析写得多完整,都视为未完成。render_deliverables.py 有严格校验门槛
excel_sheets 第一张必须是 数据来源说明chapters收到调用后,首先确认以下关键信息:
📋 选品分析 - 信息确认
1. 目标站点:[US/UK/DE/FR/IT/ES/CA/JP,默认US]
2. 选品场景:[新手入门/蓝海发现/季节性/品牌打造/定向品类分析]
3. 约束条件(可选):
- 价格区间:如 $10-40
- 月销量:如 > 1000
- 品类偏好:如 家居/电子/宠物
- 预算:如 10万人民币
4. 产业带优势(可选):如有特定供应链优势
如果用户未提供信息:默认按「新手入门」场景,美国站,价格 $10-40,无特定产业带。
1.1 类目市场扫描
调用 search_categories_broadly 或 category_search_from_product_name 筛选符合以下条件的类目:
1.2 关键词机会挖掘(⛔ 必须多维度对比)
对候选类目,调用 keyword_search_results + keyword_detail:
⛔ 多维度关键词对比表:关键词分析必须覆盖至少 3 个层级/维度,不得只分析用户提到的单一维度。
维度示例(根据品类调整):
| 维度 | 示例关键词 | 说明 |
|---|---|---|
| 品类大词 | power bank, portable charger | 最大流量入口 |
| 属性词 | fast charging power bank, wireless power bank | 功能/特性细分 |
| 规格/参数词 | 65W power bank, 20000mAh portable charger | 具体规格参数 |
| 场景词 | laptop portable charger, camping power bank | 使用场景细分 |
每个维度的关键词必须调用 keyword_detail 获取以下数据,输出对比表:
| 关键词 | 维度 | 月搜索量 | CPC | 自然位产品数 | 首页平均评论数 | 数据来源 |
|---|
检查点:确认至少 3 个维度的关键词都有 keyword_detail 数据后,再进入 Step 1.3。
1.3 潜力产品初筛
调用 potential_product + product_search:
当用户不熟悉目标品类、无法指定分析维度时,模型需要自主发现该品类的关键差异化维度。本步骤在 Step 1.5(属性标注)之前执行,输出为属性标注的维度定义。
触发条件:用户未明确指定分析维度,或指定维度 ≤ 2 个。
执行方法(四路并行,结果综合):
路径 1:Top100 标题高频词聚类
category_report 返回的 100 条产品标题做词频统计slim 出现 23 次 → 候选维度「外观形态」路径 2:关键词延伸词分析
keyword_extends,分析消费者用什么修饰词搜索keyword_extends("power bank") → "65W power bank", "slim power bank" → 候选维度「功率」「形态」路径 3:product_detail 属性字段 Key 提取
product_detailBattery Capacity, Connector Type → 候选维度「容量」「接口类型」路径 4:WebSearch 品类评测文章(可选)
输出:候选维度列表(5-8 个),每个维度含:
⛔ 必须让用户确认:输出候选维度后,请用户确认/删减/补充,再进入 Step 1.5。用户可能有品类知识补充模型发现不了的维度。
检查点:至少确认 3 个分析维度后,进入 Step 1.5。
本步骤将
category_report返回的 Top100 基础数据升级为结构化多维度属性数据,是后续交叉分析与差异化建议的基础。
输入:Step 2.1 category_report 返回的 Top100 产品列表(本步骤可在获取 Top100 后立即执行,与 Step 1 并行推进)
⛔ 必须提取的基础字段(所有品类通用,category_report 直接返回):
| 字段 | 来源 | 用途 |
|---|---|---|
上线日期 | category_report 原始字段 | Step 1.7 新品分析 |
上线天数 | category_report 原始字段 | Step 1.7 新品分析 |
这两个字段在 category_report 返回数据中已有,解析时必须一起提取,不要丢弃。
标注维度(按品类定制,以下为充电宝示例;其他品类需根据品类特征自定义维度):
| 维度 | 解析方法 | 示例规则(充电宝) |
|---|---|---|
| 功率 | 正则 (\d+\.?\d*)\s*[Ww] + V/A 推算(V×A=W) | 22.5W, 65W, 5V/3A=15W |
| 容量 | 正则 (\d[\d,]*)\s*[Mm][Aa][Hh] (忽略大小写、处理逗号) | 10000mAh, 20,000 mAh |
| 线材 | 关键词 "built-in cable", "built in", "with cable", "integrated cable" | 内置线/外置线/无 |
| 数显 | 关键词 "LED display", "digital display", "LCD", "battery indicator" | 有/无 |
| 磁吸/无线充 | 关键词 "MagSafe", "magnetic", "Qi2", "wireless charging", "Qi" | MagSafe/Qi2/Qi/无 |
| 外观形态 | 关键词 "slim", "thin", "mini", "compact", "small", "lightweight" | slim/mini/standard |
执行方法(三阶段):
标题正则 + 关键词自动标注(覆盖率约 70-80%)
⛔ product_detail 补充验证(针对置信度低的约 20-30% 产品)
product_detail 获取 bullet points / 产品描述手动 override 记录
⚠️ 标题解析注意事项(参见文末「标题解析经验库」章节)
输出:
| 文件 | 内容 |
|---|---|
top100_parsed.json | 每条产品增加 N 个属性列 + 置信度标注 |
uncertain_products.json | 需要 product_detail 验证的产品列表及验证结果 |
检查点:确认 100 条产品均已完成属性标注(允许部分维度为"未知",但不允许跳过标注步骤),再进入下一步。
基于 Step 1.5 的结构化属性数据,生成交叉分析矩阵,发现供需缺口与市场机会空白点。
适用条件:
标准交叉表:
对所有有意义的维度对(dimension pair)生成交叉矩阵:
| 交叉维度 | 分析指标 | 说明 |
|---|---|---|
| 维度A x 维度B | 产品数 | 该组合下有多少产品 |
| 维度A x 维度B | 月总销量 | 该组合的市场需求量 |
| 维度A x 维度B | 月总销额 | 该组合的市场价值 |
| 维度A x 维度B | 平均价格 | 该组合的价格水平 |
示例(充电宝):功率 x 容量、功率 x 磁吸、容量 x 线材、功率 x 外观形态 等
自动识别供需缺口:
品牌集中度分析:
输出:
| 文件 | 内容 |
|---|---|
cross_analysis.json | 所有交叉分析矩阵数据 |
| 机会空白点列表 | 纳入最终报告的"市场机会"章节 |
⛔ 交叉分析输出格式要求:
每对交叉维度的输出不得只有表格,必须包含以下结构:
| 标签 | 定义 | 必须补充的分析 |
|---|---|---|
| 空白 | 产品数 = 0 | 原因分析(技术不可行?需求不存在?被忽视?)+ 需求验证方法 |
| 薄供给 | 产品数 ≤ 2 | 现有产品表现如何?(销量/评分)+ 竞争进入难度 |
| 高需求低供给 | 月销量 Top30% 但产品数 Bottom30% | 为什么供给少?+ 进入可行性评估 |
检查点:确认至少 3 对维度组合完成交叉分析,且每对都有「关键发现」段落(不只表格),空白点/薄供给列表已生成且附原因分析,再进入 Step 1.7。
基于 Step 1.5 已提取的
上线日期字段,分析 Top100 中新品的占比、表现和趋势,判断类目对新品的友好程度。这是选品决策的关键输入——新品占比高的类目意味着新进入者有机会,反之则门槛高。
数据来源:
category_report 返回的 上线日期/上线天数 字段(Step 1.5 已提取,零额外 API 成本)category_trend(trendIndex=NewProductSalesAmountShare)→ 1 次 API 调用执行步骤:
1. 上架时间分桶统计
对 Top100 按上架时间分桶,统计每桶的产品数和销量占比:
| 时间段 | 产品数 | 月销量 | 销量占比 |
|---|---|---|---|
| ≤3 个月 | |||
| 3-6 个月 | |||
| 6-12 个月 | |||
| 1-2 年 | |||
| 2-3 年 | |||
| 3 年+ |
2. 半年内新品明细表
列出所有上架 ≤6 个月的产品,按月销量降序:
| ASIN | 品牌 | 价格 | 月销量 | 上线日期 | 天数 | 评论数 | [各属性维度] |
关注:
3. 新品销量占比趋势
调用 category_trend(trendIndex=NewProductSalesAmountShare),获取近 2 年每月的新品销量占比趋势:
4. 新品友好度判断
综合以上数据,给出类目的新品友好度评级:
| 指标 | 友好(绿灯) | 中等(黄灯) | 不友好(红灯) |
|---|---|---|---|
| 半年内新品占 Top100 数量 | ≥10% | 5-10% | <5% |
| 半年内新品销量占比 | ≥10% | 5-10% | <5% |
| 新品进入 Top50 数量 | ≥3 个 | 1-2 个 | 0 |
| 新品中是否有非头部品牌 | 有白牌/新品牌 | 仅 2-3 线品牌 | 全是头部品牌 |
| 新品销量占比趋势 | 上升 | 平稳 | 下降 |
输出:纳入报告的「市场概况」章节,含上架时间分布表、新品明细、趋势图数据、新品友好度评级。
检查点:新品分析完成且新品友好度评级已给出,再进入 Step 2。
2.1 类目深度分析
调用 category_report 获取 Top 100,分析:
检查点:确认 category_report 返回的产品数 = 100 条(⛔ 硬性规则第 1 条)。不足则重新调用或说明原因。
2.2 竞品详细分析(⛔ 差评分析须附选择逻辑)
对重点产品,调用 product_detail + product_reviews:
⛔ 竞品选择逻辑表:做差评分析前,必须先输出竞品选择逻辑表,说明为什么选这些竞品:
| ASIN | 品牌 | 选择理由 | 竞品类型 | 覆盖维度 |
|---|---|---|---|---|
| B0XXXXXXXX | BrandA | 类目销量 Top3 | 量级标杆 | 价格带-中 |
| B0YYYYYYYY | BrandB | 高功率段销量第一 | 功能差异代表 | 功率-高 |
| B0ZZZZZZZZ | BrandC | 差评率最高(4.0以下) | 痛点参考 | 痛点密集 |
| B0WWWWWWWW | BrandD | 磁吸品类入门款 | 功能差异代表 | 磁吸-入门 |
| B0VVVVVVVV | BrandE | 高端价格带代表 | 价格带覆盖 | 价格带-高 |
| B0UUUUUUUU | BrandF | 低价走量代表 | 价格带覆盖 | 价格带-低 |
⛔ 竞品选择必须满足以下覆盖要求:
| 覆盖维度 | 要求 | 说明 |
|---|---|---|
| 量级标杆 | 至少 1-2 个 | 类目 Top5 销量产品,代表市场标准 |
| 功能差异代表 | 每个主要功能维度至少 1 个 | 如:高功率代表、磁吸代表、内置线代表 |
| 价格带覆盖 | 高/中/低各至少 1 个 | 确保分析覆盖全价格段 |
| 痛点参考 | 至少 1-2 个 | 差评率高或星级低的产品,挖掘改进机会 |
选择建议:按细分段(如价格带、功率段、使用场景)各选 1-2 个代表,覆盖头部竞品 + 痛点竞品。
检查点:竞品选择逻辑表完成后,再逐一调用 product_reviews(reviewType=Negative)做差评分析。每批最多 8 个并行调用。
⛔ 差评分析按维度分类:差评痛点必须按属性维度归类(如功率相关、线材相关、数显相关、容量相关、磁吸相关、外观形态相关、通用质量问题),而非仅按产品归类。这样才能直接映射到产品设计决策。
2.3 关键词竞争分析
调用 competitor_product_keywords + product_traffic_terms:
2.4 进入壁垒评估(⛔ 必做,原 market-intelligence Step 4)
适用场景:所有正式交付版本必须输出。本节用于把“能不能做”的风险讲清楚,避免只给机会不讲门槛。
评估以下壁垒维度,每个维度给出等级(低/中/高):
| 壁垒类型 | 评估内容 | 数据来源 |
|---|---|---|
| Review 壁垒 | 达到首页需要多少 Review | category_report Top100 评论数分布 |
| 资金壁垒 | 首批备货 + 广告 + 头程 | ali1688_similar_product + 估算 |
| 技术壁垒 | 是否需要认证/专利/模具 | WebSearch + 品类知识 |
| 合规壁垒 | FDA/UL/CE/FCC 等认证 | WebSearch(见下方站点合规表) |
| 供应链壁垒 | 供应商门槛/MOQ | ali1688_similar_product |
| 品牌壁垒 | 是否需要品牌故事/忠诚度 | 竞争格局分析结果 |
站点合规速查:
| 站点 | 常见认证要求 |
|---|---|
| US | FDA(食品/化妆品)、UL(电子)、FCC(无线)、CPSC(儿童产品)、EPA(杀虫) |
| UK | UKCA、WEEE |
| DE | CE、WEEE、EPR、VerpackG(包装法) |
| FR | CE、EPR、Triman 标志 |
| IT/ES | CE、EPR |
输出:壁垒汇总表(类型 + 等级 + 预估成本 + 预估时间)+ 预估启动投入合计
财务公式:
毛利 = 售价 - 采购成本 - FBA费用 - 物流成本
净利润 = 毛利 - 广告成本 - 退货损耗 - 平台佣金(约15%)
毛利率 = 净利润 / 售价 * 100%
预估CPC:从 keyword_detail 获取
目标ACOS = 毛利率 * 50%(保守)
净利率 = 净利润 / 售价 * 100%
物流成本参考:
采购成本:可调用 ali1688_similar_product 获取1688货源参考价。
适用场景:所有正式交付版本必须输出。即便用户已经倾向进入,也必须把“进入条件、前提风险、最终判断”显式写出来。
评分体系(加权计算):
| 维度 | 权重 | 评分(1-10) | 数据来源 |
|---|---|---|---|
| 市场规模 | 20% | X | Step 1.1 category_report |
| 竞争格局 | 25% | X | Step 2.1 品牌集中度/新品占比 |
| 需求清晰度 | 15% | X | Step 1.2 关键词 + Step 1.6 交叉分析 |
| 进入壁垒(反向) | 20% | X | Step 2.4 壁垒评估 |
| 盈利能力 | 20% | X | Step 3 投入产出测算 |
决策矩阵:
| 加权总分 | 决策 | 建议 |
|---|---|---|
| 7.5-10 | GO | 强烈建议进入,优先推进 |
| 6.0-7.4 | CONDITIONAL GO | 有条件进入,需解决关键风险 |
| 4.0-5.9 | HOLD | 暂缓,需更多数据验证或等待时机 |
| 0-3.9 | NO-GO | 不建议进入,风险大于机会 |
输出:评分卡 + 决策建议 + Top3 机会 + Top3 风险 + 缓解方案
注意:如果决策为 NO-GO,流程终止,不进入 Step 4。
本步骤是报告的核心价值输出——从数据分析转化为可执行的产品策略。绝不允许"待确认"占位或只列方向不给规格。
4.1 VOC 痛点维度映射
基于 Step 2.2 的差评分析(已按维度归类),对每个维度执行四要素映射:
| 要素 | 说明 | 示例(充电宝-功率维度) |
|---|---|---|
| 痛点描述 | 该维度下消费者最高频的不满 | "充电速度慢,标称快充实际只有 10W" |
| 数据支撑 | 差评频次/占比 + 涉及竞品 | 23% 差评提及充电慢,涉及 Brand A/B/C |
| 品牌机会 | 品牌在该维度的能力优势 | 目标品牌具备快充或供应链优势,可做真实 65W |
| 产品方案 | 具体的产品设计方向 | 标配 65W GaN + LED 实时功率显示,消除信任疑虑 |
⛔ 每个属性维度(来自 Step 1.5)都必须完成此映射表,不得遗漏。
4.2 机会空白优先级排序
汇总 Step 1.6 交叉分析发现的所有空白/薄供给/高需求低供给机会,按三维评估排序:
| 评估维度 | 权重 | 评分标准(1-5 分) |
|---|---|---|
| 市场规模 | 40% | 1=月销额<$50K, 2=50-200K, 3=200-500K, 4=500K-1M, 5=>1M |
| 技术可行性 | 30% | 1=需要重大研发, 2=需要新模具, 3=改良现有方案, 4=成熟方案, 5=现有产品线可覆盖 |
| 品牌匹配 | 30% | 1=完全不匹配, 2=需要新品牌定位, 3=部分匹配, 4=高度匹配, 5=核心优势领域 |
输出格式:
| 排名 | 机会描述 | 维度组合 | 市场规模(40%) | 技术可行性(30%) | 品牌匹配(30%) | 加权总分 | 建议行动 |
|---|---|---|---|---|---|---|---|
| 1 | [具体描述] | [维度A×维度B] | X | X | X | X.X | [具体行动] |
4.3 产品矩阵规划
基于优先级排序,规划具体产品矩阵。至少完成 Tier 1(最优先进入的产品),Tier 2/3 视数据充分度而定:
Tier 模板(每个 Tier 必须包含以下所有字段):
### Tier [N]: [产品定位一句话]
**目标市场**:[对应的维度组合空白/机会]
**决策理由**:[为什么优先做这个——引用 4.2 的优先级排序数据]
| 维度 | 规格 | 决策依据 |
|------|------|----------|
| [维度1] | [具体规格值] | [为什么选这个值] |
| [维度2] | [具体规格值] | [为什么选这个值] |
| ... | ... | ... |
**目标定价**:$XX.XX(基于 Step 3 测算,毛利率 XX%)
**差异化主张**:[一句话核心卖点,区别于竞品的关键]
**对标竞品**:[ASIN] [品牌] [价格] — 我们的优势:[具体差异]
**预估月销潜力**:XX-XX 件/月(基于同维度组合现有产品表现推算)
⛔ 禁止事项:
render_deliverables.py all 一次性生成excel_sheets["类目销量Top100_明细"] 必须包含 100 条产品数据excel_sheets["属性标注_Top100"] 必须包含属性标注结果top100_raw.json 和 top100_parsed.jsoncompetitor_selection_logic 每条记录
必须含 price/monthly_sales/reviews 字段(从 product_detail 获取)在输出报告和数据文件之前,逐项检查以下清单。全部通过后才可输出,未通过项必须修正后再输出:
category_report)keyword_detail 数据?(至少 3 个维度)render_deliverables.py all 一次性生成(非分步)?洞察质量检查(⛔ 必须全部通过):
references/analysis_patterns.md)?隐赚指数(潜力指数)评估以下6项,得分越高越好:
| 指标 | 理想状态 |
|---|---|
| 排名趋势 | 稳定或上升 |
| 销量趋势 | 稳定或增长 |
| 价格趋势 | 稳定或上涨 |
| 评价门槛 | 评论数少、易追赶(<500) |
| 广告成本 | CPC低或自然流量高 |
| 上架时间 | 半年内新品 |
potential_product 可按潜力指数排序,优先筛选高分产品。
| 维度 | 理想指标 |
|---|---|
| 流量垄断 | 垄断系数 < 30% |
| 品牌分散 | 品牌数 > 80 |
| 新品活跃 | 新品占比 > 30%,新品销量占比 > 15% |
| 评价门槛 | 平均评论数 < 500 |
| 价格区间 | $10-40 |
| 售后风险 | 退货率 < 10% |
每个推荐产品必须包含以下结构:
## 【产品名称】
### 一、市场概况
- **所属类目**:[类目名称 + NodeId]
- **目标关键词**:[核心关键词]
- **月销量规模**:[市场规模]
- **平均价格**:[价格区间]
- **数据来源**:[Sorftime MCP 工具名]
### 二、"6合1"验证
- [ ] 排名趋势:[稳定/上升/下降]
- [ ] 销量趋势:[稳定/增长/下降]
- [ ] 价格趋势:[稳定/上涨/下跌]
- [ ] 评价门槛:评论数[XXX],可追赶
- [ ] 广告成本:CPC $[XXX]
- [ ] 上架时间:[XXX]个月内
### 三、竞争分析
- **品牌垄断系数**:[XX%]
- **Top3销量占比**:[XX%]
- **新品活跃度**:[高/中/低]
- **主要竞品**:[竞品ASIN及特点]
### 四、财务测算(USD)
| 项目 | 金额 |
|------|------|
| 售价建议 | $XX.XX |
| 采购成本 | $X.XX |
| FBA费用 | $X.XX |
| 平台佣金(15%) | $X.XX |
| 物流成本 | $X.XX |
| 预估毛利 | $X.XX |
| 毛利率 | XX% |
| 预估CPC | $X.XX |
| 目标ACOS | XX% |
| 净利率 | XX% |
### 五、差异化建议
- **痛点改进**:[具体改进方向]
- **卖点提炼**:[差异化卖点]
- **定价策略**:[价格方案]
### 六、风险提示
- [ ] 季节性风险:[是/否]
- [ ] 认证要求:[是/否]
- [ ] 专利风险:[是/否]
- [ ] 供应链风险:[注意事项]
search_categories_broadly 设 top3Product_sales_share < 0.4)keyword_detail)keyword_trend 验证季节性适用于用户已确定要分析的产品/品类(如"分析美国站充电宝市场"、"分析某品类竞争格局"),与场景 1-3 的"发现未知机会"不同。
与发现型场景的区别:
| 步骤 | 发现型(场景1-3) | 定向型(场景4) |
|---|---|---|
| Step 1.1 类目扫描 | 广泛搜索候选类目 | 跳过——用户已指定类目,直接用 category_search_from_product_name 定位 NodeId |
| Step 1.2 关键词 | 筛选高潜力词 | ⛔ 多维度对比——必须覆盖品类大词、属性词、规格词、场景词(至少 3 维度) |
| Step 1.4 维度发现 | 📋 按需 | ⛔ 推荐——用户未指定维度时必做;用户已指定维度时跳过 |
| Step 1.5 属性标注 | 📋 按需 | ⛔ 必做——定向分析需要多维度结构化数据,属性标注是核心步骤 |
| Step 1.6 交叉分析 | 📋 按需 | ⛔ 推荐——发现维度组合空白点,直接指导产品定义 |
| Step 2.2 竞品选择 | 按潜力指数选 | 按细分段选——按价格带/功能段/使用场景各选 1-2 个代表,覆盖市场全貌 |
| Step 2.4 进入壁垒 | ⛔ 必做 | ⛔ 必做——正式交付版本必须明确六类壁垒与启动前提 |
| Step 3.5 Go/No-Go | ⛔ 必做 | ⛔ 必做——正式交付版本必须给出量化结论,而不是只给方向 |
| Step 1.7 新品分析 | 📋 按需 | ⛔ 必做——定向分析需评估新品可进入性 |
| Step 1.3 潜力产品 | 核心步骤 | 📋 按需——用户更关心已有市场格局而非新品机会 |
执行要点:
mcp_sorftime_product_search)product_detail 返回字段与可信度指南Sorftime
product_detail返回的字段来源不同,可信度差异大。标注属性时需按可信度优先级使用。
| 字段 | 对应亚马逊位置 | 可信度 | 使用建议 |
|---|---|---|---|
| 标题 | 前台产品标题 | 高 | 主要解析来源,消费者可见,虚标会被投诉 |
| 产品描述 | 五点描述 / A+ 文字 | 中高 | 补充验证,营销文案但含具体参数 |
| 属性 | 后台 Item Specifics | 中低 | 结构化但卖家可能乱填,需交叉验证 |
| 外包装尺寸 | 物流属性 | 高 | 可推算产品实际大小,辅助判断形态 |
| 价格/销量/评论/排名 | 前台公开数据 | 高 | 基础信息,直接使用 |
| 主图 URL | 产品图片链接 | — | 当前无法 OCR,仅供人工查看 |
使用优先级:标题 > 产品描述(五点) > 属性字段(后台)
属性字段常见问题:
Special Feature:卖家经常堆砌不相关关键词,不可作为属性判断依据Battery Capacity:通常准确(亚马逊有格式要求),可直接使用Connector Type:格式不统一(有的写 "USB-C",有的写 "Output: USB-C2+USB-A1"),需解析Color / Style:通常准确,可直接使用特征 字段经常为空 {},不要依赖多维度分析流程通常需要 2-3 小时甚至跨 session 完成。为防止上下文压缩或 session 中断导致数据丢失,必须在关键节点持久化中间结果。
⛔ 持久化检查点:
| 完成步骤后 | 必须保存的文件 | 说明 |
|---|---|---|
| Step 1.1 category_report | top100_raw.json | 原始 Top100 数据,后续所有分析的基础 |
| Step 1.4 维度自发现 | 记录在 session 中或追加到报告 | 用户确认的维度列表 |
| Step 1.5 属性标注 | top100_parsed.json + uncertain_products.json | 标注后数据 + 待验证列表 |
| Step 1.6 交叉分析 | cross_analysis.json | 交叉矩阵 + 空白点 |
| Step 2.2 VOC 分析 | voc_analysis.json | 竞品选择逻辑 + 差评分类 |
原则:
Sorftime MCP 返回的数据量通常较大(Top100 约 50KB+),直接用 Read 工具读取会超出 token 限制导致失败。所有 Sorftime 大数据返回一律用 Python 脚本解析,不要尝试 Read 工具直读。
| 工具 | 返回大小 | 处理方式 |
|---|---|---|
category_report | ~50KB(100 条产品) | ⛔ 必须用 Python 脚本解析 |
product_detail(批量) | 每个 ~2-5KB,批量 ≥5 个时总量大 | ⛔ 必须用 Python 脚本解析 |
keyword_detail | 每个 ~0.5KB | 单次可直读,批量用脚本 |
product_reviews | ~5-20KB(按产品) | 建议用 Python 脚本解析 |
| 其他单次调用 | <5KB | 可直读 |
Sorftime category_report 返回数据的结构不是标准 JSON,而是包裹在 list[0]['text'] 中,前面带有一行指令文本。必须用以下方式解析:
import json
# raw_data 是 category_report 的返回值(保存为文件后读取)
with open('top100_raw.json', 'r') as f:
raw = json.load(f)
# 结构:list[0]['text'] 包含 JSON,前面有指令前缀
text_content = raw[0]['text']
json_start = text_content.index('{') # 找到第一个 { 的位置
data = json.loads(text_content[json_start:])
# data 现在是标准 dict,包含 Top100 产品列表
products = data.get('products', []) # 具体 key 视返回格式而定
⛔ 不要:
| 规则 | 说明 |
|---|---|
| 每批最多 8 个并行调用 | 超过 8 个可能触发限流 |
| 返回结果用 Python 脚本解析 | 批量结果合并处理,提取需要的字段 |
| 先标题解析,再对"未知"项补调 | 标题覆盖率约 70-80%,仅对缺失项调 product_detail,节省 API 调用 |
标准两步流程(Step 1.5 细化):
Step 1: 标题正则解析 100 个产品 → 标注已知/未知
Step 2: 对"未知"产品批量调 product_detail(每批 ≤8 并行)→ 从描述/属性中提取缺失值
这比对全部 100 个产品调 product_detail 节省约 70-80% 的 API 调用量。
product_detail 一致,每批最多 8 个 ASIN 并行调用,再合并解析,以减少总耗时voc_analysis.json本节记录标题正则解析中的常见陷阱与经验规则,供 Step 1.5 执行时参考,避免重复踩坑。按品类积累,新品类调研后应补充新的经验条目。
| 陷阱类型 | 示例 | 错误理解 | 正确处理 |
|---|---|---|---|
| 相似词混淆 | "Lighting Input" | Lightning 线材 | 这是输入端口描述,不是内置 Lightning 线 |
| V/A 功率推算 | "5V/3A" | 不知道功率 | V x A = W,即 5V/3A = 15W,5V/2.4A = 12W |
| PD 功率推断不可靠 | "PD Fast Charging" | 等于 20W | PD 可能是 15W/18W/20W/30W 中任何一个,需 product_detail 确认 |
| "Fast Charging" 含义模糊 | "Fast Charging Power Bank" | 高功率快充 | 实际可能是 12W-20W 任何功率,需 product_detail 确认 |
| 容量格式多样 | "10000mah", "10,000 mAh" | 解析失败 | 正则需忽略大小写 [Mm][Aa][Hh],处理逗号 \d[\d,]* |
| 标题营销夸大 | "Super Fast", "Ultra Quick" | 高功率 | 营销用词无标准含义,不可作为属性值 |
| 多功能合并描述 | "3-in-1 Charger Cable" | 三条线 | 可能是一条三合一线,需验证 |
| 维度 | 解析要点 | 正则/规则 |
|---|---|---|
| 功率 | 优先匹配明确 W 值;无 W 值时用 V*A 推算;仅有 "PD"/"Fast Charging" 标记为"待确认" | (\d+\.?\d*)\s*[Ww] 优先;(\d+\.?\d*)\s*[Vv]\s*/?\s*(\d+\.?\d*)\s*[Aa] 次之 |
| 容量 | 忽略大小写、处理逗号分隔符 | (\d[\d,]*)\s*[Mm][Aa][Hh] |
| 线材 | 区分"内置线"和"输入端口";"Lighting Input" 不是内置线 | 关键词匹配 + 排除 "input"/"port" 后缀 |
| 磁吸 | MagSafe/Qi2 属于磁吸无线充;普通 Qi/wireless 属于无线充但非磁吸 | 分层标注:MagSafe > Qi2 > Qi > 无 |
| 数显 | "LED" 单独出现可能是指示灯而非数显屏 | 需匹配 "LED display"/"LED screen" 而非仅 "LED" |
| 维度 | 解析要点 | 正则/规则 |
|---|---|---|
| 功率 | 优先匹配明确 W 值;无 W 值时 USB-A 单口默认 ≤12W;仅标 "PD"/"Fast Charging" 需 product_detail 确认 | (\d+\.?\d*)\s*[Ww] |
| 接口数 | 区分"端口数"和"装数":2 port = 2口,2 pack = 2装 | "dual"=2口, "3 port"=3口, 数字+port |
| 接口类型 | 仅标注 USB-C / USB-C+USB-A 两类;纯 USB-A 产品极少(已退出主流) | 默认 USB-C,含 "USB-A"/"USB A" 标为混合型 |
| 带线 | "with cable"/"with cord"/"built-in cable" = 带线;注意区分"带线充电器"和"充电线单品" | 关键词匹配 |
| 装数(Pack) | (\d+)\s*-?\s*[Pp]ack 提取;无 Pack 标注默认 1装 | 正则提取 |
| GaN | 标题含 "GaN"/"Gallium Nitride" = 是 | 大小写不敏感 |
| 折叠插脚 | "foldable"/"fold"/"foldable plug" = 是 | 关键词匹配 |
| 陷阱 | "2 Pack" vs "2 Port" 最常混淆;"USB C Charger Block 2 Pack" = 2装单口,不是2口 | 需组合上下文判断 |
| 陷阱 | 标题无 W 值的 USB-A 产品通常是 5V/2.1A=10W 或 5V/2.4A=12W,需 product_detail 确认 | V×A 推算 |
| 陷阱 | "40W" 标题可能是 "20W × 2 port" 总功率,也可能是单口 40W,需看接口数 | 结合接口数判断 |
product_detail 验证队列定向品类分析(场景 4)的标准输出文件结构:
outputs/market-research/{brand}/{品类}/{version}/
├── top100_raw.json # 原始 Top100 数据(category_report 直接输出)
├── top100_parsed.json # 属性标注后的 Top100 数据(Step 1.5 输出)
├── uncertain_products.json # 需 product_detail 验证的产品列表
├── cross_analysis.json # 交叉分析结果(Step 1.6 输出)
├── voc_analysis.json # VOC 差评分析结果
├── {date}_{site}_{品类}_市场调研报告_{version}.md # 完整 MD 报告
├── {date}_{site}_{品类}_市场调研_数据_{version}.xlsx # Excel 数据(多 Sheet)
├── {date}_{site}_{品类}_精简报告_{version}.html # ⛔ HTML 精简报告(三件套必出)
├── parse_top100_dimensions.py # 标题解析脚本(可选,复杂品类用)
├── apply_overrides.py # 手动修正脚本(可选)
├── cross_analysis.py # 交叉分析脚本(可选)
└── export_to_excel.py # Excel 导出脚本
其中 {version} 格式为 v{N}_{YYYYMMDD}(如 v2_20260228),便于同品类多次调研的版本管理。
必须同时输出三类文件(⛔ 三件套必出)(与 market-comparison 及「外部数据调用规范」一致):MD 报告 + Excel 多 Sheet + HTML 精简报告,便于负责人逐项、逐 ASIN 验证且来源可追溯。
| 类型 | 格式 | 文件命名 | 用途 |
|---|---|---|---|
| 报告 | .md | [日期]_[站点]_[关键词]_选品报告.md | 可读结论与建议 |
| 数据 | .xlsx(多 Sheet) | [日期]_[站点]_[关键词]_选品数据.xlsx | 可验证、可透视、可逐条核对;每个 Sheet 含义与来源明确 |
| ⛔ 精简 | .html | [日期]_[站点]_[关键词]_精简报告.html | 快速浏览关键结论,可直接在浏览器打开分享 |
HTML 精简报告输出规范(⛔ 所有品类统一,参考充电宝 v2 / 充电器水准):
HTML 精简报告须与 MD/Excel 同源数据一致,且结构、样式、区块完整,禁止仅「一段话 + 简单表格」的简陋版。必须包含以下区块与样式约定:
| 区块 | 必选 | 内容要求 | 样式/组件 |
|---|---|---|---|
| Header | ⛔ | 主标题(品类+市场调研)+ 副标题(品牌 · 站点 · 日期 · 版本) | 居中;主标题 28px;副标题灰色 14px |
| 市场大盘 | ⛔ | 4–8 个核心 KPI(Top100 月销量、月销额、均价、中国卖家占比、Top3 集中度、新品占比、平均评分等) | KPI 卡片网格(kpi-grid + kpi-card):每卡 label + value + note;具体数字,禁止「约」「少量」 |
| 多维产品分布 | ⛔ | 该品类 3–6 个属性维度,每维「主力段 / 销量占比」+「次要段 / 占比」+「关键洞察」一栏 | 表格:表头维度、主力段、销量占比、次要段、占比、关键洞察;数字为具体值 |
| 消费者痛点 | ⛔ | 差评按维度归类的 Top 5–6 条,每条:标题 + 频率/占比(可选)+ 简短描述 | 痛点卡片网格(pain-grid + pain-card):排名圆标 + 标题 + 频率 + desc;可加 insight 框总结品牌机会 |
| 供需缺口/机会空白 | ⛔ | 交叉分析得出的 3–5 个高价值空白或薄供给组合;维度组合、状态(空白/薄供给)、竞品数、为什么值得关注 | 表格 + gap-tag(empty/scarce)标注状态 |
| 品牌/竞品格局 | ⛔ | Top 5–10 品牌:品牌、SKU 数、月销量、份额、定位、对我方含义 | 表格;必须有明确结论,不得只抄品牌名单 |
| 进入壁垒评估 | ⛔ | Review / 资金 / 技术 / 合规 / 供应链 / 品牌 六类壁垒,含等级、成本/时间、前置条件 | 表格 + 结论段落 |
| Go / No-Go评分卡 | ⛔ | 5 维度评分、加权总分、结论、进入前提、Top3 风险与缓解 | 评分表 + 结论框 |
| 品牌建议 | ⛔ | 产品矩阵或策略建议(可按 Tier1/Tier2 或统一策略表);规格、价格带、差异化一句 | 策略卡片(tier-card)或表格;与 MD 报告建议一致 |
| Footer | ⛔ | 数据来源(Sorftime MCP)、采集日期、完整报告 .md 与 .xlsx 文件名 | 居中、小字、灰色、border-top |
样式约定:使用 CSS 变量统一主色与灰度(如 --blue, --gray-100);容器 max-width 960px、padding 40px 24px;表格带圆角、斑马悬停、表头背景;响应式:小屏 KPI 两列、痛点单列。参考实现:使用当前任务输出的公开示例 HTML 结构作为基准,不引用品牌专属历史案例路径。
自检:交付前确认 HTML 含上述 6 个必选区块且无「少量」「约」等模糊表述;与同目录 MD 报告数据一致。
存储位置:统一为 outputs/market-research/[品牌名]/[品类slug]/[version]/;品牌未指定时建议使用 outputs/market-research/_draft/[品类slug]/[version]/。不要把正式交付文件直接散落在仓库根目录。
Excel 多 Sheet 结构(必须包含数据来源说明、总结与明细;凡「Top100」等须在数据来源说明中区分含义):
| Sheet 名 | 类型 | 数据含义(须在「数据来源说明」中写明) | 主要字段 |
|---|---|---|---|
| 数据来源说明 | 必选 | 本文件所有 Sheet 的来源与含义 | Sheet名、数据来源工具、数据含义、关键参数、数据获取日期 |
| 市场概况 | 总结 | 类目+关键词汇总指标(category_search + keyword_detail) | 类目名称、NodeId、Top100月销量、Top100月销额、平均价格、…、数据获取日期 |
| 类目销量Top100_明细 | 明细 | 类目销量 Top100 榜单(category_report,该类目按销量前 100 产品) | ASIN、标题、品牌、卖家、价格、月销量、月销额、评论数、星级、…、数据来源_工具、数据来源_含义 |
| 属性标注_Top100 | 明细(Step 1.5) | Top100 产品的结构化属性标注结果 | ASIN、标题、品牌、[各属性维度列]、置信度、验证方式(标题/product_detail/override)、数据来源_工具 |
| 交叉分析_矩阵 | 分析(Step 1.6) | 维度交叉表矩阵数据 | 维度A、维度B、产品数、月总销量、月总销额、平均价格 |
| 交叉分析_机会空白 | 分析(Step 1.6) | 供需缺口与机会空白点 | 维度A值、维度B值、产品数、判定(空白/薄供给/高需求低供给)、Top3品牌占比 |
| 关键词自然位产品_明细 | 明细 | 某关键词搜索自然位前 N 产品(keyword_search_results,非类目榜) | ASIN、标题、品牌、价格、月销量、评论数、…、数据来源_工具、关键词、数据来源_含义 |
| 潜力产品_明细 | 明细 | 潜力产品列表(potential_product) | ASIN、标题、品牌、价格、月销量、评论数、潜力指数、数据来源_工具、数据来源_含义 |
| 竞品差评摘要 | 明细 | 某 ASIN 差评摘要(product_reviews, reviewType=Negative) | ASIN、评论类型、痛点维度、摘要或高频词、数据来源_工具、数据来源_含义 |
| 品牌_竞品格局 | 必选 | Top 品牌与竞品角色格局 | 品牌、SKU数、月销量、份额、角色定位、对目标品牌含义 |
| 竞品选择逻辑 | 必选(若有差评分析) | 差评分析所选竞品及选择理由 | ASIN、品牌、选择理由、竞品类型(量级标杆/功能差异代表/价格带覆盖/痛点参考)、覆盖维度、数据来源_工具 |
| 关键词对比_分段 | 必选 | 多维度关键词对比(大词/属性词/规格词/场景词) | 关键词、维度、月搜索量、CPC、自然位产品数、首页平均评论数、数据来源_工具 |
| 新品分析 | 必选(Step 1.7) | Top100 中新品(≤6个月)分布与趋势 | ASIN、标题、品牌、上线日期、上线天数、月销量、月销额、价格、[属性维度列]、新品友好度评级、数据来源_工具 |
| 进入壁垒评估 | 必选 | 六类进入壁垒汇总与启动前提 | 壁垒类型、等级、数据锚点、预估成本、预估时间、对目标品牌含义 |
| Go-NoGo评分卡 | 必选 | 五维加权评分与结论 | 维度、权重、评分、依据、加权分、总分、决策 |
数据来源说明示例行:
| Sheet名 | 数据来源工具 | 数据含义 | 关键参数 | 数据获取日期 |
|---|---|---|---|---|
| 类目销量Top100_明细 | mcp_sorftime_category_report | 类目销量 Top100 榜单(该类目实时销量前 100 产品) | amzSite=US, nodeId=xxx | 2026-02-12 |
| 关键词自然位产品_明细 | mcp_sorftime_keyword_search_results | 关键词「portable charger」搜索自然位前 50 产品 | amzSite=US, searchKeyword=portable charger | 2026-02-12 |
命名与含义:
生成方式:默认使用 skill 自带脚本,不再要求手工分别拼 MD / HTML / Excel。
render_deliverables.py 使用){
"schema_version": "2.0",
"metadata": {
"brand": "AORYVIC",
"category": "wood-furniture-legs",
"version": "v1_20260311",
"date": "20260311",
"site": "US",
"keyword": "wood-furniture-legs",
"created": "2026-03-11 16:20",
"topic": "AORYVIC Wood Furniture Legs Sofa Legs",
"type": "选品报告",
"data_sources": [
"sorftime MCP: category_report",
"sorftime MCP: keyword_detail"
]
},
"chapters": {
"ch01_executive_summary": { "conclusions": [...], "go_nogo_verdict": "GO", "one_line_summary": "..." },
"ch02_market_overview": { "kpis": [...], "keyword_comparison": [...], "insight": "..." },
"ch03_dimension_distribution": { "dimensions": [...] },
"ch04_cross_analysis": { "matrices": [...] },
"ch05_competitor_brands": { "competitor_selection_logic": [...], "brand_landscape": [...], "insight": "..." },
"ch06_voc_pain_points": { "by_dimension": [...] },
"ch07_opportunity_gaps": { "opportunities": [...], "scoring_method": "...", "insight": "..." },
"ch08_strategic_recommendations": { "tiers": [...], "brand_strategy": "...", "timeline": "..." },
"ch09_barriers_go_nogo": { "barriers": [...], "go_nogo_scorecard": [...], "verdict": "GO", "risks": [...] },
"ch10_appendix": { "tool_calls": [...], "data_date": "...", "files": [...] }
},
"excel_sheets": {
"数据来源说明": [{ "...": "..." }],
"市场概况": [{ "...": "..." }]
},
"artifacts": {
"top100_raw.json": [],
"cross_analysis.json": []
}
}
完整 v2 Schema 详见 references/payload_schema_v2.md
v1 payload 含 report_markdown / report_html 字段,无 schema_version 和 chapters。渲染器自动检测并走旧路径。
render_deliverables.py 会自动:
outputs/market-research/{brand}/{category}/{version}/{date}_{site}_{keyword}_市场调研报告_{version}.md(从 chapters 模板渲染){date}_{site}_{keyword}_精简报告_{version}.html(从 chapters 模板渲染){date}_{site}_{keyword}_可视化看板_{version}.html(Dashboard,从 chapters 构建 view-model){date}_{site}_{keyword}_市场调研_数据_{version}.xlsxexcel_sheets_data.json、unified_payload.json 与 artifacts 中声明的原始/中间 JSON数据来源说明执行 python skills/zach-product-research/scripts/render_deliverables.py all --input <payload.json> 后,必须同时满足:
validate_okoutputs/market-research/...数据来源说明未调用的工具对应 Sheet 可省略或留空列表,不得用估算填充。
每次修改脚本或模板后,至少运行一次:
python skills/zach-product-research/scripts/render_deliverables.py all --input skills/zach-product-research/evals/files/sample_payload_minimal.json --root .
只有返回 validate_ok,才说明交付链路没有被改坏。
/zach-competitor-deep-dive — 竞品深度拆解/zach-pricing-strategy — 定价策略/zach-keyword-expansion — 关键词拓展本公开版只负责产出和校验四件套交付物,不内置任何私有系统写回逻辑。
如果你有自己的工作流系统,可以在交付完成后自行把这些字段接到:
建议同步的最小字段包括:
报告完成状态(四选一):
validate_ok| 📋 按需 |
| 供应链 | ali1688_similar_product | 1688相似产品(采购成本) | 📋 按需 |
| 1688参考 | 明细 | 1688 相似品(ali1688_similar_product) | 标题、价格、链接、数据来源_工具、数据来源_含义 |