Files
nexus/raw/跨境电商/TikTok Shop - Apache Superset Dashboard设计思路.md

867 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 1. 你的数据库结构 → 适合做哪些分析?
source:
author: shenwei
published:
created:
description:
tags: []
link:
kanban-plugin:
aliases:
cssclasses:
---
下面给出一份**极其系统、面向实战、贴合你数据库结构**的 Apache Superset Dashboard 设计方案。内容包含:
- **指标体系设计(面向选品)**
- **数据模型(Superset Dataset)如何准备**
- **核心图表(含推荐可视化类型)**
- **完整 Dashboard 结构布局**
- **高级玩法(预测、异常、趋势、自动选品)**
- **SQL 示例(基于你当前数据结构 tiktok_products)**
因为你会持续扩展抓取系统,我用的风格是“可长期演进的专业选品分析系统”。
---
# 1. 你的数据库结构 → 适合做哪些分析?
从你提供的 DDL()提炼可用于 Superset 的核心事实数据:
## **核心表:products**
字段用于分析选品的关键指标:
- `sold`(销量)
- `final_price`, `initial_price`, `discount_percent`
- `category`
- `store_name`
- `prodct_rating`(JSON,包含平均评分、评分数量)
- `timestamp`(抓取时间)
- `videos / product_videos / product_images`
- `position`(热度排名)
- `shipping_fee`, `specifications`, `colors/sizes`(JSON)
## **辅助表:product_reviews**
- `rating`
- `review_date`
- `review_text`
- `product_id`
可做情绪分析、评分趋势等(如果你未来接入 NLP)。
## **product_variations**
- `sku`, `stock`, `final_price`, `discount_percent`
可做 SKU 层价格、库存监控。
---
# 2. Superset Dashboard 的目标(适用于 TikTok Shop)
你的核心目标是:
> **“找出热卖产品 + 高评分 + 低竞争 + 高折扣” → 决定选哪些产品卖**
根据 TikTok Shop 的数据特性,一个专业选品 Dashboard 应支持:
### **核心能力**
1. **爆品发现(基于销量、评分、折扣、视频曝光)**
2. **价格 vs 销量关系分析(找出最优价格带)**
3. **类目机会洞察(某类目热卖、低竞争)**
4. **店铺监控(竞争对手表现)**
5. **SKU 层库存 + 价格管理**
6. **评论分析(质量、评分趋势)**
---
# 3. Superset 数据集(Dataset)如何准备
Superset 不会自动解析 JSON,你需要:
## **A. 预处理 JSON 字段(推荐)**
创建 SQL View:
### `view_products_cleaned`
包含:
```sql
SELECT
id,
title,
category,
store_name,
final_price,
initial_price,
discount_percent,
sold,
position,
timestamp,
JSON_EXTRACT(prodct_rating, '$.rating') AS rating,
JSON_EXTRACT(prodct_rating, '$.count') AS rating_count,
JSON_EXTRACT(videos, '$') AS videos_raw
FROM products;
```
理由:
- Superset 能直接计算 numeric fields(rating,rating_count)。
- JSON 在 chart 里很难使用,变成列更灵活。
## **B. 预处理评论 View(可选)**
```sql
SELECT
id, product_id, rating, review_date
FROM product_reviews;
```
用于评分趋势折线图。
---
# 4. Superset Dashboard 组件设计(完整方案)
下面给出**最适合 TikTok Shop 选品的 Dashboard 结构**。
---
# 🌟 **Dashboard 总结构(建议 4 个 Tab)**
---
# **📌 Tab 1:爆品雷达(核心指标总览)**
用于快速筛选「值得跟卖」的产品。
### 推荐可视化:
### **① KPI 卡片**
- 总产品数
- 热卖产品数(sold > X)
- 平均评分
- 平均最终价格
- 折扣商品占比
### **② 热门产品榜(Top10)**
图表:Bar Chart(水平条形)
维度:`title`
指标:`sold`
排序:DESC
### **③ 热门类目占比(Pie / Donut)**
维度:`category`
指标:`count(*)`
快速识别高需求类目。
### **④ 销量 vs 价格 气泡图**
图表:Scatter Plot
- X:final_price
- Y:sold
- 气泡大小:rating
- 气泡颜色:category
作用:
- 一眼识别“低价高销量类”
- 一眼识别“高客单价爆品”
### **⑤ 产品评分分布直方图**
图表:Histogram
字段:rating
分析整体产品质量分布。
---
# **📌 Tab 2:类目机会洞察(Category Analytics)**
核心目标:**识别值得进入的新类目**。
### **① 类目热度榜**
- 维度:category
- 指标:SUM(sold)
### **② 类目评分平均值 vs 销量**
图表:Heatmap
- 行:category
- 列:rating(分箱)
- 值:sold
### **③ 类目价格带分布(箱线图)**
图表:Box Plot
维度:category
指标:final_price
用途:
找出“利润空间大但竞争低”的类目。
---
# **📌 Tab 3:店铺监控(Store Performance)**
当你分析竞争对手时特别有用。
### **① 店铺销量排名**
维度:store_name
指标:SUM(sold)
### **② 店铺平均评分**
图表:Bar Chart
维度:store_name
指标:AVG(rating)
### **③ 店铺产品价格分布(箱线图)**
### **④ 店铺上新趋势**
图表:Time-series Area
维度:timestamp
指标:count(product_id)
---
# **📌 Tab 4:评论与用户反馈分析**
如果你以后做 NLP,可以进一步增强,这里给出基础方案。
### **① 评分趋势折线图(来自 product_reviews)**
- 时间:review_date
- 指标:avg(rating)
- 过滤:按产品
### **② 产品评论数量 vs 销量 散点图**
X:rating_count
Y:sold
过滤器:category
### **③ 好评/差评占比**
如果 rating_count 提取出来,可以算:
```sql
SUM(CASE WHEN rating >= 4 THEN 1 END) / COUNT(*)
```
---
# 5. Superset 中的交互过滤器(强烈推荐)
放在顶部:
- **Category**(选择类目)
- **Store Name**
- **价格范围**(Slider)
- **时间范围**(timestamp)
- **分页选择(Top N)**
- **评分范围**
这样整个 Dashboard 变成一个动态选品系统。
---
# 6. 高阶玩法(选品策略自动化)
如果你愿意,我可以帮你写 SQL 自动生成“推荐选品列表”。
例如选品评分(适合作为一个表格 Chart):
```sql
SELECT
id,
title,
category,
final_price,
sold,
rating,
rating_count,
discount_percent,
(
sold * 0.4 +
COALESCE(rating, 0) * 15 +
COALESCE(discount_percent, 0) * 0.5 +
rating_count * 0.2
) AS score
FROM view_products_cleaned
ORDER BY score DESC
LIMIT 50;
```
你可以自定义权重。
---
# 7. Dashboard 布局建议
按照 Superset 12yo+ 企业级布局习惯:
### **第一行**
- KPI 卡片(4–6 个)
### **第二行(两列)**
- 左:销量 TOP10
- 右:价格 vs 销量(散点图)
### **第三行**
- 类目占比(甜甜圈图)
### **第四行(两列)**
- 类目价格分布(箱线图)
- 类目评分热力图
### **第五行**
- 产品选品评分排行榜(表格)
你是做 SaaS 和 Cloud Delivery 的,这种布局非常适合长期运营。
---
# 8. 如果你愿意,我可以直接为你生成:
✅ Superset SQL View
✅ Superset Dashboard JSON(可以直接“Import Dashboard”)
✅ 各个图表的配置 JSON
✅ 覆盖你的业务逻辑(爆品模型、利润模型、库存模型)
只需要你告诉我:
### 你更倾向:
A. “电商选品分析” 全套 Dashboard?
B. “竞争对手监控” Dashboard?
C. “评论质量分析” Dashboard?
D. “视频带货表现分析”(基于 videos)?
我可以直接给你 Superset 可导入的完整 dashboard 文件(JSON)。
很好,你选择了 **A. 电商选品分析 Dashboard** + **B. 竞争对手监控 Dashboard**。
下面我会给出一套**专业级、完整可落地**的 Superset 方案,包含:
1. **总体结构(两个大 Dashboard)**
2. **每个 Dashboard 的图表清单**
3. **SQL View(用于 Superset Dataset)**
4. **推荐的布局结构**
5. **可选:我可以帮你自动生成可直接导入 Superset 的 Dashboard JSON**
你只需要告诉我你希望我生成 **单个 Dashboard 还是两个 Dashboard 的 JSON**。
---
# ------------------------------------
# 🟦 PART 1:电商选品分析 Dashboard(核心)
# ------------------------------------
该 Dashboard 的目标:
> 用于快速发现 TikTok Shop 上的「爆品」、「高利润」、「高评分」、「低竞争」、「价格带机会」。
---
# 1. 数据集准备(SQL View)
为了 Superset 图表更好用,你需要创建以下 View(只需要一次)。
## **① view_products_cleaned**
```sql
CREATE OR REPLACE VIEW view_products_cleaned AS
SELECT
id,
source_id,
title,
store_name,
category,
final_price,
initial_price,
discount_percent,
sold,
position,
timestamp,
JSON_EXTRACT(prodct_rating, '$.rating') AS rating,
JSON_EXTRACT(prodct_rating, '$.count') AS rating_count,
(final_price * sold) AS total_gmv,
(initial_price - final_price) AS discount_amount
FROM products;
```
**理由:**
- `rating`、`rating_count` 提出来便于做 Heatmap / Ranking
- `discount_amount` 用于看促销带货效果
- `total_gmv` 用于 GMV 排名
---
# 2. Dashboard 图表设计(25~30 个)
## **📌 第一部分:KPI 总览(最顶层,一眼看爆品)**
**指标卡:**
- 总产品数
- 热卖产品数(sold > X)
- 平均评分
- 平均最终价格
- 总 GMV
- 平均折扣比例
---
## **📌 第二部分:核心爆品分析**
### **图表 1:爆品榜(TOP 20)**
- 图表类型:Bar Chart
- 指标:`sold`
- 维度:`title`(限制展示 20 个)
### **图表 2:GMV 榜(TOP 20)**
指标:`total_gmv`
### **图表 3:评分高但销量低(潜力品)**
- 类型:Scatter
- X:rating
- Y:sold
- Size:rating_count
用于发现“评分优秀但销量没爆发”的机会。
---
## **📌 第三部分:价格带与销量关系**
### **图表 4:价格 vs 销量 气泡图**
- 类型:Scatter
- X:final_price
- Y:sold
- Size:rating_count
- Color:category
### **图表 5:价格带销量分布(直方图)**
- 类型:Histogram
- 字段:final_price 分箱
- 指标:count(*)
---
## **📌 第四部分:类目机会分析**
### **图表 6:类目销量榜**
维度:category
指标:SUM(sold)
### **图表 7:类目价格箱线图**
分析每个类目的价格带。
### **图表 8:类目评分热力图**
- 维度:category × rating
- 值:COUNT(*)
### **图表 9:类目竞争度分析**
SQL(示例):
```sql
SELECT
category,
COUNT(*) AS product_count,
SUM(sold) AS total_sold,
AVG(rating) AS avg_rating
FROM view_products_cleaned
GROUP BY category;
```
在 Superset 使用 Table + Conditional Formatting
→ 找出“产品少但销量大”的类目(典型蓝海)。
---
## **📌 第五部分:选品评分模型(自动推荐产品)**
创建一个可排序表格 Chart:
### **SQL:选品评分模型**
```sql
SELECT
id,
title,
category,
final_price,
sold,
rating,
rating_count,
discount_percent,
(
sold * 0.4 +
COALESCE(rating, 0) * 12 +
rating_count * 0.2 +
COALESCE(discount_percent, 0) * 0.5
) AS score
FROM view_products_cleaned
ORDER BY score DESC
LIMIT 100;
```
**这是选品最核心图表之一。**
---
# ------------------------------------
# 🟦 PART 2:竞争对手监控 Dashboard
# ------------------------------------
目标:
> 跟踪“目标店铺 + 竞争对手”销量、价格策略、上新节奏、评分趋势。
适合追踪 3–10 个关注店铺。
---
# 1. 顶部过滤器
- Store Name(支持多选)
- Category(可选)
- 时间范围(timestamp)
---
# 2. 核心图表设计
## **📌 店铺整体表现**
### **图表 1:店铺 GMV 排名**
维度:store_name
指标:SUM(total_gmv)
### **图表 2:店铺销量排名**
指标:SUM(sold)
### **图表 3:店铺平均评分排行**
---
## **📌 店铺产品结构分析**
### **图表:店铺产品价格分布(箱线图)**
维度:store_name
指标:final_price
### **图表:店铺类目构成饼图**
维度:category
指标:count(*)
Filter:store_name=某店铺
---
## **📌 店铺上新节奏(重点)**
你已经有字段:`timestamp`(抓取时间)
可以做趋势图:
### **图表:上新数量趋势(Time-series Bar)**
- 时间:timestamp
- 指标:count(id)
- 过滤:store_name
这能判断:
- 哪家店铺最近疯狂上新
- 是否在做活动冲 GMV
---
## **📌 价格策略对比**
### **图表:店铺最终价格均值趋势**
- 时间:timestamp
- 指标:avg(final_price)
- 按 store_name 分组
用于分析成本、价格策略变化。
---
## **📌 店铺爆品分析**
### **图表:每家店铺的爆品 TOP 10**
SQL 示例:
```sql
SELECT
store_name,
title,
sold,
final_price,
rating
FROM view_products_cleaned
ORDER BY sold DESC
LIMIT 10;
```
这种表格适合分析竞争对手的主推商品。
---
# ------------------------------------
# 🟦 PART 3:Dashboard 布局结构
# ------------------------------------
---
# 🟩 电商选品分析 Dashboard 布局
### **第一行:KPI**
6–10 个 KPI 卡片(两行)
### **第二行:爆品榜 + GMV 榜**
2 列布局
### **第三行:价格 vs 销量(气泡图)**
1 列大图
### **第四行:类目分析(3 图)**
- 左:类目销量榜
- 中:类目评分热力图
- 右:类目价格箱线图
### **第五行:选品评分模型(表格)**
全宽
---
# 🟩 竞争对手监控 Dashboard 布局
### 第一行:过滤器
### 第二行:KPI(店铺数量、总销量、平均评分)
### 第三行:店铺表现(GMV / 销量 / 评分)
三张 Bar Chart
### 第四行:店铺上新趋势
Time-series Area
### 第五行:店铺类目结构(饼图 + 表格)
### 第六行:爆品榜(按店铺分组)
---
# ------------------------------------
# 🟦 PART 4:下一步(我可以自动为你生成 Dashboard JSON)
# ------------------------------------
Superset 支持将整个 Dashboard 导出成 JSON,因此我可以为你:
### **✓ 自动生成:两个 Dashboard 的 JSON 文件**
你可以直接在 Superset 中:
**Settings → Import Dashboard → 选择 JSON**
即可一键导入完整成品 Dashboard。
包含完整的:
- 每个图表
- 每个字段映射
- 每个 SQL
- 布局
- Filter Box
- 控制面板配置
就像企业 BI 交付一样开箱即用。
---
# ❓ 请告诉我下面的问题(非常重要)
## 1. 你希望我生成:
- **单个 Dashboard(综合选品 + 竞争分析)**
还是
- **两个 Dashboard(选品分析 / 竞争对手监控)分开?**
## 2. 你现在使用的 Superset 版本是?(例如:2.1、3.0 等)
不同版本 JSON 格式略有差异。
## 3. 你的业务偏好:
- 偏向“百货类”、“电子产品”,还是“美妆类”?
(会影响哪些字段更重要)
---
回答这 3 点,我就可以直接给你 **可导入的 Superset Dashboard JSON**(强烈推荐)。