Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
181 changes: 181 additions & 0 deletions ANALYSIS_REPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
# 诸葛选品仓库分析与优化建议(v1)

## 1. 仓库现状概览

### 1.1 技术结构
- 后端:`Express` 单文件服务(`server.js`),包含:
- 20 个固定品类库(内存常量)
- 固定行动清单(内存常量)
- 固定风险预警(内存常量)
- 简化版财务预测逻辑
- 前端:`React + Vite`,核心页面在 `frontend/src/App.jsx`,通过 `step` 状态驱动 4 步流程。

### 1.2 核心流程(当前)
1. 输入预算与渠道(Step 1)
2. 从固定 20 个品类中选择(Step 2)
3. 场景选择(保守/正常/激进)
4. 展示 3 个月预测 + 行动按钮(Step 4)

> 备注:Step 3 在当前代码中实际几乎被“直达 Step 4”路径绕过(选品后立即请求预测并跳转结果),因此交互设计与代码行为存在偏差。

---

## 2. 针对你提出的 3 个核心问题的代码级诊断

## 问题 1:选品逻辑单一,缺乏“交互型选品”

### 2.1 现状证据
- 品类数据完全由后端静态数组提供,固定 20 条,且无动态来源。
- 前端 Step 2 直接全量展示并点击选中,无追问、无偏好收集、无约束过滤解释。
- 后端虽然有 `/api/categories/filter`,但前端并未调用,导致筛选能力未被产品化。

### 2.2 影响
- 用户路径是“浏览式选品”而非“引导式决策”。
- 不同类型用户(新手/有货源/有店铺数据)无法走差异化策略,推荐结果同质化。
- 缺少“为什么推荐这个品”的可解释性与信任感。

### 2.3 优化建议(优先级 P0)
1. 新增“交互问答式选品”层(建议 6~8 个关键问题):
- 预算区间、仓配能力、客单价偏好、供货稳定性、平台偏好、内容能力、可接受回本周期等。
2. 规则 + 打分模型双轨:
- 规则层先做硬过滤(禁运、资质、体积重量、起订量约束)。
- 打分层计算 `category_score = demand * margin * supply_stability * competition_penalty * channel_fit`。
3. 前端将 Step 2 改为:
- 「AI 追问面板」+「候选池动态缩小」+「推荐理由卡片(3 条证据)」。
4. 使用已存在的 `/api/categories/filter` 作为第一阶段过渡方案,快速实现“渠道/风险/预算区间”筛选。

---

## 问题 2:search/RPA 能力弱,数据雷同,榜单/评论/成交/商品资产分析不足

### 2.1 现状证据
- README 声称“真实数据搜索 + 模型总结”,但当前仓库未见任何实时抓取、ETL、数据库或任务调度实现。
- 所有核心业务数据均为代码内静态常量;无时间戳、无数据来源、无置信度分级。
- 财务预测以固定比例拆分成本、使用品类最低供货价与固定毛利区间估算,模型过于理想化。

### 2.2 影响
- 数据“同质”且不可追溯,难以用于真实投产决策。
- 缺少平台横向比较(1688/淘宝/TEMU)和纵向趋势(周/月)能力。
- 缺少评论语义(痛点、质量问题、退货原因)与竞品资产(SKU、价格带、投放)分析。

### 2.3 优化建议(优先级 P0/P1)

#### P0:先建立数据基础设施(2~3 周)
1. 数据分层:
- `raw`:原始抓取(榜单、搜索结果、商品详情、评论)
- `feature`:衍生特征(价格带、销量估算、关键词密度、差评主题)
- `serve`:选品接口聚合视图
2. 最小化数据模型(建议)
- `platform_products`(平台、类目、价格、销量、评分、店铺等级、更新时间)
- `product_reviews`(星级、内容、情绪、主题标签、时间)
- `category_daily_metrics`(类目热度、竞争度、利润率估计、上新速度)
3. 增加“数据新鲜度标记”
- 每个推荐卡片显示:`source_count`、`updated_at`、`confidence_score`。

#### P1:增强 Search 与 RPA(3~6 周)
1. Search 升级为“多源检索 + 去重 + 重排”
- 查询改写(同义词/平台术语)
- 结果去重(标题 + 图像哈希)
- 重排特征(销量势能、利润空间、竞争密度)
2. RPA 升级为“任务编排”
- 任务队列 + 失败重试 + 频控 + 反爬策略
- 结果审计日志(便于复盘与合规)
3. 评论分析最小闭环
- 情感分类 + 主题聚类(材质、尺码、耐用性、物流、售后)
- 输出“高频差评雷区”与“可优化卖点”。

