电商数据分析案例
场景
你是某电商平台的数据分析师,近一个月 GMV 环比下降 15%,请分析原因并给出优化建议。
分析框架
第一步:指标拆解
进一步拆解:
-- 电商核心漏斗分析
WITH funnel AS (
SELECT
DATE_FORMAT(visit_time, '%Y-%m') AS month,
COUNT(DISTINCT uv.user_id) AS uv,
COUNT(DISTINCT cart.user_id) AS add_cart_users,
COUNT(DISTINCT ord.user_id) AS order_users,
COUNT(DISTINCT pay.user_id) AS pay_users,
SUM(pay.amount) AS gmv
FROM page_views uv
LEFT JOIN cart_events cart ON uv.user_id = cart.user_id AND uv.visit_date = cart.event_date
LEFT JOIN orders ord ON uv.user_id = ord.user_id AND uv.visit_date = ord.order_date
LEFT JOIN payments pay ON ord.order_id = pay.order_id
GROUP BY DATE_FORMAT(visit_time, '%Y-%m')
)
SELECT
month,
uv,
add_cart_users,
ROUND(add_cart_users / uv * 100, 2) AS cart_rate,
order_users,
ROUND(order_users / add_cart_users * 100, 2) AS order_rate,
pay_users,
ROUND(pay_users / order_users * 100, 2) AS pay_rate,
gmv,
ROUND(gmv / pay_users, 2) AS avg_order_value
FROM funnel
ORDER BY month;
第二步:维度下钻
-- 按渠道拆解 GMV 变化
SELECT
channel,
SUM(CASE WHEN month = '2024-01' THEN gmv END) AS gmv_curr,
SUM(CASE WHEN month = '2023-12' THEN gmv END) AS gmv_prev,
ROUND((SUM(CASE WHEN month = '2024-01' THEN gmv END) -
SUM(CASE WHEN month = '2023-12' THEN gmv END)) /
SUM(CASE WHEN month = '2023-12' THEN gmv END) * 100, 2) AS change_pct
FROM order_summary
GROUP BY channel
ORDER BY change_pct ASC;
-- 按品类拆解
-- 按地区拆解
-- 按新老用户拆解
第三步:根因定位
| 检查维度 | 可能原因 | 数据验证方式 |
|---|---|---|
| 流量 | 投放预算缩减 | 对比各渠道 UV 变化 |
| 转化 | 页面改版导致体验下降 | 漏斗各步骤转化率对比 |
| 客单价 | 大促结束,恢复原价 | 平均客单价时序对比 |
| 品类 | 某品类缺货 | 分品类 GMV 贡献 |
| 用户 | 高价值用户流失 | 用户分层 RFM 变化 |
第四步:输出建议
## 分析结论
1. GMV 下降 15% 的主要原因:
- 付费流量 UV 环比下降 25%(投放预算 12 月为大促期,1 月恢复常态)
- 3C 品类转化率下降 8%(竞品促销分流)
2. 优化建议:
- 短期:恢复核心品类投放预算,增加 3C 品类优惠券
- 中期:优化搜索推荐算法,提升自然流量转化
- 长期:建立用户分层运营体系,提升高价值用户复购
面试应答要点
答题框架:STAR-D
- Situation:明确指标和变化幅度
- Task:需要定位原因并给出建议
- Analysis:指标拆解 → 维度下钻 → 根因验证
- Result:量化结论 + 可执行建议
- Data:每一步都要有数据支撑