# 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,有重叠用户已去重)。