Skip to content

About

电商用户行为漏斗与CRO转化率优化分析 — 220万条数据、六阶段闭环、双漏斗模型、从数据到策略的端到端数据分析作品集

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

E-Commerce Funnel Analysis & CRO

发现了一个 ¥933 万的转化损失问题,定位到详情页→购物车这个全局瓶颈,用 PIE 矩阵给出了 P0/P1/P2 优先级策略和 ROI 估算。 从双漏斗方法论选型、到统计检验三件套配合、到损失量化和策略闭环,是一个从业务问题出发、经过多轮 AI 协作迭代的完整数据分析项目。

Python MySQL SciPy Matplotlib Plotly Pandas Power BI


At a Glance

维度 关键信息
分析规模 633,450 会话 / 220 万行为事件 / 10 万用户 / 10 万笔交易
核心瓶颈 详情页→购物车交叉到达率仅 25.81%(74% 用户看完没加购),该环节年损失 ¥370 万,全链路合计 ¥933 万
最终产出 P0/P1/P2 优先级策略 + 实施成本 + ROI 估算(预期 1.5-3:1)+ What-If 模拟
方法论 双漏斗模型 / Shift-Share 归因 / t 检验 + Cohen's d + Bonferroni / PIE 矩阵
技术栈 Python 3.13+ / MySQL 8.4 / Pandas / SciPy / Matplotlib / Plotly / Power BI
测试 47 个 pytest 用例,全部通过(~9s)
运行 pip install -r requirements.txt && python python/main.py(约 4 分钟)

1. 项目背景

为什么做这个项目?

面试中反复被问到"你做过什么完整的数据分析项目?"——我发现自己能讲 SQL 查询、能讲图表、能讲统计方法,但缺少一个把这些能力串起来的端到端案例。与其等下一次面试再被问住,不如动手做一个能从"原始数据"一路推到"可执行策略"的完整项目。

电商转化率优化(CRO)是最适合的题材:业务逻辑直观、分析方法论丰富、从数据到策略的链路完整。我选择了 Kaggle 上的一套模拟电商数据集(220 万行),模拟了一个中大型电商平台 2021-2023 年的用户行为。

数据规模

表 行数 字段 说明
events.csv 2,000,000 12 用户行为事件流(浏览/点击/加购/购买)
transactions.csv 103,127 9 交易订单(含退款状态)
customers.csv 100,000 7 用户画像(忠诚度等级/获客渠道)
products.csv 2,000 6 商品信息(品类/价格)
campaigns.csv 50 7 广告活动(渠道/预算)

数据为算法生成的模拟数据,非真实用户日志。所有分析结论用于方法论演示。 经清洗后最终用于分析的会话数为 633,450 条(38 列),详细清洗逻辑见 3.1 节。


2. 解决了什么问题?

业务层面的核心问题

一个电商平台的运营团队通常面临三个层次的问题:

层次 问题 如果没有分析
发生了什么? 转化率是多少?哪个环节流失最严重? 团队凭直觉优化,可能花三个月改首页,但瓶颈在详情页
为什么会发生? 流失是渠道问题还是页面体验问题?不同用户群是否有差异? 只能猜测,A/B 测试的方向全凭运气
应该怎么做? 先改哪里?要花多少钱?改了能回本吗? 资源分散,改了一堆但转化率没动

本项目回答的具体问题

  1. 漏斗瓶颈在哪? → 详情页→购物车,交叉到达率仅 25.81%,是整个漏斗的断裂带。购物车→结算页虽然流失也多,但主要是深链流量结构问题,非体验问题。
  2. 用户真的按标准路径走吗? → 不。仅 0.02% 用户走完 Home→PLP→PDP→Cart→Checkout 全程。54.9% 的 PLP 流量跳过首页直达,95.8% 的 PDP 流量来自非标准路径。
  3. 不同渠道/设备/国家的瓶颈一样吗? → 不一样。Social、Paid Search、Organic 瓶颈在 PDP→Cart;Email 和 Direct 瓶颈在 Cart→Checkout。国家间差异不显著(p=0.63),不需要分国家策略。
  4. 流失意味着多少损失? → 年预估损失 ¥933 万。其中 PDP→Cart 占 ¥370 万(40%),PLP→PDP 占 ¥249 万(27%)。
  5. 先改哪里 ROI 最高? → P0:详情页改版(PIE 122 分,预期 ROI 1.5-3:1)。购物车→结算页虽然 Ease 最高,但 Potential 太低,优先级反而最低(P3,17 分)。
  6. 三年转化率为何下滑? → Shift-Share 分解显示几乎 100% 由质量效应驱动(各渠道内部 CR 同步腰斩),不是渠道结构变化。所有 5 个渠道 CR 降幅 50-63%,指向系统性原因,但也可能 2022-2023 年数据不完整。

