# PRD: 跨境电商销售分析报告自动生成工具

> **版本：** v1（基于 ScoredDemand 初次生成）
> **时间：** 2026-05-12
> **评分：** 29/40 — BUILD

---

## 1. Problem & User

**目标用户：** 跨境电商销售分析员工与需要向上汇报的运营人员，个人或 5 人以下团队。

**核心痛点：** 月底/季度复盘时需要手动从多个平台导出数据、在 Excel 中整理图表、撰写给老板看的分析文稿，全程耗时 4-8 小时，而且很难综合天气、汇率、节假日等外部因素做有说服力的归因。

**用户痛言：** "手动整理数据 + 写分析报告耗时"

**为什么现有方案不够：** Power BI/Tableau 能画图但不会自动写汇报文字；通用 AI 没有可信销售数据；两者之间存在明显断层。

---

## 2. Target Outcome & KPIs

- **主要 KPI：** 报告生成时间从 4-8 小时压缩到 10 分钟内
- **次要 KPI：** 报告包含 ≥3 个外部信号归因（汇率/天气/节假日）
- **PLG 转化 KPI：** 第一次生成报告后 14 天内付费率 ≥22%

---

## 3. MVP Scope (In)

- 上传 CSV 销售数据（支持 Shopify/Amazon Seller 标准导出格式模板映射）
- 自动计算核心指标：GMV、订单数、客单价、退款率、Top SKU/店铺/国家、环比对比
- 自动拉取外部信号：汇率变化（中美汇率）、节假日日历（中美）、简要 Google Trends 摘要
- LLM 生成结构化汇报文稿（含原因归因）
- 输出：可复制的汇报页面 + 3-5 张基础图表（折线图、柱状图、饼图）
- 免费额度：每月 2 次报告生成，付费后无限

---

## 4. Out of Scope

- 实时数据同步（API 直连平台）
- 多用户协作编辑
- 复杂建模或预测分析
- 移动端 App
- 自定义仪表盘

---

## 5. User Flow（Aha Moment 路径）

**注册后 5 分钟内触达价值：**

1. **注册** → 引导页："上传你的销售 CSV"（提供模板下载）
2. **上传 CSV**（拖拽，<30 秒）→ 系统检测列名并自动映射
3. **等待 ~90 秒** → 页面展示完整报告：核心指标 + 图表 + 归因文稿
4. **Aha Moment：** 运营看到"本月 GMV 下滑 12%，主要原因：人民币升值 2.3%（汇率影响约 -8%）+ 美国感恩节备货提前消耗需求"——这是他们自己写不出来的归因
5. **点击"复制报告"** → 一键复制全文发给老板
6. **第 3 次生成** → 付费墙弹出

---

## 6. Functional Requirements (P0)

**数据处理：**
- `POST /api/reports/upload` — CSV 上传 + 字段自动映射
- 字段映射规则：Shopify 标准列名 + Amazon Seller Central 标准列名内置映射表
- 指标计算：GMV（sum）、订单数（count）、客单价（avg）、退款率（refund/total）、Top 5 SKU/国家

**外部信号（轻量拉取）：**
- 汇率：Open Exchange Rates API 或 ExchangeRate-API（免费层）
- 节假日：Nager.Date API（免费）
- Google Trends：用 pytrends 或简单 Trends 摘要（可用缓存，不实时）

**报告生成：**
- `POST /api/reports/:id/generate` — 组装指标 JSON + 外部信号 → 调用 OpenAI 生成汇报文稿
- 报告结构：执行摘要 → 关键指标 → 趋势图 → 外部因素归因 → 行动建议
- 图表：Chart.js 渲染（折线/柱状/饼图，纯前端）

**Onboarding（零人工介入）：**
- 注册后展示演示报告（预置 Shopify 样本数据）
- 用户无需上传即可看到完整报告样例

**付费墙：**
- 每账户每月免费生成 2 次完整报告
- 第 3 次触发 Stripe Checkout（$29/月）
- 付费前可预览报告标题和摘要，正文模糊处理

