# 2026-05-14 工作日志

## 李承龙 - 付费用户 L1/L2 区分口径

- **需求：** 区分付费用户属于 L1 还是 L2，根据用户购买的商品做区分
- **分析过程：**
  - 排查了 `bi_vala_order` 表的 goods_name / goods_id 字段
  - 发现部分商品名称不含 level 关键词（年包、单季度包等），但 goods_id 可唯一映射
  - goods_id=31 历史上从「瓦拉英语level2」更名为「瓦拉英语年包」
  - goods_id=32 从「瓦拉英语level2·单季」更名为「瓦拉英语单季度包」
  - 用 `bi_user_course_detail` 验证了映射关系准确
- **最终方案：** 按 goods_id 映射
  - L1: goods_id IN (57, 60, 63)
  - L2: goods_id IN (31, 32, 33, 54)
  - L1+L2: goods_id = 61
  - 旧版通行券（<30单）: goods_id IN (4,5,6,10,13,14,17,20,25,29,30,35,36,37,38)，归入「其他」
- **用户分类：** 汇总用户所有订单的 goods_id，按购买商品组合判断
- **已更新：** MEMORY.md

## 课消指标 v2（剔除U0序章）
- **L1 U0**: chapter_id IN (343,344,345,346,348)
- **L2 U0**: chapter_id IN (55,56,57,58,59)
- **剔除后结果（截至5/10）:**
  - 仅L1: 付费192/有消132/无消60(31%)/人均2.53/有消人均3.67
  - 仅L2: 付费1370/有消461/无消909(66%)/人均1.18/有消人均3.49
  - L1+L2: 付费1207/有消660/无消547(45%)/人均2.37/有消人均4.34
- **4张独立图表已生成至 output/**

## 李承龙 - 课消口径调整：L1/L2按付费群重新分类

- **[李承龙确认]** L1付费用户 = 仅L1 + L1+L2，L2付费用户 = 仅L2 + L1+L2（L1+L2用户在两张图中均有计入）
- **重新生成 Excel v3** (`output/course_consumption_by_level_v3.xlsx`)：4个Sheet（概览/每周明细/L1图表/L2图表）
- **重新生成 4张独立PNG图表** (`output/L1_all_users_stack.png`, `L1_all_avg_trend.png`, `L2_all_users_stack.png`, `L2_all_avg_trend.png`)
- **最终数据（截至最后一周，剔除U0序章）:**
  - L1付费群: 1,399人 | 有消738 | 无消661(43%) | 人均1.97 | 有消人均3.73
  - L2付费群: 2,577人 | 有消1,126 | 无消1,451(56%) | 人均1.51 | 有消人均3.46
  - 合计(去重): 2,769人
- **关键发现：** L1+L2用户（1,207人）注入后，L1无消率从31%升至43%，L2从66%降至56%
- **脚本：** `scripts/course_excel_v3.py`, `scripts/generate_charts_v3.py`