3. 如何解决的?

整体思路:六阶段分析闭环

数据探查 → 数据清洗 → 漏斗建模 → 多维诊断 → 流失根因 → 损失量化 & 策略闭环

3.1 数据探查与清洗

五表加载 → traffic_source 字段标准化 → 会话时长异常值过滤(1s - 2h)→ 去重 → 漏斗宽表构建。

最终产出 funnel_wide.csv:633,450 行会话级数据,每行包含该会话是否到达了五个页面、是否触发了四种行为事件、所属渠道/设备/国家等维度字段。

3.2 漏斗建模:为什么用"双漏斗"?

第一个关键方法论决策。传统做法是按 Home→PLP→PDP→Cart→Checkout 的严格顺序统计各步转化率。但跑完数据后发现:仅 0.02%(73/300,782)的用户按严格顺序走完全程。95.8% 的 PDP 流量来自深链(广告直达、搜索直达),根本不过首页。

这意味着:单一漏斗模型会丢弃 95% 的用户行为信息。

解决方案:同时跑两套模型。

模型 统计方式 回答的问题
页面覆盖分析(宽松漏斗) 各页面独立统计到达会话数,计算相邻页面交叉到达率 每个页面的触达能力如何?哪个环节覆盖下降最陡?
严格路径漏斗 必须按时间顺序 Home→PLP→PDP→Cart→Checkout 理想路径的留存率是多少?是否存在"跳跃式"浏览?

两个模型对照阅读:覆盖分析定位问题所在(断裂带在详情页→购物车),严格漏斗揭示用户实际路径结构(绝大多数用户不走标准路径)。

3.3 多维诊断:不只看出"整体",更看出"差异"

在漏斗建模的基础上,按 6 个维度下钻:

  • 渠道(Organic / Paid Search / Social / Email / Direct)
  • 设备(Desktop / Mobile / Tablet)
  • 国家 × 转化率
  • 品类漏斗
  • 用户忠诚度等级 × 转化
  • 获客渠道 × 长期转化

每个维度都跑独立的漏斗分析,找差异最大的维度——差异越大,优化空间越大。

3.4 流失根因:统计检验,不是肉眼看

多维度下钻分析有一个陷阱:大样本下几乎所有差异都"显著"(63 万个会话,p 值动不动就 <0.001)。

用三种方法配合使用,避免误判:

方法 做什么 在本项目中的应用
独立样本 t 检验 检验两组的均值差异 流失用户 vs 转化用户的事件数、会话时长等行为指标差异
Cohen's d 量化效应大小 判断差异"实际上大不大"(d=0.2 小,0.5 中,0.8 大)
Bonferroni 校正 控制多重比较错误率 同时对多个维度跑检验时,提高显著性阈值

3.5 损失量化与策略闭环

损失公式:流失会话数 × 预期转化率 × 客单价 ¥90.36

其中"预期转化率"为该环节到达者中最终购买的比例——而非假设所有流失用户 100% 会购买(后者会高估约 5.8 倍,¥59.76M → ¥9.33M)。但公式隐含一个假设:流失用户与留存用户的购买概率相同。真实业务中流失用户购买意愿往往更低,因此当前估算应理解为损失的上界,实际可能在当前值的 60-100% 区间。面试中能解释"我的数字在什么假设下成立",比给出一个精确数字更重要。

但这只是第一步。真正的策略闭环需要回答"然后呢?"——用 PIE(Potential × Importance × Ease)矩阵给每个瓶颈打分,按优先级排 P0/P1/P2,并估算每个优化方向的一次性投入和年化回报。

完整的 CRO 策略文档见 operations/cro_strategy.md,涵盖实施人天、成本估算、ROI 预估和 What-If 增量模拟。


