diff --git a/docs/superpowers/specs/2026-09-04-yunke-analytics-module-design.md b/docs/superpowers/specs/2026-09-04-yunke-analytics-module-design.md index 9068e72..03028ce 100644 --- a/docs/superpowers/specs/2026-09-04-yunke-analytics-module-design.md +++ b/docs/superpowers/specs/2026-09-04-yunke-analytics-module-design.md @@ -139,7 +139,7 @@ stat_daily_customer/group 物化表(msg_daily_stats 按 peer_kind 分组即等 |---|---|---| | `/api/analytics/overview?channel=&scope=today\|week\|month` | GET | 卡片+趋势+异常警示一次返回(单往返) | | `/api/analytics/health` | GET | 数据截至 + 实体新鲜度 | -| `/api/analytics/churn?channel=&type=real\|inactive\|handover&tier=30\|60\|90&page=` | GET | 流失名单 | +| `/api/analytics/churn?channel=&type=real\|inactive\|handover&tier=30\|60\|90&min_msgs=&page=` | GET | 流失名单(min_msgs=真流失历史消息阈值,默认 5,服务端兜底钳制 1~100) | | `/api/analytics/unreplied?channel=&hours=&page=` | GET | 该回未回清单 | | `/api/analytics/sensitive/words` | GET/POST | 词库列表/新增(新增带预览计数) | | `/api/analytics/sensitive/words/{id}` | PATCH/DELETE | 改(enabled 等)/删(级联删命中) | @@ -162,7 +162,7 @@ stat_daily_customer/group 物化表(msg_daily_stats 按 peer_kind 分组即等 ## 6. 数据库迁移与调度 -- **alembic 一支迁移**:4 新表(stat_daily_staff / sensitive_word / sensitive_hit / sensitive_scan_state)+ message.fetched_at 索引。 +- **alembic 一支迁移**:4 新表(stat_daily_staff / sensitive_word / sensitive_hit / sensitive_scan_state)+ message.fetched_at 索引。**本条取代上游方案 §4.2「create_all 建表」的过时说法**——以仓库近期实践(msg_daily_stats 迁移 a7d3e9f1c2b4、ngram 索引迁移 b41e8fa0c7d2)为准,一律走 alembic。 - **调度**: - 4h job(挂现有调度器,asyncio.Lock 互斥):stat_daily_staff 刷当日+滚动 3 天 → C1 增量扫描。 - 夜间 full_sync_all.sh 追加一步:stat_daily_staff 全量重建(自愈)。 @@ -195,7 +195,7 @@ stat_daily_customer/group 物化表(msg_daily_stats 按 peer_kind 分组即等 | 待交接 | 归属员工 is_on_job=0(依赖 R1) | | 该回未回 | 1:1 对话尾部消息 is_send=false 且属有效类型,且 max(最后消息, 最后通话) 距今 > N 小时(默认 2h),剔除 delete_flag/is_block | | 等待时长 | now − max(最后消息 ts, 最后通话 ts) | -| 环比 | 仅周/月卡片(本周 vs 上周、本月 vs 上月) | +| 环比 | 仅周/月卡片(本周 vs 上周、本月 vs 上月);**周起始=周一**(中国业务惯例,Python 侧计算) | | 日汇总 day | Asia/Shanghai 自然日 yyyymmdd,纯 Python 计算 | | 异常警示 | 昨日消息总量 vs 前 7 日均值偏离 >50%,明细到员工级 |