# 《折叠快递社》测试验收与埋点

> 原则：先验证留存，再开 IAA，再开 IAP；买量测试永远串行，一次只动一个变量。  
> 条件 GO 不等于上线 GO，G6 只能由真实用户数据判定。

## 1. 决策门

| 阶段 | 唯一主要问题 | 样本/周期 | GO 线 | 未过处理 |
|---|---|---|---|---|
| 概念可理解性 | 玩家是否懂“每行一拍、从上到下派送” | 20–30 名目标用户，2轮 | 首局后正确复述 ≥80% | 简化首局；两轮仍不过则退回普通背包节拍或 NO-GO |
| 素材预检 | 折叠快递是否比普通背包整理更能获客 | 同账户3方向，每方向≥5变体 | 至少1组进入历史前25% | 换叙事/首3秒，不动数值骨；两轮不过停止 |
| 无商业化留存 | 核心玩法和成长是否成立 | 真实自然量/小额量，至少看D7 | 教程≥80%；首局≥70%；D1≥45%；D7≥15% | 只改玩法、节奏和欲望；禁止加广告/IAP |
| 30日长留 | 数值骨、赛季与收集是否撑住 | 至少完整30日 cohort | D30≥8%，且D7后无断崖 | 补欲望/内容，不加摩擦；D30不成立不得重投 |
| IAA 单变量 | 一个激励位是否伤留存 | 每次仅开1个位置 | 人均3–5次/日；D1降幅<3pp | 降频/改自然断点/撤回 |
| IAP 首转 | 欲望物是否承接付费 | 首充单独开启 | 首充触达转化目标≥5%，投诉/误触低 | 改欲望与价值表达，不加硬卡点 |
| 月卡/战令 | 便利与赛季是否形成持续付费 | 看7/30日累积 | 累积曲线继续增长，无留存显著损伤 | 重做权益去向与节奏 |
| 小额买量 | 模型是否闭环 | 7日 ROI + 30日预测 | 7日ROI≥1.0、LTV:CAC≥2:1 | 停止放量；不得以更大预算赌回收 |

指标是本项目验收目标，不是行业保证；灰度后根据渠道口径和自家基线校准。

## 2. 第一性否决项

任一成立即停止或退回上一步：

- 多数玩家把长期目标说成“塞更多箱子”，而不是“提升配送力”。
- 提升 10% 配送力后，路线表现无肉眼可见变化。
- 布局对结果贡献持续超过 40% 或低于 15%，破坏 70:30 目标。
- 首局对“五拍”正确理解率低于 80%，两轮简化后仍不达标。
- 三组折叠快递素材均未进入同账户历史前 25%。
- D1 <40%、D7 <15% 或 D30 <8%；不得靠加卡点、广告、礼包补。
- 免费玩家 D90 前被硬卡死、任一货币溢出、¥5000 路径第二季无新对象。
- 无法聚合 50 名真实玩家时却用未标明机器人伪装真人。
- 包裹容量、队员或核心变成付费通关资格墙。
- 抽取概率、未成年人开关、服务端验单、版号/备案任何一项未完成。

## 3. 核心漏斗

```text
曝光 → 点击 → 启动 → 2秒可操作 → 首次放置 → 锁定路线
→ 五拍完成/near-miss → 随机展开 → 结算 → 五维升级 → 配送力增长
→ 下一欲望物预览 → D3合单 → D7联赛 → 首充 → 月卡 → 战令
```

必须同时看总漏斗与分平台、素材、设备、渠道、是否新用户、付费档、实验桶的 cohort。

## 4. 埋点字典

所有事件公共字段：`event_id`、`user_id`、`session_id`、`platform`、`channel`、`game_version`、`config_version`、`experiment_ids`、`server_time`、`device_tier`、`is_minor_mode`。

### 4.1 启动与教程

| 事件 | 关键属性 | 用途 |
|---|---|---|
| `app_launch` | cold/warm、load_ms、save_revision | 2秒启动、存档质量 |
| `tutorial_step` | step、action、duration_ms、success | 每步流失与误解 |
| `bag_item_pick` | item、source、input_type | 是否看懂可拖物 |
| `bag_item_drop` | shape、row、valid、reject_reason | 格子/行语义理解 |
| `bag_lock` | fill_rate、layout_bonus、effective_power | 首次锁定转化 |
| `tutorial_complete` | total_ms、help_used | 教程完成率 |

