55 lines
2.2 KiB
Markdown
55 lines
2.2 KiB
Markdown
# Session: 2026-06-09 11:38:57 GMT+8
|
||
|
||
- **Session Key**: agent:main:feishu:direct:ou_e63ce6b760ad39382852472f28fbe2a2
|
||
- **Session ID**: 56c19beb-193c-4ffe-a0fc-fcc2e57ef2b4
|
||
- **Source**: feishu
|
||
|
||
## Conversation Summary
|
||
|
||
user: 有多少用户是有没激活的课程的
|
||
assistant: 数据如下:
|
||
|
||
| 指标 | 人数 |
|
||
|------|------|
|
||
| 有课程的用户总数(未删除) | **29,013** |
|
||
| 有未激活课程的用户 | **28,413** |
|
||
| 有已激活课程的用户 | **1,184** |
|
||
| 同时有激活和未激活课程的用户 | 584 |
|
||
|
||
也就是说:
|
||
- **纯未激活用户**(所有课程都没激活):28,413 - 584 = **27,829 人**
|
||
- **部分激活用户**(有些激活有些没激活):584 人
|
||
- **全部激活用户**:1,184 - 584 = **600 人**
|
||
|
||
绝大多数有课程的用户(约 98%)课程都处于未激活状态。需要进一步按课程等级或来源渠道拆分吗?
|
||
user: 剔除L1和L2的序章
|
||
assistant: 剔除 L1(A1)和 L2(A2)的序章(`latest_unit_index = 0`,即 S0 U00)后:
|
||
|
||
| 课程等级 | 有未激活课程用户数 |
|
||
|----------|-------------------|
|
||
| A1(L1) | 1,159 |
|
||
| A2(L2) | 1,803 |
|
||
| **合计** | **2,789** |
|
||
|
||
对比之前:剔除前有未激活课程的用户是 28,413 人,剔除序章后仅剩 2,789 人——约 90% 的未激活课程都是序章体验课。
|
||
user: 给我看看你的计算逻辑
|
||
assistant: 计算逻辑分三步:
|
||
|
||
**1. 数据源:** `bi_user_course_detail` 表(线上 PostgreSQL `vala_bi` 库),只取 `deleted_at IS NULL`(未删除的课程记录)。
|
||
|
||
**2. "未激活"判断:** `active_time IS NULL`,即课程激活时间为空。
|
||
|
||
**3. "序章"判断:** `course_level IN ('A1', 'A2') AND latest_unit_index = 0`。其中 A1 = L1、A2 = L2,`latest_unit_index = 0` 对应课程结构表中 S0 U00(序章)。
|
||
|
||
**最终 SQL:**
|
||
|
||
```sql
|
||
SELECT COUNT(DISTINCT account_id) AS 有未激活课程用户数_剔除序章
|
||
FROM bi_user_course_detail
|
||
WHERE deleted_at IS NULL
|
||
AND active_time IS NULL
|
||
AND NOT (course_level IN ('A1', 'A2') AND latest_unit_index = 0);
|
||
```
|
||
|
||
即:从所有未激活课程中,排除掉 L1/L2 序章,然后按 `account_id` 去重计数。结果是 **2,789 人**(A1 1,159 + A2 1,803,有重叠用户已去重)。
|