# Review Analysis

> 对亚马逊商品评论进行深度分析，自动识别产品痛点、分析退货原因，生成改进建议和客服回复模板。Invoke when user uses /review-analysis command with a product ASIN.

- Skill: `liangdabiao/review-analysis` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add liangdabiao/review-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/liangdabiao/review-analysis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: liangdabiao (https://skillmd.com/u/liangdabiao)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/liangdabiao/review-analysis

---


# 亚马逊商品评论深度分析

## 快速参考

| 步骤 | 操作 | 说明 |
|------|------|------|
| 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_reviews_analysis.json` |
| 7. 生成分析报告 | Markdown输出 | 保存最终报告到 `report.md` |

## 报告输出结构

```
review-analysis-reports/
└── {ASIN}_{站点}_{YYYYMMDD}/
    ├── report.md                              # 完整分析报告（Markdown）
    └── data/                                  # 原始数据和分析结果
        ├── raw_product_sse.txt                # 原始产品详情SSE响应
        ├── raw_reviews_sse.txt                # 原始评论SSE响应
        └── negative_reviews_analysis.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/raw_product_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/raw_reviews_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/raw_reviews_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[start_idx:]
data = json.loads(json_str)

# 提取评论文本
text = data['result']['content'][0]['text']

# 查找评论数组起始位置
reviews_start = text.find('[{')
reviews_json = text[reviews_start:]
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 工具生成分析数据文件
# 文件路径: $REPORT_DIR/data/negative_reviews_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[start_idx:]
data = json.loads(json_str)

# 提取评论文本
text = data['result']['content'][0]['text']

# 查找评论数组起始位置
reviews_start = text.find('[{')
reviews_json = text[reviews_start:]
reviews = json.loads(reviews_json)

# 过滤 1-3 星评论
negative_reviews = [r for r in reviews if float(r.get('评星', 5)) <= 3.0]
```

### 第七步：生成最终分析报告

**使用 Write 工具生成完整的 Markdown 报告**：

```
报告路径: $REPORT_DIR/report.md
```

## 分析框架

### 痛点归类（6大类别）

| 类别 | 判断标准 |
|------|----------|
| **1. 结构/组装问题** | 零件破损、密封失效、接口断裂、安装孔位偏差、组装困难、结构不稳 |
| **2. 电子模块故障** | USB/充电失效、LED不亮、APP连接失败、蓝牙断连、功能失效、电路问题 |
| **3. 设计/功能缺陷** | 尺寸不合理、功能缺失、操作复杂、触感不符、人体工程学问题、使用不便 |
| **4. 外观/材质问题** | 有异味、材质过敏、色差、划痕、生锈、表面处理差、材质廉價感 |
| **5. 描述不符** | 尺寸预期偏差、功能与描述不符、颜色差异、款式与图片不一致、蓝牙版本不符 |
| **6. 服务/物流问题** | 客服响应慢、退换货困难、物流延迟、发错货、配件缺失、**收到二手产品/瑕疵品**、包装破损 |

### 服务维度细分

服务维度问题需进一步细分统计：

| 细分类别 | 判断标准 | 严重程度 |
|----------|----------|----------|
| **收到二手/瑕疵品** | 评论提及 used、dirty、ear wax、scratch、opened、previous owner | **高** |
| **配件缺失** | 缺少充电线、耳塞、说明书、保修卡等 | **高** |
| **退换货困难** | 退货流程复杂、退款慢、卖家推诿、买家承担高额运费 | 中 |
| **客服响应慢/态度差** | 客服不回复、回复慢、态度恶劣、无法解决问题 | 中 |
| **物流延迟/包装差** | 发货慢、物流停滞、包装破损、快递服务差 | 低 |
| **发错货** | 颜色/尺寸/款式发错 | 中 |

### 严重程度评估

| 程度 | 判断标准 |
|------|----------|
| **高** | 影响核心功能或存在安全隐患（如破损、泄漏、过敏、漏电） |
| **中** | 影响使用体验（如操作复杂、触感不佳、尺寸偏差） |
| **低** | 外观细节问题（如轻微划痕、包装瑕疵、个人偏好） |

### 解决方案双轨制

对于每个痛点，提供：

1. **产品/供应链改进方案**
   - 必须具体可执行（如：将封口宽度从3mm增加到6mm）
   - 避免笼统描述（如："提高质量"是不可接受的）

2. **客服话术/Listing优化建议**
   - 客服邮件模板（遵守亚马逊合规要求）
   - Listing 文案/图片改进建议

## 报告模板

```markdown
# {产品标题} - 评论深度分析报告

> ASIN: {ASIN} | 站点: {站点} | 分析时间: {时间}

---

## 产品基础信息

| 项目 | 内容 |
|------|------|
| 产品标题 | {标题} |
| 品牌 | {品牌} |
| 价格 | ${价格} |
| 评分 | {评分}/5.0 |
| 评论总数 | {总数} |
| 分析样本 | {差评数量} 条 (1-3星) |

---

## 痛点分析汇总

基于 {差评数量} 条差评的深度分析：

### 痛点分布概览

| 排名 | 痛点类别 | 数量 | 占比 | 严重程度 |
|------|----------|------|------|----------|
| 1 | {类别} | {数量} | {占比}% | {高/中/低} |
| 2 | {类别} | {数量} | {占比}% | {高/中/低} |
| ... | ... | ... | ... | ... |

---

## 核心痛点深度分析

### 痛点 #1: {痛点名称}

**类别**: {类别} | **严重程度**: {程度} | **影响**: {数量}条评论 ({占比}%)

#### 客户反馈摘要
> "{典型差评引用1}"
>
> "{典型差评引用2}"

#### 根源分析
- **设计问题**: {分析}
- **生产问题**: {分析}
- **包装问题**: {分析} (如适用)

#### 产品改进建议
1. {具体可执行的改进1}
2. {具体可执行的改进2}

#### 客服回复模板

**Subject**: {邮件主题}

**Dear [Customer Name],**

{完整的邮件内容}

**Best regards,**

[Your Name]
[Brand Name] Customer Success Team

---

[重复其他痛点...]

---

## 给您的产品开发专家建议

### 产品质量改进
- {建议1}
- {建议2}

### 供应链端的"防呆"设计
- {建议1}
- {建议2}

### Listing与营销层面的"预期管理"
- {建议1}
- {建议2}

### 服务与运营优化（如存在服务维度问题）
- **客服培训**: 建立标准话术库，确保24小时内响应差评
- **退换货流程**: 简化退货流程，提供预付运费标签
- **发货质检**: 100%出库质检，杜绝二手/瑕疵品流出
- **配件管理**: 建立配件清单核对机制，确保包装完整
- **物流合作**: 评估物流服务商，选择可靠的配送渠道

---

## 亚马逊差评回复邮件模板库

### 模板类型（根据痛点类别提供）

1. **产品质量问题**（电子模块故障、结构问题、设计缺陷）
2. **服务问题**（收到二手/瑕疵品、配件缺失、退换货困难）
3. **物流问题**（延迟、包装破损、发错货）
4. **描述不符**（功能预期偏差、尺寸颜色差异）

[根据具体产品类型和痛点提供3-5个针对性模板]

### 服务问题专项模板示例

**收到二手/瑕疵品**:
```
Subject: 我们深表歉意 - 立即为您更换全新产品
Dear [Customer Name],
我们非常抱歉您收到了有瑕疵的产品。这绝不符合我们的质量标准。
请立即联系 [support email]，我们将为您免费更换全新产品，无需退回原产品。
再次致歉！
[Brand] Customer Service
```

---

## 操作建议（避坑指南）

1. **话术避讳**: 严禁使用 "Change your review" 或 "Remove your review"
2. **回复渠道**: 使用亚马逊后台 "Contact Buyer" 功能
3. **时效性**: 1星评价4小时内响应，2星12小时内，3星24小时内
4. **跟进策略**: 首封邮件聚焦解决问题，不主动提补偿

---

*报告生成时间: {时间戳}*
*数据来源: Sorftime MCP*
*分析方法: LLM 整体评论分析*
```

## 亚马逊合规要求

生成邮件模板时必须遵守：
1. 严禁直接请求删除/修改评价
2. 不得用利益交换评价
3. 使用官方渠道 Contact Buyer
4. 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 获取新密钥
2. 更新 `.mcp.json` 中的 API 密钥
3. 重新执行分析

### 产品未找到
**症状**: 返回 "未查询到对应产品"

**解决方案**:
1. 检查 ASIN 格式（10位字母数字）
2. 确认站点是否正确
3. 尝试使用其他站点

### 中文乱码
**症状**: 返回的数据包含 `\u4ea7\u54c1` 等 Unicode 转义

**解决方案**:
- Python: `json.loads()` 会自动解码
- 如有 Mojibake: `text.encode('latin-1').decode('utf-8')`

### 数据过大被截断
**症状**: 返回 "Output too large... saved to: {temp_file}"

**解决方案**:
1. 从提示的临时文件路径读取完整数据
2. 使用 Read 工具的 offset/limit 参数分块读取
3. 或使用 Grep 工具提取特定模式

### 服务问题识别
**症状**: 评论中频繁出现服务相关差评

**服务维度警告阈值**:
| 问题类型 | 警告阈值 | 危险阈值 |
|----------|----------|----------|
| 收到二手/瑕疵品 | >2% | >5% |
| 配件缺失 | >1% | >3% |
| 退换货困难投诉 | >5% | >10% |
| 客服负面评价 | >3% | >7% |

**改进建议**:
- **二手/瑕疵品问题**: 立即审查仓库质检流程，考虑产品召回
- **配件缺失**: 检查包装流水线，增加配件扫码核对
- **退换货困难**: 简化退货流程，提供预付运费标签
- **客服问题**: 增加客服培训，建立24小时响应机制

### 差评数量很少
**症状**: 产品显示有几百条评论，但只返回几条差评

**可能原因**:
1. **产品质量好**: 差评率低是好事，说明客户满意度高
2. **API限制**: Sorftime API 最多返回100条评论
3. **使用 `reviewType: "Negative"`**: 只获取1-3星评论，数量自然会少

**数据分析建议**:
- 如果差评少于5条：分析结果仅供参考，建议结合其他数据源
- 如果差评少于10条：在报告中明确说明样本量限制
- 如果差评超过20条：分析结果具有较高的统计意义

**补充数据方案**:
1. 手动查看亚马逊产品页面的差评
2. 使用其他评论抓取工具获取更多数据
3. 结合客服记录了解常见问题

## 最佳实践

1. **路径处理**: 在 Windows 环境下使用正斜杠 `/` 或反斜杠 `\` 均可，但保持一致
2. **数据保存**: 所有中间数据必须保存到 `data/` 子目录，确保可追溯和复用
3. **JSON结构**: 分析数据应采用结构化JSON格式，便于后续程序化处理
4. **错误处理**: 每个步骤后检查返回结果，及时发现问题
5. **用户反馈**: 遇到问题时清晰告知用户原因和解决方案

### 中间数据文件说明

| 文件名 | 用途 | 格式 |
|--------|------|------|
| `raw_product_sse.txt` | 产品详情原始API响应 | SSE格式 |
| `raw_reviews_sse.txt` | 评论数据原始API响应 | SSE格式 |
| `negative_reviews_analysis.json` | 差评分析结构化数据 | JSON |

### 数据复用场景

- **趋势分析**: 对比同一产品不同时间段的差评变化
- **竞品对比**: 批量分析多个产品的差评数据
- **质量追溯**: 基于原始数据验证分析结论的准确性
- **报表生成**: 基于JSON数据自动生成Excel/图表

---

*本技能文档版本: v7.0 (6维分析框架) | 最后更新: 2026-03-15*