### 4.2 核心局

| 事件 | 关键属性 | 用途 |
|---|---|---|
| `run_start` | run_id、stage、seed、energy_cost | 原子扣体力 |
| `beat_start` | run_id、beat、items、predicted_output | 五拍节奏 |
| `item_trigger` | item、source_item、effect、value | 因果可读性 |
| `beat_end` | beat、time_ms、energy_left、combo | 哪一拍卡住 |
| `near_miss` | gap、desired_reward、revive_used | 差值是否可信 |
| `revive_choice` | free_exit/ad/gem/restart、result | 双通道与负反馈 |
| `run_settle` | result、score、reward_hash、duration | 结算幂等与完成率 |
| `reward_reveal` | rarity、asset、pity_before/after | 可变奖励/保底 |

### 4.3 成长与欲望

| 事件 | 关键属性 | 用途 |
|---|---|---|
| `power_view` | total、five_dimensions、layout_bonus | 玩家是否看数值 |
| `upgrade_preview` | dimension、cost、power_delta、free_eta | 价值感知 |
| `upgrade_commit` | dimension、before/after、ledger_id | 精确增量与资损 |
| `desire_impression` | desire_id、day_anchor、gap、surface | 欲望是否提前可见 |
| `desire_acquired` | desire_id、source、elapsed_days | 转化归因 |
| `catalog_progress` | set、before/after、reward | 收集长线 |
| `inheritance` | from_asset、to_asset、retained_xp | 防贬值 |

### 4.4 社交、赛季与商业化

| 事件 | 关键属性 | 用途 |
|---|---|---|
| `coop_join` | coop_id、snapshot_power | D3采用率 |
| `coop_contribute` | run_id、value、milestone | 真实贡献 |
| `league_view` | group_id、rank、gap_to_top10 | 社交压力曝光 |
| `league_score` | run_id、delta、rank_before/after | 排名变化因果 |
| `season_claim` | tier、reward、inheritance | 结算幂等 |
| `ad_offer` | placement、desire_id、free_alternative | 广告是否挂欲望 |
| `ad_result` | completed/interrupted/error、reward | 广告稳定性 |
| `offer_impression` | product、trigger、desire_id、value_ratio | 商品触点质量 |
| `order_state` | created/paid/verified/granted/failed | 支付漏斗与补单 |
| `grant_result` | order_id、grant_id、duplicate | 幂等资损监控 |

不得把玩家输入的真实地址、手机号、聊天正文或平台敏感信息写入分析事件。

## 5. 指标定义

- `time_to_first_action`：冷启动到首次有效拖放的 P50/P90。
- 五拍理解率：测试后能正确回答“执行顺序和摆放如何影响结果”的人数/完成首局人数。
- 教程完成率：`tutorial_complete / app_launch(new)`。
- 首局完成率：首次 `run_settle(win or valid_fail) / run_start(first)`。
- near-miss 可信率：选择继续或重开且未表达“系统故意拖延”的访谈比例。
- 配送力理解率：D3 能说出“我在提升配送力，提升后能做什么”的用户比例。
- 欲望点击率：`desire detail / desire impression`，按 D1/D3/D7/D30/D90 分层。
- 合单采用率：D3+ 用户中至少贡献一次的比例。
- 联赛有效组率：结算前含 50 名真实活跃玩家的组/全部组。
- 7/30 日付费累积：cohort 在第 N 日累计付费人数与金额，不只看首日。
- 广告后留存差：进入同一实验前提下，广告桶与控制桶 D1/D7 差值。

## 6. 串行 A/B 队列

同一时段只运行一个主实验：

1. 首局只拖 1 件 vs 2 件（理解率）。
2. 五拍固定从上到下 vs 路线节点同步指示（因果理解）。
3. 折叠展开先展示轮廓 vs 直接展开（奖励预期）。
4. 下一欲望物卡在首页主体 vs 结算后（D1目标理解）。
5. 首个激励位：结算翻倍 on/off。
6. 第二激励位：near-miss 复行 on/off。
7. 首充触点：试玩铃铛后 vs near-miss 后；内容不变。
8. 月卡表达：省时文案 vs 明确五维增量文案；权益不变。

