下面给出一个面向“Shopee 销售数据分析”的实用完整框架,帮助你从数据源、建模、分析到看板落地快速落地。内容覆盖跨区域、多币种、广告投放和物流等场景的分析要点。
一、分析目标与核心指标
- 目标要点
- 全局与区域销售健康状况(GMV、订单、客单价、毛利)以及广告投放的投入产出(ROAS、CPC、CVR)。
- 区域/品类/SKU 的增长机会,广告结构与定价策略的优化点。
- 库存、物流与退货对利润的影響,以及促销活动的增量效果。
- 核心指标(按逻辑层级)
- 交易层/销售层:GMV、订单数、客单价(AOV)、毛利、净利、毛利率、Take Rate(平台抽成)。
- 广告与投放:广告花费、曝光、点击、CTR、CPC、CPM、广告收入/ROAS、ROI。
- 区域与币种:不同区域的 GMV、毛利、ROAS 的本地货币与 USD/主基准币的对比。
- 运营维度:订单完成率、退货率、物流时效、缺货率、促销带来的增量销售。
二、数据源与口径(常见表结构与字段要点)
- 主要数据源
- Shopee 广告数据:Campaign、AdGroup、Keyword、ad_spend_local、impressions、clicks、orders、revenue_local、cpc/local、cpm/local、region_id、date_key、currency_code 等
- 交易数据:Orders/OrderItems、Product、Region、Date、Currency、Discount、ShippingCost、Tax、Refunds
- 商品与维度:DimProduct、DimCategory、DimRegion(国家/地区、货币)、DimDate、DimSeller
- 外部维度(可选):ExchangeRate(date_key、currency_code、rate_to_usd)、节假日日历、物流时效数据
- 跨境口径要点
- 汇率与币种:对不同区域使用各自币种,按日汇率转换为统一基准币(如 USD)。
- 时区与日期:统一日期字段与时区,避免跨区域数据错位。
- 费用口径:将税费、运费、退货、折扣等纳入成本与利润口径。
- SKU 与区域一致性:同一 SKU 在不同区域的本地化属性差异需要对齐。
三、数据模型设计(简化的星型结构)
- 事实表
- FactSales:order_id、date_key、region_id、seller_id、product_id、category_id、currency_code、quantity、price_per_unit、discount、shipping_cost、revenue_local、cost_local、profit_local、order_status、delivery_time
- FactAdPerformance:campaign_id、ad_group_id、keyword_id、region_id、date_key、impressions、clicks、ad_spend_local、revenue_attributed_local、orders、cpc、cpm、roi_local
- FactReturns:return_id、date_key、region_id、order_id、product_id、quantity、refund_amount_local
- FactInventoryLog:product_id、region_id、date_key、stock_on_hand
- 维度表
- DimDate:date_key、date、year、quarter、month、day_of_week、is_holiday
- DimRegion:region_id、region_name、country_code、currency_code
- DimProduct:product_id、sku、product_name、category_id、brand
- DimCategory:category_id、category_name
- DimCampaign、DimAdGroup、DimKeyword
- DimSeller:seller_id、seller_name
- 设计要点
- 统一日级及以上粒度,便于时间序列分析
- 外键关系清晰,方便跨区域聚合
- 支持币种、区域、税费等维度的灵活组合
四、核心分析场景与看板建议
- 全局与区域对比
- 按区域汇总 GMV、订单、ROAS、利润等,附上汇率对比分析。
- 商品与品类分析
- Top SKU/Top Category 的区域分布、毛利贡献、定价敏感性分析。
- 广告效果分析
- Campaign/AdGroup/Keyword 的 ROAS、CPC、CTR、CVR、ROI 的区域分解,识别高效/低效项。
- 促销与时效
- 不同促销活动前后的人均单价、转化率、增量销售,以及区域差异。
- 物流与售后
- 交付时效、准时率、退货率对利润的影响,以及高退货原因的识别。
- 看板设计要点
- MVP:区域级 GMV、Orders、ROAS 的总览;Top 10 区域/SKU;广告 ROI 的区域分解。
- 深化:按 Campaign/AdGroup/Keyword、按 SKU、按区域对比的多维看板;引入汇率敏感性与对冲建议。
- 数据质量监控与告警:数据缺失、异常波动、时区错位的自动告警。
五、直接可用的 SQL 模板(可按你们的数据库语法微调)
假设表结构为:FactSales、FactAdPerformance、DimDate、DimRegion、DimProduct、DimCampaign、ExchangeRate。
1) 最近 30 天区域级 Revenue(本地货币)与订单数
SELECT r.region_name,
SUM(s.revenue_local) AS revenue_local,
SUM(s.quantity) AS orders
FROM FactSales s
JOIN DimRegion r ON s.region_id = r.region_id
JOIN DimDate d ON s.date_key = d.date_key
WHERE d.date BETWEEN CURRENT_DATE - INTERVAL '30 DAY' AND CURRENT_DATE
GROUP BY r.region_name
ORDER BY revenue_local DESC;
2) 最近 60 天区域级 Revenue 转 USD(含简单汇率转换)
SELECT r.region_name,
SUM(s.revenue_local) AS revenue_local,
SUM(s.revenue_local * er.rate_to_usd) AS revenue_usd
FROM FactSales s
JOIN DimRegion r ON s.region_id = r.region_id
JOIN DimDate d ON s.date_key = d.date_key
JOIN ExchangeRate er ON er.date_key = d.date_key AND er.currency_code = s.currency_code
WHERE d.date BETWEEN CURRENT_DATE - INTERVAL '60 DAY' AND CURRENT_DATE
GROUP BY r.region_name;
3) 区域广告 ROAS(以 USD 口径,需汇率表)
SELECT r.region_name,
SUM(a.revenue_attributed_local * er.rate_to_usd) AS revenue_usd,
SUM(a.ad_spend_local * er.rate_to_usd) AS ad_spend_usd,
SAFE_DIVIDE(SUM(a.revenue_attributed_local * er.rate_to_usd),
NULLIF(SUM(a.ad_spend_local * er.rate_to_usd), 0)) AS roas_usd
FROM FactAdPerformance a
JOIN DimRegion r ON a.region_id = r.region_id
JOIN DimDate d ON a.date_key = d.date_key
JOIN ExchangeRate er ON er.date_key = d.date_key AND er.currency_code = a.currency_code
WHERE d.date BETWEEN CURRENT_DATE - INTERVAL '30 DAY' AND CURRENT_DATE
GROUP BY r.region_name
ORDER BY roas_usd DESC;
4) Top SKU 按区域的收入(USD)
SELECT p.product_id, p.sku, r.region_name,
SUM(s.revenue_local * er.rate_to_usd) AS revenue_usd
FROM FactSales s
JOIN DimProduct p ON s.product_id = p.product_id
JOIN DimRegion r ON s.region_id = r.region_id
JOIN DimDate d ON s.date_key = d.date_key
JOIN ExchangeRate er ON er.date_key = d.date_key AND er.currency_code = s.currency_code
WHERE d.date BETWEEN CURRENT_DATE - INTERVAL '60 DAY' AND CURRENT_DATE
GROUP BY p.product_id, p.sku, r.region_name
ORDER BY revenue_usd DESC
LIMIT 100;
5) 区域层面的库存对比
SELECT r.region_name, p.sku, i.stock_on_hand, SUM(s.quantity) AS sales_qty
FROM FactInventoryLog i
JOIN DimRegion r ON i.region_id = r.region_id
JOIN DimProduct p ON i.product_id = p.product_id
JOIN DimDate d ON i.date_key = d.date_key
LEFT JOIN FactSales s ON s.product_id = p.product_id AND s.region_id = r.region_id AND s.date_key = d.date_key
WHERE d.date = CURRENT_DATE
GROUP BY r.region_name, p.sku, i.stock_on_hand
ORDER BY sales_qty DESC
LIMIT 100;
6) 促销前后对比(简单对比)
SELECT d.date, r.region_name,
SUM(s.revenue_local) AS revenue_before,
SUM(s.revenue_local) AS revenue_after
FROM DimDate d
JOIN DimRegion r ON true
LEFT JOIN FactSales s ON s.region_id = r.region_id AND s.date_key = d.date_key
WHERE d.date BETWEEN DATE_SUB(CURDATE(), INTERVAL 60 DAY) AND CURDATE()
GROUP BY d.date, r.region_name
ORDER BY d.date, r.region_name;
六、实现要点与最佳实践
- 数据治理与一致性
- 确保区域、币种、时区的一致性,建立数据血缘与口径说明。
汇率与币种:每日更新汇率;统一利润口径为 USD 或本地区域货币,必要时进行双币种对比。
- 数据管线与压力测试
- 数据源的定时刷新、ETL/ELT 流程的幂等性、异常数据的处理机制。
- 看板与使用体验
- MVP 先构区域层级的 ROI/ROAS、Top SKU、区域对比,后续逐步扩展到 SKU 维度、广告维度、物流与退货等。
- 安全性与合规
- 控制访问权限、对敏感字段进行脱敏,确保跨区域数据安全与合规。
七、快速起步清单
- 选定数据仓库与 BI 工具(如 Snowflake + dbt + Looker/Tableau/Power BI)。
- 构建星型模型的初版事实表与维度表草案,明确字段与粒度。
- 先实现 MVP 的 SQL 与看板:区域层级的 GMV/订单/ROAS、Top SKU、广告投放对比。
- 设定数据质量监控与日常自动化刷新。
- 准备 1-2 个跨区域的案例场景,方便在团队内进行演示和对比分析。
如果你愿意,我可以进一步帮助你:
- 根据你们的实际数据表名和字段,定制化给出完整的数据模型和 SQL 套件。
- 提供一个面向 Shopee 销售数据分析的看板设计草案(组件、指标、筛选条件)。
- 给出一个 2 周内可落地的实施路线图与任务分解。
告诉我你们现有的数据仓库/数据源结构、所用工具(SQL 方言、BI 工具)以及你最关心的分析维度,我可以给出更贴合你们环境的具体实现方案和代码模板。