4. 核心可视化结果

30 秒叙事线:从数字到决策

如果只有半分钟向业务方展示,这条线是:

年损失 ¥933 万(首页 KPI)→ 74% 的用户在详情页看完没加购(瓶颈定位)→ 详情页改版是 P0,预期 ROI 1.5-3:1(可执行策略)→ 不同渠道需不同方案:Social / Paid Search 优化详情页,Email / Direct 优化结算页(差异化落地)。

以下图表和 Power BI 报表完整支撑这条叙事线的每个节点:

Hero KPI — 一图定调

大字 ¥9,328,840 + 瓶颈定位 + 策略提示。面试官看这第一张图就知道项目做了什么、值多少钱。

Hero KPI

页面漏斗 — 一图定位瓶颈

详情页→购物车交叉到达率仅 25.81%。74% 的用户在详情页看完后没有把商品加入购物车。这是整个漏斗的断裂带。

页面漏斗

严格路径漏斗 — 用户真的按标准路径走吗?

不。必须按 Home→PLP→PDP→Cart→Checkout 时间顺序访问时,仅 0.02%(73/300,782)的会话走完全程。95.8% 的 PDP 流量来自深链(广告/搜索/邮件直达),不过首页和列表页。这张图是"为什么需要双漏斗"的直观证据。

严格漏斗

行为漏斗 — 页面之外的互动深度

浏览→点击→加购→购买的行为转化链。浏览→点击仅 54.4%,意味着近一半用户看完页面后没有任何点击行为——这是互动意愿的第一道坎。行为漏斗与页面漏斗互补:页面漏斗告诉你"用户到了哪",行为漏斗告诉你"用户到了之后做了什么"。

行为漏斗

双漏斗对照 — 为什么单一模型不够用

左:宽松覆盖,每个页面独立统计到达数;右:严格路径,必须按顺序经过。两者差异巨大——仅 4.2% 的 PDP 流量来自标准路径。

严格vs覆盖

渠道漏斗对比 — 不同渠道需要不同策略

三个渠道(Social、Paid Search、Organic)的核心瓶颈在详情页→购物车,但 Email 和 Direct 渠道的瓶颈在购物车→结算页——邮件链接直达购物车后,结算体验成为断裂带。图中每个子图已显式标注瓶颈类型和优化方向,不再需要读者自行解读深色柱含义。

渠道漏斗

月度转化率趋势 — 三年持续下滑

从 2021 年的 ~17% 降至 2023 年的 ~8%,三年降幅 53%。Shift-Share 分解显示几乎 100% 由各渠道内部转化率同步腰斩驱动,不是渠道结构变化。

月度趋势

流失瀑布 — 各环节损失的绝对值

每个环节导致的流失会话数和预估金额损失,用来判断"哪个环节损失最大"。

流失瀑布

PIE 优先级矩阵 — 告诉你先做什么

PIE = Potential × Importance × Ease(WiderFunnel 方法论,10 分制)。详情页→购物车得分最高(P=4.0, I=5.1, E=6.0 → 122 分),落在高影响+高易实施象限。每个气泡已标注 ROI 预估(一次性投入 vs 年挽回收入),实现优先级 + 回报率在一张图上同时呈现。

PIE矩阵

ROI 对比 — 投入产出可视化

一次性投入 vs 年预期挽回收入,基于 What-If 模拟数据("PDP→Cart 提升 10pp"等三个场景)+ cro_strategy.md 实施成本。购物车→结算页 ROI 最高(>10:1,速赢),详情页→购物车绝对回报最大但投入也最高。

ROI对比

新老用户漏斗对比 — 两类用户的行为差异

新老用户的页面漏斗几乎一致(瓶颈都在详情页→购物车,约 25.8%),但行为漏斗差异巨大——老用户的浏览→购买转化率(21.12%)是新用户(12.48%)的 1.7 倍。差异不在于"走什么路径",而在于每到一个页面后,老用户更愿意做点击、加购这类高意图动作。对新用户的优化方向不是改页面结构,而是引导互动深度。

新老用户

同期群留存热力图 — 两个视角

回购留存:每行是一个月首次购买的用户同期群,每列是第 N 个月的回购率。回答的是"用户买了第一次之后,多久会回来买第二次?"