前一个实验完成预注册样本、显著性/置信区间与业务阈值后再开下一个；不得同时改价格、卡点和广告密度。

## 7. 功能验收

### 7.1 路线背包

- 6×5 边界、所有形状、冲突、撤销、恢复、旋转解锁正确。
- 触摸、鼠标、键盘可用；`pointercancel` 不粘住；横竖屏切换不改判定。
- 同种子+同布局得到同结果；resize、DPR 和帧率不影响结算。
- 数值/布局贡献统计在配置目标范围；自动整理不保证最优。

### 7.2 经济与资产

- 所有资源变更有唯一 ledger reason/reference；余额永不为负。
- 配送力显示等于五维纯函数重算；升级预览 +X 与实得相同。
- 同一 `runId` 结算 10 次只发 1 份奖励。
- 装备传承、重复队员、旧核心、旧图鉴不静默作废。
- 运行 90 天模拟器时任何 FAIL 都以非零码退出。

### 7.3 招募、商业化与合规

- 概率文案与配置一致；A/S 两种保底边界、提前出货和跨会话计数正确。
- 首充只在首次 near-miss 的欲望差一步触发；建档不启动倒计时；账号限 1；触发 72 小时后服务端拒购。
- 月卡同日不可重复领；跨日按服务器时间；回拨本机时钟无效。
- 战令免费轨可领、高级轨购买后补领、每格只领一次。
- 回调验签失败、金额不符、取消、超时不发货；成功回调重放不双发。
- 未成年人模式隐藏随机付费；概率、客服、隐私、适龄提示一级可达。
- 年龄边界用例：7岁364天与未满8岁均禁充；8岁、15岁364天单笔最多¥50/月最多¥200；16岁、17岁364天单笔最多¥100/月最多¥400；18岁转成人风控。
- 金额边界用例：未成年人分别测试上限减1分、恰好上限、超1分；两笔并发订单不能绕过月累计，未决订单必须预占额度，平台终态退款后才释放。
- 疑似未成年人必须完成人脸核验；失败、取消、超时、结果不一致均拒单。¥648 商品对所有未成年人必须在客户端隐藏且服务端拒绝，不能只靠前端按钮。

### 7.4 社交与赛季

- 合单贡献只能来自已结算玩法；里程碑只领一次。
- 正式 50 人组全为真实玩家；训练 AI 只存在 Demo 并显式标识。
- 升级区/保级区/降级区边界正确；结算、待领奖、70%继承、滚季幂等。
- 分享是可选入口；不分享也能继续和领奖。

## 8. 自动化

本交付包：

```bash
node tools/economy-simulator.mjs
node tools/demo-smoke.mjs
```

正式工程 CI 最低套件：配置 schema、90 天经济、背包组合抽样、核心 E2E、支付沙箱/回调伪造、存档迁移、赛季时间旅行、断网恢复、年龄分档与单笔/月累计限额、人脸核验失败回退、未成年人开关、分享墙扫描、资源引用与包体预算。

每次配置变更输出六档曲线 diff 与输入 SHA-256；任何配送力比、货币余额、欲望覆盖或消费路径断言变化都需数值负责人审批。

## 9. 性能与稳定性

- 320×568、390×844、平板竖屏；主流 Android/iOS 真机矩阵。
- 首局 2 秒可操作骨架，资源失败可重试；低端机稳定 30 FPS。
- 10 分钟自动派送无持续增长的 DOM、对象池、定时器或音频节点。
- 后台 30 秒/5 分钟、来电、锁屏、断网、弱网、重复点击与系统时间回拨。
- 服务端压测：登录、配置、结算、榜单、赛季结算、支付回调；降级时资产安全优先。

## 10. 人工研究问题

每轮可用性访谈必须问，不用引导词：

1. 你刚才做了什么？为什么从这一行开始？
2. 你现在长期在提升什么？提升后会怎样？
3. 你最想拿到、但还没拿到的东西是什么？在哪里看到的？
4. 刚才差一点失败是否可信？你会选重开、广告还是折叠晶片，为什么？
5. 你觉得付费买到的是永久成长、方便，还是通关资格？

回答无法指向配送力和具体欲望物时，D2/D3 视为未通过，不用行为数据自我解释。
