设计原则
- 代码只保证可复现: 数字和阈值可追溯,但错误口径也会被稳定复制,必须另做业务与统计审核
- 每条结论必须有 rule_id + evidence: 可追溯到具体规则 + 数据源
- 规则版本化: 修改规则在 git 留痕, 历史报告可重现
- 机械溯源: 规则版约 5 分钟可核对数字引用;完整业务与统计审核不可省略
规则列表
| Rule ID | 描述 | 触发条件 | 数据来源 | 面向 | 严重度 |
|---|
数据 Lineage 流
SQL (dquery)
↓
puller (e.g., partners/pull_data.py)
↓
_partner9.json (raw per-period)
↓
build.py (sanitize NaN, aggregate)
↓
web/data/partners.json (production)
↓
narrative_composer.py (generate_narrative)
↓ + 数据交叉:
├─ attribution_interactions.json (LASSO 交互关联候选;已冻结)
├─ attribution_calendar.json (重叠天数)
├─ attribution_bayesian.json (Bootstrap 模型内区间;非因果)
├─ attribution_results.json (节假日 coef)
├─ evpm_results.json (鲸鱼集中度)
├─ tier_cutoffs.json (动态分位阈值)
↓
narrative dict (含 rule_id + evidence + confidence)
↓
deep_report_generator.py (render HTML)
↓
web/{activity}/deep_analysis_{pid}.html
↓
auto_post_event.py 每天 13:30 自动跑
未来扩展规则候选
- R9: D7/D30 留存断崖 — 当 cohort 留存系数偏离 power-law 拟合 > 20%
- R10: 跨地区方向不一致 — 仅登记分组方向差异;未核验权重与总体反转前不得称为 Simpson 悖论
- R11(冻结): 旧拟合量排序变化只用于模型诊断,不产生 ROI 或预算结论
- R12: tier 迁移检测 — 玩家从 small_high → mid 比例突变
- R13: 配表变更同期候选 — 用 SVN log 标记与指标拐点的时间重合,原因仍需实验验证
- R14(冻结): 旧拟合量横向排序不得进入活动价值判断
每个新规则只需要在 narrative_composer.py 加 ~15 行代码 + 注册到 RULES_REGISTRY. 增量成本低