22 KiB
Session: 2026-05-29 12:22:23 GMT+8
- Session Key: agent:main:feishu:direct:ou_e63ce6b760ad39382852472f28fbe2a2
- Session ID: f8d7444f-54ec-4202-9bd8-c4aaec0f4f50
- Source: feishu
Conversation Summary
user: 我们来讨论一个数据分析的思路,先不急于跑数落地,我们讨论清楚逻辑再执行。我先给你说说我的想法,然后你来告诉我你的想法。 这个数据分析的起因,是我想要在我的APP里面设置一些弹窗,来促使被弹窗触达的用户能够购买我的APP里的课程,提高转化率。那么现在摆在我面前的问题就是,在弹窗哪里弹和给谁弹。所以我希望通过数据分析的方式,来明确这两个问题的结论。 首先,我要给你说一些我的APP的基础设定。用户会先下载我的APP,然后激活APP,注册账号,并且创建一个体验课程,这个体验课程是L1或者L2的U0,是免费的,然后用户开始学习,然后购买后续的课程,用户可能在学完序章的时候购买,也可能在学完序章之前购买。 然后,我希望通过一些弹窗来引导用户添加我的销售人员的微信,从而让销售人员来引导用户购买课程,因此我需要明确哪些用户更适合添加销售人员的微信,以及再哪些地方弹窗,更容易让用户添加销售人员的微信。 我希望你能遍历你所有已知的数据,给我一个你的分析思路。 assistant: 好的,我已经遍历了所有已知的数据源。下面是我的完整分析思路。
整体分析框架
你的问题本质上是一个「精准触达」问题,核心是两个维度:
- 在哪里弹 → 用户旅程中的最佳触达节点
- 给谁弹 → 最有转化潜力的用户分群
我的思路是:不可能一步到位给出弹窗方案,而是分三层递进分析,每一层用数据缩小不确定性。
第一层:用户旅程全景图(回答「现在是什么样」)
这一层不做结论,先看清用户从注册到购买的完整面貌。
1.1 用户生命周期阶段定义
根据你描述的流程,把用户按状态分层:
注册 → 创建体验课(L1/L2 U0) → 开始学习U00 → 学完U00 → 购买后续课程
每个用户当前处于哪个阶段?每个阶段的「库存」有多少?这是后续分析的底座。
1.2 各阶段转化漏斗
按上述阶段,算出逐层转化率:
| 阶段 | 人数 | 转化率 |
|---|---|---|
| 注册用户(status=1) | ? | 100% |
| 已创建体验课(有U00课程记录) | ? | ?% |
| 至少完成 L01 | ? | ?% |
| 完成 U00 全部 L01-L05 | ? | ?% |
| 完成 U00 后继续学 U01+ | ? | ?% |
| 已购买后续课程 | ? | ?% |
这里有一个关键数据之前跑过:在沉默用户中,L1 约 8 成、L2 约 7 成断在 U00~U01。这说明 U00 是最大的决策窗口,弹窗时机大概率落在这个区间。
1.3 购买时间线分布
对所有付费用户的购买时间做一个分布分析:从注册日到首次购买日,相隔多少天?分布曲线长什么样?
这个数据直接回答「弹窗应该在第几天触发」。
第二层:购买信号挖掘(回答「谁更可能买」)
这一层找的是:在用户没有购买之前,有没有行为信号能提前"预判"他会买?
2.1 购买者 vs 非购买者的学习行为对比
把用户分成两组——「最终买了的人」和「一直没买的人」,对比他们在 U00 阶段的行为差异:
| 行为指标 | 购买者均值 | 非购买者均值 |
|---|---|---|
| U00 完成课时数 | ? | ? |
| U00 平均每课耗时(分钟) | ? | ? |
| 第一天学习课数 | ? | ? |
| 组件正确率(从 ES 埋点 subId=4/ex3 取) | ? | ? |
| 首次学习→次日是否回访 | ?% | ?% |
| 是否完成 U00 全部 5 课 | ?% | ?% |
分析目的:如果购买者在 U00 阶段的行为模式与非购买者有明显差异,那这些行为就可以作为弹窗的「触发条件」。比如「完成 L03 且正确率 > X%」的用户转化率显著更高,就可以在这个节点弹窗。
2.2 购买发生的课程节点分布
统计「用户是在学到哪一课时购买的」:
| 购买节点 | 购买人数 | 占比 |
|---|---|---|
| 学 U00 之前就买了 | ? | ?% |
| U00 L01 之后 | ? | ?% |
| U00 L02 之后 | ? | ?% |
| U00 L03 之后 | ? | ?% |
| U00 L04 之后 | ? | ?% |
| U00 L05 之后 | ? | ?% |
| U01 之后 | ? | ?% |
| 更后面 | ? | ?% |
分析目的:如果大部分购买集中在某几个课后,那这些课后就是天然的弹窗节点。之前的数据已经暗示 U00 L01 是最大断点(~30% 用户第一课就停),但我们要看的是买了的人集中在哪买,不是停了的人停在哪——这是两个不同的问题。
2.3 用户分群
基于学习行为把非购买用户分成三类:
- 高潜用户:学完了 U00 全部 5 课、正确率高、学习频率稳定 → 已经有付费意愿,弹窗主要推「加销售微信了解后续课程」
- 犹豫用户:学到 L02-L04 之间、正确率尚可、但学习间隔开始拉长 → 弹窗推「加微信获取学习建议」,用服务促转化
- 流失风险用户:L01 后长期不回访、或注册后迟迟不开始学习 → 弹窗推「加微信领取福利/试听课」,用利益拉回
第三层:加微行为的现有数据验证(回答「加微能不能促转化」)
这一层是验证弹窗加微这个策略本身是否成立。
3.1 stride_phone_lead 线索分析
vala_class.stride_phone_lead 表记录了用户提交手机号的行为(即用户主动留资)。这是目前最直接的「用户有意向被联系」的信号。
可以做的分析:
- 留资用户的 account_id 能否关联到
bi_vala_order?留资后有多少人买了? - 留资时间 vs 购买时间的时间差分布
- 不同
source_l3(留资渠道)的转化率对比 - 留资用户的特征画像(学习进度、注册渠道等)
⚠️ 注意:这个表目前 ai_member 有读权限(你刚授权过),数据量应该不大,可以直接分析。
3.2 account_wx_id 关联
vala_class.account_wx_id 表记录了账号与微信的绑定关系。如果这个表有数据,可以看看:
- 哪些用户绑定了微信?和购买行为有关联吗?
- 绑定微信的用户转化率是否更高?
综合分析产出
跑完上述三层分析后,可以产出一个可执行的弹窗策略矩阵:
| 触发位置 | 触发条件 | 目标用户 | 弹窗内容 |
|---|---|---|---|
| U00 L03 完成后 | 正确率 > 70% + 连续学习 | 高潜用户 | "学得不错!加老师微信了解后续课程" |
| U00 L01 完成后 24h 未回访 | 首课完成但未继续 | 流失风险 | "领取免费学习规划,老师 1v1 指导" |
| U00 L05 完成后 | 完成全部序章 | 高潜用户 | "序章学完了!后续课程加微信享专属优惠" |
| 注册后 7 天未学习 | 有体验课但从未开始 | 召回用户 | "你的免费课程已就绪,加微信激活" |
我看到的局限和补充点
-
「加微信」行为目前没有直接的埋点追踪。
stride_phone_lead是留手机号,和「在 APP 内弹窗→加微信」是不同路径;growth_activity_behavior的「领课加微」是纯匿名埋点(没有 userId),无法关联到具体用户。所以我们能做的是用历史留资数据间接验证加微价值,然后通过弹窗实验来最终验证。 -
ES 的
user_behavior_buried_points(2700 万条)是富矿但之前挖得不深。 里面可能有页面访问、按钮点击、弹窗相关的埋点,如果你们后续在 APP 里埋了弹窗曝光/点击事件,这里就是直接的效果衡量数据源。 -
弹窗策略最终需要 A/B 实验验证。 数据分析能告诉我们「最可能在哪儿弹、弹给谁」,但弹窗的具体文案、样式、频次控制,需要上线后看实际转化率迭代。
以上就是我的完整分析思路。你觉得这个框架有没有遗漏的维度?或者有没有哪一层你想先深入展开讨论的?我们敲定逻辑之后再动手跑数。 user: 我们来更新几个逻辑:
- 弹窗分为两类: (a) 我们上面聊到的加销售人员弹窗 (b) 直接售卖的弹窗
我认为在用户旅程中,达到体验最佳节点的时候,应该弹出的是售卖弹窗。那么在用户达到最佳体验之前或者之后,去进行加微弹窗的弹出是更合理的。 2. 用户不一定学完U0才会购买课程,他可能在U0的 L1、L2、L3、L4 的过程中就购买了课程。
另外,只有U0是免费的,U1 不免费,所以用户在购买课程之前是没有办法学习 U1 的 3. 第三层那些数据都是无效的: (a) 3.2 的数据是用户购课之后的加 V 行为,所以无效 (b) 3.1 是其他渠道的线索,所以也是无效的 assistant: 明白了,这三点修正很关键。让我重新梳理——
核心变化:
-
现在有两种弹窗,它们不是孤立的,而是围绕用户旅程的"体验峰值"形成一条逻辑链:
- 加微弹窗(峰值前) → 引导用户继续学习,帮他达到峰值
- 售卖弹窗(峰值时) → 在用户最"上头"的时刻直接转化
- 加微弹窗(峰值后) → 峰值没转化的人,交给销售人工跟进
-
第三层加微数据全部无效,意味着我们没有历史数据可以直接验证"加微→购买"这条链路。这是分析的前提约束,策略效果要靠上线后 A/B 实验来验证。
-
U1 不免费,U0→U1 是一个硬付费门槛。用户要么在 U0 途中买、要么学完 U0 时买、要么就不买了——不存在「先免费学学 U1」这个选项。
基于以上,我重新梳理分析框架:
修正后的分析框架
整个分析围绕一个核心问题展开:
用户旅程中的"体验峰值"在哪里?
找到这个峰值,售卖弹窗的位置就确定了。峰值前后的加微弹窗位置也随之确定。
分析一:定位「体验峰值」(回答「售卖弹窗弹在哪」)
1.1 购买节点的分布
从 bi_vala_order 出发,关联学习记录,看购买者是在学到哪一课时买的:
购买时机分布(付费用户)
├── 开始学习前就买了 → ?人 (?%)
├── U00 L01 之后买了 → ?人 (?%)
├── U00 L02 之后买了 → ?人 (?%)
├── U00 L03 之后买了 → ?人 (?%)
├── U00 L04 之后买了 → ?人 (?%)
├── U00 L05 之后买了 → ?人 (?%)
└── 学完 U00+ 之后才买 → ?人 (?%)(等了一阵才买,说明峰值已过)
判断标准:哪个课之后购买最集中,哪个就是售卖弹窗的候选位置。
这里需要分 L1 和 L2 分别统计——两个等级的 U00 难度不同,峰值可能不同。
1.2 峰值前后购买行为的差异
在峰值节点之前买的人 vs 之后买的人,学习行为有什么差异?
| 维度 | 峰值前购买 | 峰值时购买 | 峰值后购买 |
|---|---|---|---|
| 人数 | ? | ? | ? |
| U00 平均正确率 | ? | ? | ? |
| 学习频次(课/天) | ? | ? | ? |
| 注册→购买天数 | ? | ? | ? |
判断标准:
- 如果峰值时购买的人正确率显著更高 → 说明这个节点的确有「体验峰值」效应
- 如果峰值前买的人本身就高度活跃 → 不需要加微引导,直接上售卖弹窗就行
- 如果峰值后买的人特征是「学习断续后又回来买」→ 加微弹窗的目标用户画像
分析二:峰值前用户分析(回答「加微弹窗——峰值前弹在哪」)
峰值之前的用户分为两种:
2.1 正在学习中但还没到峰值
这些用户在 U00 L01→L02→... 爬坡中。问题是:有没有一个节点,用户最容易"卡住"?
之前我们跑过沉默用户的断点分布:
- L01 后沉默 ~30%(第一课就停了)
- L02 后沉默 ~20%
- L01+L02 合计超 50%
这说明 L01→L02 之间是最大流失口。如果在 L01 完成后弹出加微弹窗,可能是挽救流失的一个手段。
但要注意区分:断点是"沉默用户的断点",我们需要看的是「最终买了的人在这个阶段有没有卡过,以及那些没买的人卡在哪」。
2.2 注册后但迟迟没开始学习
这批用户有体验课但一次都没学。弹窗策略可能是「唤醒 + 加微引导」。
分析三:峰值后用户分析(回答「加微弹窗——峰值后弹在哪」)
这是最关键的加微弹窗场景:用户已经体验完了最佳节点,但还没买。
3.1 峰值后但还在 U00 内
比如峰值在 L03,那 L04 开始就是「峰值后」。这批用户:
- 体验了峰值但没被售卖弹窗转化(或者当时还没弹窗)
- 还在继续学习,说明兴趣还在
- 这是加微弹窗的最高优先级目标
3.2 学完 U00 全部 5 课但没买
这批用户的现状:
- 体验课全部学完,对产品有了完整认知
- 卡在 U00→U1 的付费墙前
- 兴趣已经被验证(5 课都学完了)
这批人是加微弹窗的绝对核心目标——他们已经证明了学习意愿,只差临门一脚,销售介入效率最高。
3.3 峰值后但学习频率下降了
比如峰值在 L03,用户到 L04/L05 时学习间隔从 1 天拉长到 5 天。这个信号意味着用户兴趣在衰减,加微弹窗要趁早触发。
分析四:弹窗策略的整体产出
分析完成后,输出一张策略矩阵:
| 旅程阶段 | 触发位置 | 弹窗类型 | 目标用户 | 核心信息 |
|---|---|---|---|---|
| 峰值前 | L01 完成后 + 24h 未继续 | 加微 | 首课即停的流失风险用户 | 「老师帮你规划学习」 |
| 峰值前 | L02 完成后 | 加微 | 还在爬坡但节奏慢的用户 | 「你的学习表现不错,加老师微信获取指导」 |
| 峰值 | L0X 完成后 | 售卖 | 所有到达此节点的非购买用户 | 「继续学习,立即购买」 |
| 峰值后 | 峰值后下一课完成 | 加微 | 错过售卖弹窗的高意向用户 | 「学得不错!加微信了解完整课程」 |
| 峰值后 | U00 全部 5 课完成后 | 加微 | 完课但未购买 | 「序章学完啦,加微信享专属优惠」 |
分析上的局限和务实建议
-
没有加微行为数据意味着我们无法用历史数据做「加微→购买」的归因。分析能做到的是:
- 找到最佳售卖弹窗位置(通过购买节点分布)
- 找到峰值前后的加微弹窗位置(通过流失/断点分布)
- 但无法预估加微弹窗的实际转化率,这个需要上线后 A/B 实验验证
-
一个务实的策略建议:先上线售卖弹窗(因为有购买行为支撑,位置更确定),跑通数据后再加入加微弹窗做对比实验。
你觉得这个修正后的框架逻辑是否成立?特别是"体验峰值"这个核心概念——我们通过购买节点分布来确定它,这个思路你认可吗? user: 思路没问题,跑数吧 assistant: 好的,开始跑数。先获取基础信息,再逐层推进。 assistant: U00 chapter_id 确认了。现在写一个完整的分析脚本。 assistant: 前三个分析已经跑出来了,第四个有列名歧义,修复一下。 assistant: 数据全部跑出来了,以下是完整分析结果:
📊 弹窗策略数据分析
分析一:购买节点分布(买了的人在哪买的)
| 购买节点 | 订单数 | 用户数 | 占比 |
|---|---|---|---|
| 学习前购买 | 1,586 | 1,554 | 31.5% |
| L01之后 | 884 | 879 | 17.8% |
| L02之后 | 536 | 535 | 10.8% |
| L03之后 | 300 | 297 | 6.0% |
| L05之后 | 1,431 | 1,359 | 27.5% |
| L04之后 | 182 | 181 | 3.7% |
核心发现:购买行为呈"双峰"——31.5% 没学就买,27.5% 学完 U00 全部才买。L01-L04 途中购买的用户合计只占 38%,没有单一节点出现爆发式的购买集中。
按产品拆分:L1 用户 68% 集中在 L05 之后买,L2 用户 40% 学习前就买了——L2 购买意愿明显更强。
分析二:峰值后用户池
3,137 人学完 U00 全部 5 课但未付费,付费率 49.1%。这是加微弹窗最大的存量目标池。
分析三:各断点转化率(到达该课的用户中多少人买了)
| 进度 | L1 转化率 | L2 转化率 |
|---|---|---|
| 到达 L01 | 31.6% | 26.7% |
| 到达 L02 | 39.2% | 34.4% |
| 到达 L03 | 45.8% | 39.2% |
| 到达 L04 | 50.2% | 43.7% |
| 到达 L05 | 54.8% | 47.7% |
转化率随学习进度线性递增,没有跳跃式拐点。这说明学习行为本身就是最强的筛选机制——学得越多,越可能买。
分析四:各节点沉默用户规模
| 断点 | L1 人数 | L2 人数 |
|---|---|---|
| L01 | 1,893 | 3,021 |
| L02 | 1,089 | 1,222 |
| L03 | 554 | 784 |
| L04 | 430 | 507 |
L01+L02 合计:L1 约 3,000 人、L2 约 4,200 人。这是峰值前加微的最大目标池。
基于数据的策略建议
售卖弹窗
数据不支持存在单一"体验峰值"——转化率是平滑递增的。但有两个自然决策窗口:
- L03-L04 之间:转化率已达 40-50%,用户已投入足够学习成本,决策成本降低
- L05 完成后:转化率最高(48-55%),且是 U00→U1 付费墙前的最后节点
建议:L04 完成时触发售卖弹窗,L05 完成后再次触发。
加微弹窗
| 时机 | 目标池规模 | 理由 |
|---|---|---|
| L01 完成后 + 24h 未回访 | L1: ~1,900 / L2: ~3,000 | 首课即弃,最大流失口 |
| L02 完成后 | L1: ~1,100 / L2: ~1,200 | 第二波流失,仍有挽回空间 |
| L05 完成后 + N 天未购买 | 3,137 人 | 完课未购,加微转化的最高优先级 |
你看这个结论是否合理?要不要我进一步加细某个维度的分析? user: 我们只关注端内购课的用户,非端内购课的用户剔除掉,不分析。另外我还想看看用户从注册到购课的天数分布。 assistant: 明白,端内过滤 + 新增注册→购课天数分布。我把脚本全量更新重跑。 assistant: 端内付费只有332人,这个数量级很有意思。修复分段统计的SQL问题继续跑。 assistant: 分析零跑出来了。分析一有SQL语法问题,修复一下。 assistant: 分析一结果很清楚了——端内付费用户 89.7% 在 L05 之后购买。修复分析二的字段问题。 assistant: 全部跑完了,以下是修正后的完整结果:
📊 弹窗策略数据分析(仅端内付费用户)
分析零:注册→购课天数分布
| 时间段 | 人数 | 占比 | 累计 |
|---|---|---|---|
| 当天 | 20 | 6.1% | 6.1% |
| 1-3天 | 79 | 24.1% | 30.1% |
| 4-7天 | 78 | 23.8% | 53.9% |
| 8-14天 | 54 | 16.5% | 70.3% |
| 15-30天 | 43 | 13.1% | 83.4% |
| 30天以上 | 54 | 16.5% | 100% |
端内付费用户总计 332 人,中位数约在第 7 天,70% 在 2 周内完成购买。
分析一:购买节点分布
| 购买节点 | 用户数 | 占比 |
|---|---|---|
| 学习前购买 | 7 | 2.2% |
| L01之后 | 8 | 2.5% |
| L02之后 | 9 | 2.8% |
| L03之后 | 5 | 1.6% |
| L04之后 | 4 | 1.2% |
| L05之后 | 288 | 89.7% |
这是最关键的发现。 端内付费用户的购买行为高度集中在 L05(学完 U00 全部 5 课)之后,占比近 90%。L01-L04 中途购买的合计只有 26 人(8.1%)。
按产品拆分也完全一致:L1 的 99/107 人、L2 的 184/199 人在 L05 之后购买。
分析二 & 三:断点用户规模 + 端内付费率
| 断点 | L1 人数 | L1 付费率 | L2 人数 | L2 付费率 |
|---|---|---|---|---|
| L01 | 1,893 | 0.3% | 3,021 | 0.2% |
| L02 | 1,089 | 0.6% | 1,222 | 0.3% |
| L03 | 554 | 0.5% | 784 | 0.5% |
| L04 | 430 | 0.5% | 507 | 0.8% |
| L05 | 3,109 | 4.4% | 3,606 | 5.5% |
学完 U00 全部 5 课的总用户 6,166 人,其中端内付费仅 306 人(5.0%),未付费 5,860 人(95%)。
与之前的对比(端内 vs 全量)
过滤端内后,结论发生了根本性变化:
| 维度 | 全量数据 | 仅端内 |
|---|---|---|
| 付费用户量 | ~4,900 | 332 |
| 学习前购买占比 | 31.5% | 2.2% |
| L05之后购买占比 | 27.5% | 89.7% |
| 学完U00后的付费率 | 49.1% | 5.0% |
全量数据中的"学习前购买"大头全是端外渠道(销售/达人/店铺等),端内用户行为模式完全不同——他们几乎全部是学完 U00 再买。
修正后的策略结论
售卖弹窗
只有一个最佳位置:L05 完成后。 在 L01-L04 弹售卖弹窗基本没有意义——端内用户不会在中途下单。
加微弹窗
核心目标池:5,860 个学完 U00 但未端内付费的用户。
加微弹窗应该分两层:
- L01-L02 之间(峰值前/学习中):L1~3000人 + L2~4200人停留在这个阶段。付费率极低(0.2-0.6%),但规模大,加微可以挽留、引导继续学习
- L05 完成后(峰值后):5,860 人学完了但没买,这是最大的加微转化机会。结合注册→购课天数数据,如果在 L05 完成后 7 天内未购买,应该触发加微弹窗
策略矩阵
| 位置 | 弹窗类型 | 目标人数 | 时机 |
|---|---|---|---|
| L01 完成+24h未继续 | 加微 | L1~1900 / L2~3000 | 首课流失挽回 |
| L02 完成 | 加微 | L1~1100 / L2~1200 | 学习激励 |
| L05 完成 | 售卖 | 6,166 | 体验终点,转化窗口 |
| L05 完成后+3天未购买 | 加微 | ~5,860 | 完课未购,销售跟进 |
这个结论和之前的分析差异很大——你的端内过滤条件改变了全部分析结果。你看这个方向对吗?