#### P1:财务预测模型升级
- 由固定成本比例改为“品类参数化模型”:
- 采购成本受 MOQ/阶梯价影响
- 物流受体积重与跨仓策略影响
- 推广费受渠道与竞争度动态影响
- 输出 P10/P50/P90 三分位,而非单一场景值。

---

## 问题 3:整体交互不友好,行动阶段使用 alert 弹窗

### 3.1 现状证据
- 行动清单展示使用浏览器 `alert`,导致信息密度低、可读性差、无法二次操作。
- Step 3 逻辑与界面意图不一致(选品后直接生成预测并跳 Step 4)。
- 页面大量内联样式,状态和展示耦合,后续迭代成本高。

### 3.2 影响
- 用户完成“预测 → 执行”的关键转化路径体验中断。
- 复杂信息(行动计划、风险、复盘)无法沉淀为可执行任务。
- 无法支持“保存计划、导出、继续编辑”等业务需求。

### 3.3 优化建议(优先级 P0)
1. 移除 `alert`,改为“右侧抽屉 / 模态 + 任务清单组件”
- 支持勾选、备注、复制、导出。
2. 修复流程状态机
- Step 2(选品)→ Step 3(选场景)→ Step 4(结果)应严格按状态流转。
3. 增加结果页“解释层”
- 推荐原因、风险来源、关键假设、敏感性分析(如 CPA +10% 时利润变化)。
4. 组件化重构(中期)
- 拆分 `BudgetStep`、`CategoryStep`、`ScenarioStep`、`ForecastPanel`、`ActionChecklistPanel`。

---

## 3. 建议的目标架构(可落地)

## 3.1 后端服务拆分
- `selection-service`:选品策略与打分
- `data-service`:多平台数据采集与特征计算
- `forecast-service`:财务与风险模型
- `task-service`:行动计划、执行追踪、复盘

## 3.2 数据与任务
- 数据库:PostgreSQL(结构化)+ Redis(队列/缓存)
- 调度:Cron + 队列 worker
- 观测:接口日志、任务成功率、数据时效监控

## 3.3 API 设计升级(示例)
- `POST /api/selection/session`:创建交互式选品会话
- `POST /api/selection/session/:id/answer`:提交回答并返回下一问与候选池
- `GET /api/selection/session/:id/recommendations`:返回 TopN + 解释
- `GET /api/insight/category/:id`:榜单、评论、成交趋势、竞品画像
- `POST /api/forecast/simulate`:参数化模拟(含敏感性分析)

---

## 4. 12 周优化路线图(建议)

### 阶段 A(第 1-2 周,必须先做)
- 去 `alert`,改可交互任务面板。
- 修复 Step 流程状态机。
- 前端接入 `/api/categories/filter`,形成基础筛选。
- 给每个推荐结果增加“推荐依据”占位字段。

### 阶段 B(第 3-6 周,数据能力)
- 建立最小数据仓与采集任务。
- 引入评论主题分析与差评雷区识别。
- 将静态品类库升级为数据库表并定期更新。

### 阶段 C(第 7-12 周,策略能力)
- 上线交互式选品问答流。
- 上线多源 search 重排。
- 上线 P10/P50/P90 财务模拟与风险敏感性分析。

---

## 5. 建议跟踪指标(上线后必须监控)

- 业务指标:
- 推荐点击率、选品转化率、执行计划启用率、30 天复访率
- 数据指标:
- 数据新鲜度(小时)、抓取成功率、去重率、评论覆盖率
- 模型指标:
- 推荐满意度、预测误差(MAPE)、风险预警命中率
- 体验指标:
- 首屏耗时、关键路径完成时长、弹窗/中断率

---

## 6. 一句话结论

当前仓库已具备“演示型 MVP”雏形,但距离“可用的电商选品决策工具”还差三步:
1) 交互式决策流,
2) 可追溯的数据底座,
3) 可执行的任务化体验。
建议先完成 P0(流程与交互修复 + 最小筛选 + 解释层),再投入 Search/RPA 与数据资产建设。
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,21 @@ npm start
- `POST /api/financial-forecast` - 生成财务预测
- `GET /api/action-checklist` - 获取行动清单
- `GET /api/risk-warnings` - 获取风险预警
- `POST /api/search/live` - Tavily 实时搜索
- `POST /api/search/rerank` - 搜索结果重排(支持 `provider=mock|tavily`)
- `POST /api/rpa/tasks` - 创建 RPA 编排任务(支持 `provider=mock|tavily`)
- `GET /api/data/quality` - 数据质量与新鲜度指标


### Tavily 实时搜索配置

在运行服务前配置环境变量:

```bash
export TAVILY_API_KEY=your_tavily_key
```

未配置时,Search/RPA 会回退到 mock provider。

## 部署到 Zeabur

Expand Down
Loading