亚马逊商品评论深度分析
快速参考
| 步骤 | 操作 | 说明 |
|---|
| 1. 获取API密钥 | 读取 INLINECODE0 | 获取 Sorftime API 密钥 |
| 2. 创建报告目录 |
mkdir + data子目录 | 创建
review-analysis-reports/{ASIN}_{站点}_{日期}/data/ |
| 3. 获取产品数据 |
product_detail API | 验证ASIN并获取产品信息,保存原始SSE数据 |
| 4. 获取评论数据 |
product_reviews API | 获取全部评论数据,保存原始SSE数据 |
| 5. 解析并分类差评 | 内存处理 | 提取1-3星评论,按痛点分类 |
| 6. 保存分析数据 | JSON输出 | 保存差评分析数据到
data/negative_reviews_analysis.json |
| 7. 生成分析报告 | Markdown输出 | 保存最终报告到
report.md |
报告输出结构
CODEBLOCK0
触发条件
当用户使用 /review-analysis 命令并提供一个亚马逊产品 ASIN 时,启动此分析流程。
调用格式:
CODEBLOCK1
示例: INLINECODE7
角色设定
你是一位拥有10年经验的亚马逊高级产品开发顾问和客户体验专家,专精于通过用户评论挖掘产品痛点和改进机会。
你的核心任务是基于提供的差评文本,深度剖析产品的核心痛点,并给出能直接落地的解决方案。
参考文档中的分析框架,但根据实际评论内容灵活调整。
分析流程(优化版 v7.0 - 6维分析框架)
第一步:读取 API 密钥
CODEBLOCK2
第二步:创建报告目录结构
CODEBLOCK3
第三步:获取产品数据并保存原始响应
使用 Bash 工具调用 Sorftime API,并保存原始响应:
CODEBLOCK4
如果返回 "Authentication required" 或 "授权失败":
- - 告知用户 API 密钥无效或已过期
- 指引用户访问 https://sorftime.com/zh-cn/mcp 获取新密钥
- 更新
.mcp.json 文件
如果返回 "未查询到对应产品":
- - 验证 ASIN 格式(应为10位字母数字)
- 尝试使用其他站点
- 提示用户确认产品是否在该站点销售
第四步:获取评论数据并保存原始响应
使用 reviewType: "Negative" 参数专门获取差评:
CODEBLOCK5
重要提示:
- - Sorftime 返回的是 SSE (Server-Sent Events) 格式
- 数据格式: INLINECODE10
- 如果数据超过 25KB,会自动保存到临时文件
- 使用 Read 工具读取临时文件获取完整数据
- INLINECODE11 只返回1-3星评论,最多100条
- INLINECODE12 返回所有评论,但差评可能被稀释
处理大文件响应:
CODEBLOCK6
第五步:解析评论数据并生成分析JSON
在内存中处理评论数据,同时生成结构化分析数据:
CODEBLOCK7
服务维度分类关键词:
CODEBLOCK8
保存分析数据到JSON:
CODEBLOCK9
JSON文件结构应包含:
- - 产品基础信息(标题、品牌、价格、评分)
- 痛点分类统计(类别、数量、占比、严重程度)
- 每个痛点的详细分析(根源、改进建议、客户引用)
- 安全警示(如有)
- 质量指标估算
第六步:生成分析报告
CODEBLOCK10
第七步:生成最终分析报告
使用 Write 工具生成完整的 Markdown 报告:
CODEBLOCK11
分析框架
痛点归类(6大类别)
| 类别 | 判断标准 |
|---|
| 1. 结构/组装问题 | 零件破损、密封失效、接口断裂、安装孔位偏差、组装困难、结构不稳 |
| 2. 电子模块故障 |
USB/充电失效、LED不亮、APP连接失败、蓝牙断连、功能失效、电路问题 |
|
3. 设计/功能缺陷 | 尺寸不合理、功能缺失、操作复杂、触感不符、人体工程学问题、使用不便 |
|
4. 外观/材质问题 | 有异味、材质过敏、色差、划痕、生锈、表面处理差、材质廉價感 |
|
5. 描述不符 | 尺寸预期偏差、功能与描述不符、颜色差异、款式与图片不一致、蓝牙版本不符 |
|
6. 服务/物流问题 | 客服响应慢、退换货困难、物流延迟、发错货、配件缺失、
收到二手产品/瑕疵品、包装破损 |
服务维度细分
服务维度问题需进一步细分统计:
| 细分类别 | 判断标准 | 严重程度 |
|---|
| 收到二手/瑕疵品 | 评论提及 used、dirty、ear wax、scratch、opened、previous owner | 高 |
| 配件缺失 |
缺少充电线、耳塞、说明书、保修卡等 |
高 |
|
退换货困难 | 退货流程复杂、退款慢、卖家推诿、买家承担高额运费 | 中 |
|
客服响应慢/态度差 | 客服不回复、回复慢、态度恶劣、无法解决问题 | 中 |
|
物流延迟/包装差 | 发货慢、物流停滞、包装破损、快递服务差 | 低 |
|
发错货 | 颜色/尺寸/款式发错 | 中 |
严重程度评估
| 程度 | 判断标准 |
|---|
| 高 | 影响核心功能或存在安全隐患(如破损、泄漏、过敏、漏电) |
| 中 |
影响使用体验(如操作复杂、触感不佳、尺寸偏差) |
|
低 | 外观细节问题(如轻微划痕、包装瑕疵、个人偏好) |
解决方案双轨制
对于每个痛点,提供:
- 1. 产品/供应链改进方案
- 必须具体可执行(如:将封口宽度从3mm增加到6mm)
- 避免笼统描述(如:"提高质量"是不可接受的)
- 2. 客服话术/Listing优化建议
- 客服邮件模板(遵守亚马逊合规要求)
- Listing 文案/图片改进建议
报告模板
CODEBLOCK12
Subject: 我们深表歉意 - 立即为您更换全新产品
Dear [Customer Name],
我们非常抱歉您收到了有瑕疵的产品。这绝不符合我们的质量标准。
请立即联系 [support email],我们将为您免费更换全新产品,无需退回原产品。
再次致歉!
[Brand] Customer Service
CODEBLOCK13
亚马逊合规要求
生成邮件模板时必须遵守:
- 1. 严禁直接请求删除/修改评价
- 不得用利益交换评价
- 使用官方渠道 Contact Buyer
- 24小时内响应差评
支持的站点
US, GB, DE, FR, IN, CA, JP, ES, IT, MX, AE, AU, BR, SA
故障排查
API 授权失败
症状: 返回 "Authentication required" 或 "授权失败"
解决方案:
- 1. 访问 https://sorftime.com/zh-cn/mcp 获取新密钥
- 更新
.mcp.json 中的 API 密钥 - 重新执行分析
产品未找到
症状: 返回 "未查询到对应产品"
解决方案:
- 1. 检查 ASIN 格式(10位字母数字)
- 确认站点是否正确
- 尝试使用其他站点
中文乱码
症状: 返回的数据包含
\u4ea7\u54c1 等 Unicode 转义
解决方案:
- - Python:
json.loads() 会自动解码 - 如有 Mojibake: INLINECODE16
数据过大被截断
症状: 返回 "Output too large... saved to: {temp_file}"
解决方案:
- 1. 从提示的临时文件路径读取完整数据
- 使用 Read 工具的 offset/limit 参数分块读取
- 或使用 Grep 工具提取特定模式
服务问题识别
症状: 评论中频繁出现服务相关差评
服务维度警告阈值:
| 问题类型 | 警告阈值 | 危险阈值 |
|---|
| 收到二手/瑕疵品 | >2% | >5% |
| 配件缺失 |
>1% | >3% |
| 退换货困难投诉 | >5% | >10% |
| 客服负面评价 | >3% | >7% |
改进建议:
- - 二手/瑕疵品问题: 立即审查仓库质检流程,考虑产品召回
- 配件缺失: 检查包装流水线,增加配件扫码核对
- 退换货困难: 简化退货流程,提供预付运费标签
- 客服问题: 增加客服培训,建立24小时响应机制
差评数量很少
症状: 产品显示有几百条评论,但只返回几条差评
可能原因:
- 1. 产品质量好: 差评率低是好事,说明客户满意度高
- API限制: Sorftime API 最多返回100条评论
- 使用
reviewType: "Negative": 只获取1-3星评论,数量自然会少
数据分析建议:
- - 如果差评少于5条:分析结果仅供参考,建议结合其他数据源
- 如果差评少于10条:在报告中明确说明样本量限制
- 如果差评超过20条:分析结果具有较高的统计意义
补充数据方案:
- 1. 手动查看亚马逊产品页面的差评
- 使用其他评论抓取工具获取更多数据
- 结合客服记录了解常见问题
最佳实践
- 1. 路径处理: 在 Windows 环境下使用正斜杠
/ 或反斜杠 \ 均可,但保持一致 - 数据保存: 所有中间数据必须保存到
data/ 子目录,确保可追溯和复用 - JSON结构: 分析数据应采用结构化JSON格式,便于后续程序化处理
- 错误处理: 每个步骤后检查返回结果,及时发现问题
- 用户反馈: 遇到问题时清晰告知用户原因和解决方案
中间数据文件说明
| 文件名 | 用途 | 格式 |
|---|
| INLINECODE21 | 产品详情原始API响应 | SSE格式 |
| INLINECODE22 |
评论数据原始API响应 | SSE格式 |
|
negative_reviews_analysis.json | 差评分析结构化数据 | JSON |
数据复用场景
- - 趋势分析: 对比同一产品不同时间段的差评变化
- 竞品对比: 批量分析多个产品的差评数据
- 质量追溯: 基于原始数据验证分析结论的准确性
- 报表生成: 基于JSON数据自动生成Excel/图表
本技能文档版本: v7.0 (6维分析框架) | 最后更新: 2026-03-15
亚马逊商品评论深度分析
快速参考
| 步骤 | 操作 | 说明 |
|---|
| 1. 获取API密钥 | 读取 .mcp.json | 获取 Sorftime API 密钥 |
| 2. 创建报告目录 |
mkdir + data子目录 | 创建 review-analysis-reports/{ASIN}
{站点}{日期}/data/ |
| 3. 获取产品数据 | product_detail API | 验证ASIN并获取产品信息,保存原始SSE数据 |
| 4. 获取评论数据 | product_reviews API | 获取全部评论数据,保存原始SSE数据 |
| 5. 解析并分类差评 | 内存处理 | 提取1-3星评论,按痛点分类 |
| 6. 保存分析数据 | JSON输出 | 保存差评分析数据到 data/negative
reviewsanalysis.json |
| 7. 生成分析报告 | Markdown输出 | 保存最终报告到 report.md |
报告输出结构
review-analysis-reports/
└── {ASIN}{站点}{YYYYMMDD}/
├── report.md # 完整分析报告(Markdown)
└── data/ # 原始数据和分析结果
├── rawproductsse.txt # 原始产品详情SSE响应
├── rawreviewssse.txt # 原始评论SSE响应
└── negativereviewsanalysis.json # 差评分析结构化数据
触发条件
当用户使用 /review-analysis 命令并提供一个亚马逊产品 ASIN 时,启动此分析流程。
调用格式:
/review-analysis {ASIN} {站点}
示例: /review-analysis B0D9ZTW7PS US
角色设定
你是一位拥有10年经验的亚马逊高级产品开发顾问和客户体验专家,专精于通过用户评论挖掘产品痛点和改进机会。
你的核心任务是基于提供的差评文本,深度剖析产品的核心痛点,并给出能直接落地的解决方案。
参考文档中的分析框架,但根据实际评论内容灵活调整。
分析流程(优化版 v7.0 - 6维分析框架)
第一步:读取 API 密钥
python
使用 Read 工具读取配置文件
Read(D:/amazon-mcp/.mcp.json)
从 JSON 中提取 API 密钥
格式: url: https://mcp.sorftime.com?key={API_KEY}
第二步:创建报告目录结构
bash
创建报告目录和数据子目录
REPORT
DIR=D:/amazon-mcp/reports/review-analysis/{ASIN}{站点}_20260315
mkdir -p $REPORT_DIR/data
第三步:获取产品数据并保存原始响应
使用 Bash 工具调用 Sorftime API,并保存原始响应:
bash
获取产品详情并保存原始SSE响应
API_KEY=从.mcp.json中获取的密钥
curl -s -X POST https://mcp.sorftime.com?key=${API_KEY} \
-H Content-Type: application/json \
-d {jsonrpc:2.0,id:1,method:tools/call,params:{name:product_detail,arguments:{amzSite:US,asin:ASIN}}} \
> $REPORT
DIR/data/rawproduct_sse.txt
如果返回 Authentication required 或 授权失败:
- - 告知用户 API 密钥无效或已过期
- 指引用户访问 https://sorftime.com/zh-cn/mcp 获取新密钥
- 更新 .mcp.json 文件
如果返回 未查询到对应产品:
- - 验证 ASIN 格式(应为10位字母数字)
- 尝试使用其他站点
- 提示用户确认产品是否在该站点销售
第四步:获取评论数据并保存原始响应
使用 reviewType: Negative 参数专门获取差评:
bash
获取差评(1-3星),保存原始SSE响应
curl -s -X POST https://mcp.sorftime.com?key=${API_KEY} \
-H Content-Type: application/json \
-d {jsonrpc:2.0,id:2,method:tools/call,params:{name:product_reviews,arguments:{amzSite:US,asin:ASIN,reviewType:Negative}}} \
> $REPORT
DIR/data/rawreviews_sse.txt
重要提示:
- - Sorftime 返回的是 SSE (Server-Sent Events) 格式
- 数据格式: event: message\ndata: {JSON}\n\n
- 如果数据超过 25KB,会自动保存到临时文件
- 使用 Read 工具读取临时文件获取完整数据
- reviewType: Negative 只返回1-3星评论,最多100条
- reviewType: Both 返回所有评论,但差评可能被稀释
处理大文件响应:
bash
如果响应被保存到临时文件,复制到报告目录
cp /path/to/temp/file.txt $REPORT
DIR/data/rawreviews_sse.txt
第五步:解析评论数据并生成分析JSON
在内存中处理评论数据,同时生成结构化分析数据:
python
import json
SSE 数据解析步骤:
1. 从响应中提取 data: 后的 JSON
2. 解析 JSON 获取 result.content[0].text
3. text 中包含 Unicode 转义的中文和评论数组
4. 从评论数组中过滤 1-3 星评论
解析示例:
start_idx = content.find(data: ) + 6
json
str = content[startidx:]
data = json.loads(json_str)
提取评论文本
text = data[result][content][0][text]
查找评论数组起始位置
reviews_start = text.find([{)
reviews
json = text[reviewsstart:]
reviews = json.loads(reviews_json)
过滤 1-3 星评论
negative_reviews = [r for r in reviews if float(r.get(评星, 5)) <= 3.0]
按6大类别归类差评(v7.0 增加服务维度)
pain_points = {
电子模块故障: [],
结构/组装问题: [],
设计/功能缺陷: [],
外观/材质问题: [],
描述不符: [],
服务/物流问题: []
}
服务维度分类关键词:
python
服务/物流问题 - 优先检查
service_keywords = {
收到二手/瑕疵品: [used, gross, dirty, scratch, ear wax, dirt, opened, previous owner],
配件缺失: [missing, no cord, no cable, no charger, no ear tip, no accessory],
退换货困难: [return, refund, exchange, difficult, challenging],
客服问题: [customer service, seller, vendor, support],
物流问题: [shipping, delivery, package, packaging],
发错货: [wrong item, wrong color, wrong size, sent wrong]
}
保存分析数据到JSON:
bash
使用 Write 工具生成分析数据文件
文件路径: $REPORTDIR/data/negativereviews_analysis.json
JSON文件结构应包含:
- - 产品基础信息(标题、品牌、价格、评分)
- 痛点分类统计(类别、数量、占比、严重程度)
- 每个痛点的详细分析(根源、改进建议、客户引用)
- 安全警示(如有)
- 质量指标估算
第六步:生成分析报告
python
import json
SSE 数据解析步骤:
1. 从响应中提取 data: 后的 JSON
2. 解析 JSON 获取 result.content[0].text
3. text 中包含 Unicode 转义的中文和评论数组
4. 从评论数组中过滤 1-3 星评论
解析示例:
start_idx = content.find(data: ) + 6
json
str = content[startidx:]
data = json.loads(json_str)
提取评论文本
text = data[result][content][0][text]
查找评论数组起始位置
reviews_start = text.find([{)
reviews
json = text[reviewsstart:]
reviews = json.loads(reviews_json)
过滤 1-3 星评论
negative_reviews = [r for r in reviews if float(r.get(评星, 5)) <= 3.0]
第七步:生成最终分析报告