**自动化邮件序列：**
- Day 0：欢迎 + "10 分钟生成月报"快速入门
- Day 7：提醒"月底快到了，您还有 1 次免费报告"
- 触碰付费墙时：发送"您的报告已生成，升级查看完整版"

---

## 7. Data Model（Minimal）

```
users(id, email, plan, monthly_report_count, stripe_customer_id)
reports(id, user_id, csv_path, field_mapping_json, metrics_json, external_signals_json, report_html, status, created_at)
```

---

## 8. API/Integration Notes

- **LLM：** OpenAI GPT-4o；Prompt 包含指标 JSON + 外部信号 + 中文汇报格式模板
- **图表：** Chart.js（前端渲染，数据从 `metrics_json` 读取）
- **外部 API：** ExchangeRate-API（汇率）+ Nager.Date（节假日）+ 静态 Trends 摘要（每日缓存）
- **支付：** Stripe Billing ($29/mo)
- **邮件：** Resend API

---

## 9. Acceptance Criteria

- [ ] 上传 Shopify 标准格式 CSV（含 50 行数据）→ 系统正确识别列名并计算 GMV、订单数、Top 3 SKU
- [ ] 报告中包含当月汇率变化和至少 1 个节假日事件
- [ ] 报告文稿包含 ≥1 个具体归因（含外部因素）
- [ ] 第 3 次生成 → Stripe Checkout 弹出并可完成支付
- [ ] 演示报告在注册后 5 分钟内可访问，无需上传文件

---

## 10. Delivery Plan

### Milestone 1（Day 1-2）：数据处理管道
**文件：**
- `supabase/migrations/001_schema.sql`
- `app/api/reports/upload/route.ts` — CSV 上传 + 字段映射
- `lib/metrics-calculator.ts` — GMV/订单/Top SKU 计算
- `lib/external-signals.ts` — 汇率/节假日 API 调用

**Exit Criteria：** `POST /api/reports/upload`（50 行 CSV）→ `metrics_json` 字段填充正确，汇率值从 API 拉取成功

### Milestone 2（Day 3-5）：报告 UI
**文件：**
- `lib/report-generator.ts` — OpenAI 汇报文稿生成
- `app/reports/[id]/page.tsx` — 报告展示页（文稿 + Chart.js 图表）
- `components/MetricCard.tsx`、`components/TrendChart.tsx`
- `app/demo/page.tsx` — 演示报告页（预置数据）

**Exit Criteria：** 访问报告页 → 显示 3 张图表 + 含归因的汇报文稿 + 一键复制按钮可用

### Milestone 3（Day 6-7）：PLG + 支付
**文件：**
- `app/api/stripe/checkout/route.ts`
- `app/api/stripe/webhook/route.ts`
- `lib/quota.ts` — 每月 2 次限制
- `lib/email.ts` — Resend 邮件序列
- `components/PaywallOverlay.tsx` — 正文模糊 + 升级 CTA

**Exit Criteria：** 第 3 次生成 → 正文模糊 + Stripe Checkout → 支付成功 → 完整报告解锁

---

## 11. Risks & Mitigations

| 风险 | 缓解措施 |
|------|----------|
| 用户 CSV 格式差异大 | 提供 Shopify/Amazon 模板 + 手动字段映射 fallback UI |
| 外部 API 不稳定 | 外部信号每日缓存，API 失败时使用缓存数据 |
| LLM 归因不准确 | 明确标注"AI 辅助分析，仅供参考"；用户可编辑文稿 |
| BI 竞品免费 | 差异化：BI 不会写汇报文字，本产品的价值是"可发给老板"的完整报告 |

---

## 12. Chargeability Rationale

**免费版：** 每月 2 次完整报告生成，让运营真实体验"10 分钟出一份能发老板的报告"。

**付费版（$29/月）：** 无限报告 + 自定义模板 + 历史对比（同比）；对月底需要汇报的运营来说，时间价值远超 $29/月，且免费报告已建立习惯依赖。

**付费墙触发时机：** 第 3 次生成——用户已用完两次，说明有持续需求；此时数据已在系统中，迁移到 Excel 的摩擦成本高。