同期群

访问留存:每行是一个月首次访问的用户同期群,每列是第 N 个月的回访率。回购留存只覆盖购买用户(~15%),访问留存覆盖全部用户——回答的是"用户来了一次之后,还会不会再来?"两张图对照阅读:回购留存高但访问留存低的同期群,说明"逛的人多但买的人少",需要从转化入手而非流量。

访问留存

Power BI 报表预览(5 页交互式)

PBIR 格式报表,双击 Ecommerce Funnel CRO.pbip 即可在 Power BI Desktop 中打开,支持交叉筛选和交互式下钻。powerbi/HOWTO.md 有完整的打开方式说明。

第 1 页 — 漏斗健康仪表板 (Funnel Health) 顶部 KPI 卡:总会话 633,450 / 转化率 15.08% / 年损失 ¥933 万。中部:页面漏斗(PDP→Cart 交叉到达率 25.81%)+ 行为漏斗(浏览→点击 54.4%)。底部:三年月度趋势(2021 年 CR 16.97% → 2023 年 7.98%,降幅 53%)。一页覆盖"发生了什么"的全部关键数字。

PBI Page 1

第 2 页 — 流量质量 (Traffic Quality) 渠道拆解:Organic 占 47% 流量但 CR 仅 12.98%(量最大但质最低),Social CR 最高 24.38% 但仅占 15% 流量。设备拆解:Desktop CR 16.32% vs Mobile 13.84%。国家间 CR 差异不显著(Cramér's V < 0.01,p=0.63),不需要分国家策略。

PBI Page 2

第 3 页 — 流失诊断 (Churn Diagnostics) 瀑布图:PDP→Cart 流失 24 万会话(环节流失率 74.2%),为全链路最大断裂带。流失特征表:流失用户平均事件数 3.32 vs 转化用户 4.47(Cohen's d=-0.74,中等偏大效应量)。渠道×设备热力图交叉定位不同切面的流失模式。

PBI Page 3

第 4 页 — 优先级矩阵 (Priority Matrix) PIE 条形图 + 数据明细表:PDP→Cart PIE=122(P0,P=4.0/I=5.1/E=6.0),PLP→PDP PIE=56(P1),首页→PLP PIE=54(P2),Cart→Checkout PIE=17(P3——Ease 最高 8.0 但 Potential 太低)。表内标注速赢项目和避免投入项。

PBI Page 4

第 5 页 — 用户分析 (User Analysis) 忠诚度 × 转化:Platinum CR 58.07% vs Bronze ~10%,高忠诚度用户是核心资产。获客渠道 × 长期转化:Referral 获客的用户长期转化最高。新老用户对比:老用户浏览→购买转化率(21.12%)是新用户(12.48%)的 1.7 倍——差异在行为深度而非页面路径。

PBI Page 5


5. 遇到的问题与应对

问题 1:模拟数据的转化率差异太小

现象:各渠道、各国家、各品类的转化率差异只有 1-2 个百分点。真实电商中,渠道间的转化率差 3-5 倍是常态。

应对:两个决定。(1) 继续用这个数据——数据分析师的日常就是面对不完美的数据;(2) 所有结论标注"基于模拟数据",在 README、文档、图表脚注中反复说明局限。面试中展示"知道自己不知道什么"比假装数据完美更成熟。

问题 2:严格漏斗 vs 宽松漏斗的"倒挂"困惑

现象:宽松漏斗中,购物车到达数(172,491)少于结算页到达数(172,734),出现"下游超过上游"的反直觉结果。

应对:宽松漏斗统计的是"是否到达过该页面",不是"按顺序经过"。大量用户通过深链直达结算页(如邮件一键结账),因此结算页的独立到达数可以超过购物车——这是深链流量结构的正常体现,而非数据异常。将两个模型明确命名("覆盖分析" vs "严格路径"),并在图表标题中标注统计口径,避免混淆。

问题 3:大样本下的统计显著性问题

现象:63 万个会话,任何细小的差异(如 0.5pp 的转化率差)跑 t 检验都能得到 p < 0.001。

应对:t 检验 + Cohen's d + Bonferroni 校正三件套配合使用。t 检验确认差异是否大于随机波动,Cohen's d 量化差异的实际大小(多数 d 在 0.1-0.3 之间,属小效应),Bonferroni 保证多重比较不产生假阳性。面试中这展示了"知道自己用的方法有什么局限"的意识。

问题 4:"交叉到达率"和"转化率"的命名陷阱

现象:最初在文档中把宽松漏斗的指标叫"转化率"。

应对:改名。宽松漏斗中"同时到达 A 和 B 的会话 / 到达 A 的会话"描述的是重叠关系,不是因果顺序关系。叫"转化率"会误导读者以为用户在按顺序走。改名为"交叉到达率"——一个命名差异背后是对指标口径的严谨态度。


6. 测试覆盖

项目包含 47 个 pytest 用例(全部通过,~9s),覆盖三个维度、四个测试文件:

文件 覆盖范围 用例数 关键边界值测试
tests/test_funnel_analysis.py 漏斗计算、损失量化、PIE 优先级、流失特征、统计检验、Cohort 留存 22 流失会话数 ≤ 总会话、交叉到达率 ≤ 100%、转化率单调递减、Bonferroni α=0.0125
tests/test_data_cleaning.py 会话时长异常值过滤、traffic_source 标准化、漏斗宽表构建 13 空 DataFrame 处理、缺失列防御、步骤列二进制约束
tests/test_integration.py 端到端管道完整性、错误传播、空数据边界 12 _safe_plot 单图失败不中断、_stage_runner 错误传递、无 transactions 时 AOV 回退

测试设计原则:构造数据使用偏态分布(Gamma/Poisson/LogNormal)模拟真实电商数据,而非均匀随机分布。损失计算有专门的测试验证 AOV 来源切换逻辑(transactions 表单笔均值 vs funnel_wide 估算)。

pytest tests/ -v
# 47 passed in ~9s

7. 最终成果

六阶段完整产出

阶段 产出
数据探查 五表质量报告 + 关联完整性校验
数据清洗 funnel_wide.csv(633,450 行 × 38 列)
漏斗建模 页面漏斗 ×2 + 行为漏斗 + 5 渠道漏斗 + 品类漏斗
多维诊断 渠道/设备/国家/品类/忠诚度/获客 × 时段/趋势/交叉
流失根因 统计显著性报告(含效应量 + 多重比较校正)
策略闭环 PIE 优先级排序 + 实施成本估算 + ROI 预估 + What-If 模拟

核心数字

指标 数值
分析会话数 633,450
整体会话转化率 15.08%
最大瓶颈 详情页→购物车(交叉到达率 25.81%)
年预估损失 ¥9,328,840
三年转化率降幅 53%(16.97% → 7.98%)
P0 优化方向 详情页改版(预期 ROI 1.5-3:1)

一句话

从 220 万行原始事件数据出发,经过清洗、双漏斗建模、多维诊断、统计检验,最终输出 P0/P1/P2 优先级策略和对应的 ROI 估算——形成了从数据到决策的完整闭环。


8. AI 协作方式:Claude Code + OpenClaw 的双引擎工作流

这个项目的另一个维度是与 AI 的协作方式。全流程(代码、文档、图表)均通过 Claude Code + OpenClaw 双引擎协作完成,共 20+ 次 commit。

协作架构

用户 (tian, 数据分析师)
  │
  ├─→ Claude Code (VS Code 插件)        ← 主力开发引擎
  │   - 脚手架搭建、代码实现、调试
  │   - 需求理解 & 方案设计
  │   - 图表优化 & 参数调整
  │   - Git 管理 & 文档编写
  │
  └─→ OpenClaw (FAFA, 工作区 Agent)    ← 自主分析 & 质量把关
      - 项目背景感知 (AGENTS.md, SOUL.md)
      - 跨会话记忆 (memory/ 每日笔记)
      - 主动发现数据问题 & 提出优化方向
      - 按"简历导向"标准审视每个结论

Claude Code 的角色:主力开发引擎

项目的全部代码(Python、SQL、Power BI 配置)通过 Claude Code 在 VS Code 中完成,协作流程为:

  1. 需求表达:用自然语言描述分析目标("我需要一个双漏斗模型,宽松统计和严格路径各一套")
  2. 代码生成:Claude 生成完整的模块代码,包含类型提示、docstring、错误处理
  3. 迭代优化:运行 → 看结果 → 描述不满意的点 → Claude 修改 → 再运行
  4. 多轮审查:项目经历了多次内部 review(见 docs/reviews/),每次发现的问题都通过 Claude 修复

关键经验:用 AI 做数据分析的核心能力是"问对问题"——把模糊的业务需求("帮我分析转化率")拆解为精确的分析指令("跑五个渠道各自的漏斗,对比哪个环节差异最大,用 Cohen's d 量化效应")。

OpenClaw (FAFA) 的角色:自主分析 Agent

OpenClaw 是一个面向数据分析场景的 AI 工作区框架。在本项目中的配置:

  • 身份定义(IDENTITY.md, SOUL.md):FAFA,一个"犀利洞察 + 严谨专业"的数据分析助手,核心理念是"用数据说话,不是用感觉说话"
  • 工作约定(AGENTS.md):定义了分析六阶段的执行规范、指标口径约定、行业基准、禁止事项(不编造数据、诚实标注模拟数据局限)
  • 持久记忆(memory/):跨会话维护项目上下文,避免每次对话都从零开始
  • 简历导向标准:FAFA 被明确要求审视每个结论是否"够硬"——是否有统计检验支撑、是否有量化数字、是否有行业基准对标

关键经验:给 AI 建立"人设"和"工作约定",比裸写 prompt 有效得多。 FAFA 的人格(直接、严谨、简历导向)不是一句 system prompt,而是通过 SOUL.md + AGENTS.md + memory 三件套维持的稳定行为模式。

双引擎分工的实际案例

以"漏斗建模方法选型"为例:

  1. 用户提出:"帮我画个转化漏斗"
  2. Claude Code 实现第一版:严格的 Home→PLP→PDP→Cart→Checkout 顺序漏斗
  3. OpenClaw (FAFA) 在 review 中发现:95.8% 的 PDP 流量在严格漏斗中丢失,提出应加入宽松覆盖分析作为对照
  4. 用户采纳,Claude Code 实现双漏斗模型
  5. 后续 review 中,DeepSeek 和 MiniMax 的交叉验证确认了这个方向

多 AI 交叉验证

项目还引入了一个独特实践:用不同的 AI 模型独立 review 同一份分析结果,然后对比它们的意见。

docs/reviews/ 目录下保存了完整的 review 记录:

  • Claude (OpenClaw) 的自主分析意见
  • DeepSeek 的独立 review
  • MiniMax (Qwen) 的独立 review
  • 三者的consolidated review——合并后的问题清单

不同 AI 的背景和训练数据不同,对同一份分析的关注点和判断标准也存在差异。引入多模型交叉 review 的目的,是让这些差异被显性化而非遗漏。

协作数据

指标 数值
总 commit 数 20+
参与模型 Claude Code(主力开发)+ OpenClaw(审查)+ DeepSeek + MiniMax(交叉验证)
从启动到完成 约 2 周(含多轮迭代和重构)

工作流的可复制性

整套工作流的关键文件都在仓库中(AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、memory/ 目录),其他数据分析师可以直接参考这套配置,建立自己的 AI 协作工作区。


项目结构

ecommerce_funnel_analysis/
├── data/                     # 原始数据 (未上传,需自行生成)
├── python/                   # 分析引擎 (6 个模块)
│   ├── config.py             # 全局配置 + CRO 行业基准 + 统计参数
│   ├── data_loader.py        # 五表加载 + 探查 + 质量报告
│   ├── data_cleaning.py      # 会话异常值清洗 + 漏斗宽表
│   ├── funnel_analysis.py    # 20+ 分析函数 (双漏斗/多维诊断/统计检验/损失量化)
│   ├── visualization.py      # 28 张图表 (matplotlib + plotly)
│   └── main.py               # 主入口 (支持 --skip-viz / --output)
├── sql/                      # 8 个独立 SQL 脚本 (MySQL 8.4)
├── powerbi/                  # Power BI PBIR 报表 (5 页交互式 + PNG 预览)
├── docs/                     # 分析文档 + 多 AI 交叉 review 记录
├── operations/               # CRO 策略详情 (含实施成本 + ROI 估算)
├── .openclaw/                # OpenClaw 工作区配置
├── output/charts/            # 28 张可视化图表
└── tests/                    # pytest 单元测试 + 集成测试

快速运行

pip install -r requirements.txt
python python/main.py

运行环境:Python 3.13+ | MySQL 8.4(仅 SQL 脚本需要)| 内存 ≥ 4GB | 运行时间约 3-4 分钟

完整版分析文档见 docs/04-results.md,CRO 策略详情见 operations/cro_strategy.md。


面试官可能追问的问题

Q: 为什么坚持跑两套漏斗?如果业务方只让你给一套,你选哪套?

A: 覆盖分析"问题在哪"(哪个环节覆盖下降最陡),严格漏斗"用户实际路径结构"(绝大多数人不走标准路径)。如果只能给一套,选覆盖分析——它能保留 95.8% 的 PDP 流量不丢失,且交叉到达率直接定位瓶颈。严格漏斗作为补充说明,解释为什么"转化率"这个叫法不准确。

Q: 你的损失 ¥933 万是怎么算的?假设靠谱吗?

A: 公式 流失会话数 × 预期转化率 × 客单价。预期转化率用该环节到达者中最终购买的比例,而非假设 100% 购买(后者会高估 5.8 倍)。但这个公式隐含假设"流失用户和留存用户购买概率相同"——真实业务中流失用户意愿更低,所以 ¥933 万是损失上界,实际可能在 60-100% 区间。面试中能解释"数字在什么假设下成立"比数字本身更重要。

Q: PIE 评分中的 Ease 是数据驱动还是拍脑袋?

A: Ease 基于电商优化经验估算(非数据驱动),已在文档中诚实标注。但 I(Importance)和 P(Potential)都基于漏斗数据计算。且 cro_strategy.md 中每个策略都有具体的人天和成本估算(如 P0 详情页改版 43 人天 / ¥14 万一次性投入),这些数字可以和 Ease 评分交叉验证。Ease ±1 的敏感性测试也不改变 P0 优先级。

Q: 2022-2023 年数据量下降 86.5%,你的趋势结论可靠吗?

A: 已在文档中诚实标注数据完整性风险。Shift-Share 分解显示"质量效应驱动了 ~100% 的下降",但如果 2023 年只覆盖了 Q1 数据,那就是采样偏差带偏了归因。真实场景下我会先跑逐月 session 数量探查,确认数据覆盖完整性后再决定是否调整对比口径或加置信区间。

Q: 这个项目没有预测模型——你怎么看转化率优化的预测性分析?

A: 项目已有确定性的 What-If 模拟("PDP→Cart 提升 10pp 则挽回 ¥X")。没有加 ML 模型的原因是:模拟数据本身的特征分布不反映真实电商,在上面跑逻辑回归/随机森林得到的特征重要性缺乏业务可解释性。但在真实业务数据上,我会用转化预测模型输出特征重要性来解释"什么驱动了购买",作为漏斗分析的补充——漏斗告诉你"在哪流失",模型告诉你"为什么流失"。


技能展示清单

能力维度 本项目体现
业务理解 将模糊的"提升转化率"拆解为可度量的漏斗环节和 PIE 优先级
数据清洗 会话时长异常值处理、traffic_source 标准化、多表关联去重
分析框架设计 六阶段闭环 + 双漏斗模型 + 20+ 维度下钻体系
统计学基础 t 检验、Cohen's d、Bonferroni 校正、卡方检验——知其所以然
SQL 能力 8 个独立脚本,从建表到运营导出,含窗口函数和 CTE
Python 工程 模块化设计、CLI 参数化、日志系统、47 个 pytest 单元测试 + 集成测试
数据可视化 matplotlib 静态图表 + plotly 交互式图表 + Power BI 报表
商业敏感度 损失金额量化、ROI 估算、P0/P1/P2 优先级排序
局限性意识 明确标注模拟数据、指标口径差异、不做虚假承诺
AI 协作能力 Claude Code + OpenClaw 双引擎工作流,多 AI 交叉验证

许可证

MIT

About

电商用户行为漏斗与CRO转化率优化分析 — 220万条数据、六阶段闭环、双漏斗模型、从数据到策略的端到端数据分析作品集

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages