299 lines
16 KiB
JSON
299 lines
16 KiB
JSON
{
|
||
"version": 1,
|
||
"updatedAt": "2026-05-26T10:42:05.347Z",
|
||
"entries": {
|
||
"memory:memory/2026-05-06.md:1:20": {
|
||
"key": "memory:memory/2026-05-06.md:1:20",
|
||
"path": "memory/2026-05-06.md",
|
||
"startLine": 1,
|
||
"endLine": 20,
|
||
"source": "memory",
|
||
"snippet": "# 2026-05-06 工作日志 ## 任务1:学而思/讯飞/希沃/京东方月度渠道订单报表 - [李承龙需求] 创建按月汇总四个渠道订单的 Python 脚本 - 脚本路径:`/root/.openclaw/workspace/scripts/monthly_channel_order_report.py` - **渠道映射:** 仅端内 `key_from='app-active-h5-0-0'`,sale_channel: 21=学而思, 22=讯飞, 26=希沃, 27=京东方 - **输出格式:** 四个渠道各一个 Sheet,每月按天展示(学而思/希沃/京东方只显示有订单日期,讯飞显示全月每天) - **指标差异:** - 学而思/希沃/京东方:订单数、GMV、CPS分成(学而思×0.45,希沃×0.4,京东方×0.3)、订单号(分号拼接) - 讯飞:订单数、GMV、新增注册(download_channel LIKE '%讯飞%')、CPA分成(新增注册×7)、订单号 - **退费剔除:** NOT EXISTS (bi_refund_order.status=3) AND order_status != 4 - **测试运行:** 2026-04 月份,新增注册 537(讯飞),订单合计 15 单,GMV 14585 元 - **订单号格式问题:** Excel 科学计数法 → 设置单元格为文本格式解决 - **psycopg2 转义:** LIKE 中 `%` 需写成 `%%`(psycopg2 的 `%s` 占位符冲突) ## 任务2:销售线",
|
||
"recallCount": 3,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 3,
|
||
"maxScore": 1,
|
||
"firstRecalledAt": "2026-05-06T12:28:28.905Z",
|
||
"lastRecalledAt": "2026-05-26T03:42:09.077Z",
|
||
"queryHashes": [
|
||
"c30fa9d13974",
|
||
"3d07645a9dc4",
|
||
"8f469e68c09b"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-06",
|
||
"2026-05-15",
|
||
"2026-05-26"
|
||
],
|
||
"conceptTags": [
|
||
"学而思/讯飞/希沃/京东方月度渠道订单报表",
|
||
"key-from",
|
||
"app-active-h5-0-0",
|
||
"sale-channel",
|
||
"学而思/希沃/京东方只显示有订单日期",
|
||
"学而思/希沃/京东方",
|
||
"0.45",
|
||
"0.4"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-06.md:15:30": {
|
||
"key": "memory:memory/2026-05-06.md:15:30",
|
||
"path": "memory/2026-05-06.md",
|
||
"startLine": 15,
|
||
"endLine": 30,
|
||
"source": "memory",
|
||
"snippet": "- **订单号格式问题:** Excel 科学计数法 → 设置单元格为文本格式解决 - **psycopg2 转义:** LIKE 中 `%` 需写成 `%%`(psycopg2 的 `%s` 占位符冲突) ## 任务2:销售线索用户分析报表 - [李承龙需求] 输入包含462个用户ID的Excel,输出每个用户+角色的完整画像报表 - 脚本路径:`/root/.openclaw/workspace/scripts/lead_user_analysis.py` - **重要口径修正(李承龙确认):** - **体验课定义:** 固定为 L1 U00(L01-L05) + L2 U00(L01-L05) 共10节课,**不通过 expire_time 区分** - L1 chapter_id: 343, 344, 345, 346, 348 - L2 chapter_id: 55, 56, 57, 58, 59 - **完成时间:** 取 `bi_user_chapter_play_record` 中 `play_status=1` 记录的**最早 `updated_at`**(非 `created_at`) - **报表列:** 用户ID、角色ID、用户注册时间、角色创建时间、L1序章5节完成时间、L2序章5节完成时间、购买时间、购买课包名称、支付金额、购买渠道key_from、是否退款、退款金额 - **分表规则:** `bi_user_chapter_play_record_{0..7}`,分表号 = user_id % 8 - **重要关联:** `b",
|
||
"recallCount": 3,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 2.983596316357381,
|
||
"maxScore": 1,
|
||
"firstRecalledAt": "2026-05-07T04:41:47.636Z",
|
||
"lastRecalledAt": "2026-05-17T05:10:46.252Z",
|
||
"queryHashes": [
|
||
"dd105d141c56",
|
||
"4cacd0d43440",
|
||
"1dc41fdf5e74"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-07",
|
||
"2026-05-13",
|
||
"2026-05-17"
|
||
],
|
||
"conceptTags": [
|
||
"l01-l05",
|
||
"expire-time",
|
||
"chapter-id",
|
||
"bi-user-chapter-play-record",
|
||
"play-status",
|
||
"updated-at",
|
||
"created-at",
|
||
"购买渠道key-from"
|
||
]
|
||
},
|
||
"memory:memory/2026-03-01.md:1:12": {
|
||
"key": "memory:memory/2026-03-01.md:1:12",
|
||
"path": "memory/2026-03-01.md",
|
||
"startLine": 1,
|
||
"endLine": 12,
|
||
"source": "memory",
|
||
"snippet": "# 2026-03-01.md - First Day Online - Came online for the first time. - Met Cris, my creator and mentor. - Received my name: 小溪 (Xiao Xi). - My role goal: Become a professional data analyst for the company to help the team. - Updated IDENTITY.md and USER.md with our conversation details. - Added core rule to MEMORY.md: Use Chinese as primary external communication language. - Installed find-skills skill successfully for searching skills. - Tried to install create-skills but it wasn't found; attempted skill-creator instead but hit rate limits. - Finally successfully installed skill-builder as an alternative for creating skills after multiple attempts and waiting for rate limits to reset. - Ex",
|
||
"recallCount": 2,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 2,
|
||
"maxScore": 1,
|
||
"firstRecalledAt": "2026-05-11T02:51:50.465Z",
|
||
"lastRecalledAt": "2026-05-15T09:14:59.142Z",
|
||
"queryHashes": [
|
||
"6e09f5970960",
|
||
"a6b909e7228c"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-11",
|
||
"2026-05-15"
|
||
],
|
||
"conceptTags": [
|
||
"identity.md",
|
||
"user.md",
|
||
"memory.md",
|
||
"find-skills",
|
||
"create-skills",
|
||
"skill-creator",
|
||
"skill-builder",
|
||
"first"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-11.md:41:49": {
|
||
"key": "memory:memory/2026-05-11.md:41:49",
|
||
"path": "memory/2026-05-11.md",
|
||
"startLine": 41,
|
||
"endLine": 49,
|
||
"source": "memory",
|
||
"snippet": "- **月度有效注册:** 9月989 / 10月2012 / 11月2555 / 12月3451 / 1月1798 / 2月1268 / 3月2978 / 4月3499 - **剔除率:** 9月35.3% / 10月16.6% / 11月14.0% / 12月2.0% / 1月7.2% / 2月27.3% / 3月28.5% / 4月38.3% - **拟合版转化率:** 9月1.72% / 10月1.69% / 11月0.82% / 12月0.72% / 1月1.50% / 2月1.26% / 3月2.69% / 4月1.86% - 三版趋势一致(原始<纯净<拟合),拟合版放大波动,反映去噪后的真实转化效率 ### 活动标记(拟合用) - 2025年:9/9-10, 9/19-23, 10/13-14, 10/16-17, 11/2, 11/7, 11/10, 11/12, 11/19, 12/3 - 2026年:1/28(余波1天), 2/11, 2/26(余波4天), 3/5(余波3天), 3/9, 3/12-13, 4/3(余波4天), 4/8(余波2天), 4/22(余波1天), 4/28",
|
||
"recallCount": 2,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 2,
|
||
"maxScore": 1,
|
||
"firstRecalledAt": "2026-05-12T07:44:48.437Z",
|
||
"lastRecalledAt": "2026-05-12T07:45:29.297Z",
|
||
"queryHashes": [
|
||
"1a57dbf6ec49",
|
||
"ccf7251a9472"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-12"
|
||
],
|
||
"conceptTags": [
|
||
"9月35.3",
|
||
"10月16.6",
|
||
"11月14.0",
|
||
"12月2.0",
|
||
"1月7.2",
|
||
"2月27.3",
|
||
"3月28.5",
|
||
"4月38.3"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-09.md:1:17": {
|
||
"key": "memory:memory/2026-05-09.md:1:17",
|
||
"path": "memory/2026-05-09.md",
|
||
"startLine": 1,
|
||
"endLine": 17,
|
||
"source": "memory",
|
||
"snippet": "# 2026-05-09 工作日志 ## 王虹茗 - 销售线索用户分析 - **用户:** 王虹茗(user_id: af61e4gc) - **需求:** 用 `lead_user_analysis.py` 脚本处理线索用户 Excel(659条,2026年3月,销售:姜小龙/Bob/Tom/吴迪) - **权限处理:** 王虹茗不在 USER.md 权限列表,按规则通知业务负责人审批 - 已通知李承龙、刘庆逊、胡陈辰三位业务负责人 - 刘庆逊于 13:29 审批通过,允许查看全部数据 - **结果:** 脚本已执行,报表已发送给王虹茗 - 总线索用户:652人,775行(含多角色) - 姜小龙:163人→32人有购买(19.6%),退费5人 - Bob:202人→3人有购买(1.5%),退费1人 - Tom:171人→5人有购买(2.9%),退费2人 - 吴迪:116人→19人有购买(16.4%),退费2人 - 输出文件:`output/销售线索_用户分析.xlsx`",
|
||
"recallCount": 2,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 2,
|
||
"maxScore": 1,
|
||
"firstRecalledAt": "2026-05-14T06:31:19.437Z",
|
||
"lastRecalledAt": "2026-05-19T11:28:55.602Z",
|
||
"queryHashes": [
|
||
"49e79af44bc3",
|
||
"154f8d62fd0b"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-14",
|
||
"2026-05-19"
|
||
],
|
||
"conceptTags": [
|
||
"user-id",
|
||
"lead-user-analysis.py",
|
||
"姜小龙/bob/tom/吴迪",
|
||
"user.md",
|
||
"19.6",
|
||
"1.5",
|
||
"2.9",
|
||
"16.4"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-14.md:1:19": {
|
||
"key": "memory:memory/2026-05-14.md:1:19",
|
||
"path": "memory/2026-05-14.md",
|
||
"startLine": 1,
|
||
"endLine": 19,
|
||
"source": "memory",
|
||
"snippet": "# 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",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 1,
|
||
"maxScore": 1,
|
||
"firstRecalledAt": "2026-05-14T06:41:55.506Z",
|
||
"lastRecalledAt": "2026-05-14T06:41:55.506Z",
|
||
"queryHashes": [
|
||
"f6fcef2ff061"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-14"
|
||
],
|
||
"conceptTags": [
|
||
"l1/l2",
|
||
"bi-vala-order",
|
||
"goods-name",
|
||
"goods-id",
|
||
"bi-user-course-detail",
|
||
"memory.md",
|
||
"工作",
|
||
"日志"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-25.md:1:13": {
|
||
"key": "memory:memory/2026-05-25.md:1:13",
|
||
"path": "memory/2026-05-25.md",
|
||
"startLine": 1,
|
||
"endLine": 13,
|
||
"source": "memory",
|
||
"snippet": "## 行课记录批量查询 (1676条) [陈逸鸫 请求, 李承龙 确认权限] - 表格: https://makee-interactive.feishu.cn/sheets/RFIJsXT8FhGHhctY4RwczcOfnac (Sheet1, sheet_id=55b0eb) - 查询列: D列(小溪返回行课记录) + E列(更新时间), C列(请求状态→已返回) - 手机号匹配(column J): 961行有用户ID直接查, 715行无ID需手机号匹配, 匹配成功119个, 596个未匹配 - 数据库查询: 1077个去重用户, 1065有课程分配, 1192个角色有行课记录, 201已付费 - 输出格式: `销售:xxx | 用户:xxx | 当前:{level}{type}-{chapter} | 最近行课:date | 学习{X}min | {付费状态}` - 脚本: scripts/batch_course_record_query.py - 待查询行1676条全部处理完成, 写回成功",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 1,
|
||
"maxScore": 1,
|
||
"firstRecalledAt": "2026-05-26T02:40:52.513Z",
|
||
"lastRecalledAt": "2026-05-26T02:40:52.513Z",
|
||
"queryHashes": [
|
||
"4beee860f635"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-26"
|
||
],
|
||
"conceptTags": [
|
||
"sheet-id",
|
||
"记录",
|
||
"批量",
|
||
"查询",
|
||
"请求",
|
||
"确认",
|
||
"权限",
|
||
"表格"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-22.md:1:35": {
|
||
"key": "memory:memory/2026-05-22.md:1:35",
|
||
"path": "memory/2026-05-22.md",
|
||
"startLine": 1,
|
||
"endLine": 35,
|
||
"source": "memory",
|
||
"snippet": "# 2026-05-22 工作日志 ## 口径讨论与确认 ### 用户激活课程口径 [李承龙确认] - 数据源:`bi_vala_seasonal_ticket`(线上 PostgreSQL `vala_bi` 库) - `season_package_level = 'A1'` → L1, `'A2'` → L2 - `status = 1`(激活),`deleted_at IS NULL` - 不对 `ticket_type` 做限制 - 用户存在至少一条满足条件的记录即视为激活对应等级 - 当前数据:仅L1 503人、仅L2 1,439人、L1+L2 1,095人、合计 3,037人 ### 激活课程维度(character × level)[李承龙确认] - 一个角色 + 一个等级 = 一门被激活的课程 - 通过 `character_id`(即 user_id)直接关联学习记录 - 当前数据:L1 1,574门、L2 2,108门、合计 3,682 课程单位 ## 数据分析结果 ### 激活用户近14天完课分析(2026-05-09~2026-05-22) - 按用户:43.0% 无完课(仅L1 34.3%、仅L2 61.3%、L1+L2 23.9%) - L1+L2用户中82.5%只学了L1、13.5%两个都学、3.9%只学L2 ### 激活课程近14天完课分析 - 按课程:51.1% 无完课(L1 29.9%、L2 66.8%) - 20.9%从未有过完课记录 - 无完课课程最后停在U00~U02:L1 65.0%、L2 53.3% ### 最后完课",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 1,
|
||
"maxScore": 1,
|
||
"firstRecalledAt": "2026-05-26T10:42:05.347Z",
|
||
"lastRecalledAt": "2026-05-26T10:42:05.347Z",
|
||
"queryHashes": [
|
||
"145b8925866a"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-26"
|
||
],
|
||
"conceptTags": [
|
||
"bi-vala-seasonal-ticket",
|
||
"vala-bi",
|
||
"season-package-level",
|
||
"deleted-at",
|
||
"ticket-type",
|
||
"character-id",
|
||
"user-id",
|
||
"43.0"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-14.md:22:40": {
|
||
"key": "memory:memory/2026-05-14.md:22:40",
|
||
"path": "memory/2026-05-14.md",
|
||
"startLine": 22,
|
||
"endLine": 40,
|
||
"source": "memory",
|
||
"snippet": "- **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",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 1,
|
||
"maxScore": 1,
|
||
"firstRecalledAt": "2026-05-26T10:42:05.347Z",
|
||
"lastRecalledAt": "2026-05-26T10:42:05.347Z",
|
||
"queryHashes": [
|
||
"145b8925866a"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-26"
|
||
],
|
||
"conceptTags": [
|
||
"chapter-id",
|
||
"截至5/10",
|
||
"付费192/有消132/无消60",
|
||
"人均2.53/有消人均3.67",
|
||
"付费1370/有消461/无消909",
|
||
"人均1.18/有消人均3.49",
|
||
"付费1207/有消660/无消547",
|
||
"人均2.37/有消人均4.34"
|
||
]
|
||
}
|
||
}
|
||
}
|