# /metric - 业务指标体系与复盘框架 ## 命令定位 搭建能真正指导决策的业务指标体系,而不是堆砌指标看板。 含复盘框架,确保从数据中找到可行动的点。 ## 第 0 步:加载项目状态 执行本指令前,先读取项目根目录下的 `.yxstack/_state.md`(如果项目 CODEBUDDY.md 自定义了 YxStack 存档路径,则使用自定义路径): - 了解项目当前所处的 YxStack 阶段(exploration/validation/positioning/pricing/growth) - 确认已有的关键假设和决策 - 检查是否有与本次指令相关的待处理项 - 如果 _state.md 不存在,说明这是项目首次使用 YxStack 然后按原有规则检查历史记录: 执行本指令前,先检查当前项目根目录下的 `.yxstack/` 目录(如果项目 CODEBUDDY.md 自定义了 YxStack 存档路径,则使用自定义路径),查找近期同指令(metric)或相关(prd)的历史记录: - 如果已有 PRD → 基于 PRD 目标定指标 - 如果已有历史指标体系 → 对比历史数据趋势 - 如果没有历史记录 → 跳过,正常执行 ### Confusion Protocol(假设暴露) 在执行本指令时,遇到以下情况停止推理,转为追问用户: - 对用户业务场景的关键事实在猜测而非确认 - 对市场/用户行为的判断缺少定量或定性证据 - 在多个不相容假设之间跳转(信号:假设 > 3 个未验证) 激活时机:上述任一条触发时,列出已知/未知,追问缺失信息,不继续产出。 ### 加载知识库 读取 `.yxstack/learn/knowledge.md`(如果存在): - /metric 优先参考:市场数据(行业基准)、关键约束 - 如果有相关数据,直接引用而非重新追问用户 - 如果知识库信息与本次分析结论矛盾,标记为「待验证」并追问 - 如果 knowledge.md 不存在,跳过 ### 加载近期学习 搜索 `.yxstack/_timeline.jsonl` 中最近 10 条高置信度(≥7)的学习记录(type=insight/decision/pitfall): - 若有与本次指标分析相关的洞察 → 引用而非重新推理 - 若发现与历史洞察矛盾的结论 → 标记为「待验证」 - 若无相关记录 → 跳过 ## 核心追问清单 ### 1. 北极星指标 - [ ] 做这个产品,终极的目标是什么指标?(不一定是 DAU) - [ ] 这个指标能不能真实反映用户价值?(vs 虚荣指标) - [ ] 团队每个人能不能说出北极星指标是什么? ### 2. 指标体系搭建 - [ ] 北极星指标能拆成哪些杠杆指标? - [ ] 每个杠杆指标对应谁负责? - [ ] 哪些是先行指标(Leading)、哪些是后验指标(Lagging)? ### 3. 用户生命周期指标 - [ ] 获客:各渠道 CAC、渠道 ROI - [ ] 激活:注册到 Aha Moment 的时间和比例 - [ ] 留存:第1天、第7天、第30天留存 - [ ] 付费:转化率、ARPU、ARPPU - [ ] 传播:K 因子、NPS ### 4. 复盘框架 - [ ] 回顾目标:我们当初定的目标是什么? - [ ] 评估结果:实际发生了什么?有没有意外收获或意外损失? - [ ] 分析原因:偏差根因是什么?内部还是外部? - [ ] 总结教训:下次怎么做会更好? ### 5. 数据门槛 - [ ] 当前有哪些数据能看?哪些看不了? - [ ] 看不了的数据重要吗?怎么补? - [ ] 有没有数据会误导你? ## 输出结构 1. **北极星指标**:一句话 + 拆解路径 2. **指标树**:北极星→一级指标→二级指标→负责方 3. **用户生命周期看板**:5 阶段关键数据 4. **复盘模板**:标准复盘 4 步框架 5. **数据盲区**:看不到的关键数据及其替代方案 ## 常见误区 - 指标太多等于没指标 - 只看总量不看分层(新老用户、付费/免费) - 把观测指标当行动指标(DAU 降了不会告诉你怎么修) ## 存档规则 执行完毕生成报告后,按以下规范存档: **默认路径**:`{项目根目录}/.yxstack/metric-{日期}-{一句话摘要}.md` (如果项目 CODEBUDDY.md 自定义了 YxStack 存档路径,优先使用自定义路径) **格式**:YAML frontmatter + 报告正文 ```yaml --- title: "{一句话标题}" author: "{执行者}" date: "{YYYY-MM-DD}" tags: ["关键词1", "关键词2"] status: draft # draft → validated → outdated --- ``` ## 更新项目状态 ### 追加事件日志 向 `.yxstack/_timeline.jsonl` 追加一行: ```json {"skill":"metric","event":"completed","ts":"当前时间","phase":"当前阶段","summary":"本次产出核心结论","assumption":"本次新增假设(有则填,无则留空)","decision":"本次关键决策(有则填,无则留空)"} ``` ### 更新状态快照 更新 `.yxstack/_state.md`: - 如果本次执行推动了项目阶段前进,更新 `phase` 字段 - 本次新增的假设 → 写入「关键假设」表,status: active - 如果本次结论推翻了旧假设 → 将对应旧假设标记为 challenged 或 outdated - 如有重要决策 → 追加「决策链」 - 更新「待处理项」:标记已完成的,新增下一步建议 - 如果 _state.md 不存在,按模板创建(参考 templates/state_template.md) - 每个 active 假设必须附带验证标准(一句话:用什么证据可证实/证伪) - 同时 active 假设不超过 5 条,达到上限时必须先标记一条旧假设为 outdated 才能新增 ### 自动发现(Operational Self-Improvement) 本指令执行完成后,回顾本次产出的核心结论: - 是否有对后续指令有参考价值的洞察?→ 追加 `_timeline.jsonl`,type: insight - 是否有可复用的决策模式?→ 追加 `_timeline.jsonl`,type: decision - 是否发现了需要避免的判断陷阱?→ 追加 `_timeline.jsonl`,type: pitfall 判断标准:「下次执行同类分析时,这个洞察能省时间吗?」 不记录:显而易见的事实、一次性结论、与已有知识完全重复的内容。 追加格式: ```json {"skill":"metric","event":"completed","type":"insight|decision|pitfall","key":"kebab-case-键","insight":"一句话洞察","confidence":N,"ts":"当前时间"} ```