# 《银河拾荒局》测试验收与埋点

> 目标：用最少变量依次回答“玩法留不留人 → 广告能否覆盖免费层 → 欲望物能否转付费”。  
> 禁止用首日付费率掩盖留存问题；禁止同时改卡点、广告和商品。  
> 指标是 GO/NO-GO 规则，不是结果承诺。

## 1. 测试顺序

| 阶段 | 开放内容 | 唯一要回答的问题 | 进入下一阶段条件 |
|---|---|---|---|
| T0 素材预检 | 3 套真玩法素材，无游戏商业化 | “吸—拖—送”和题材是否能在 3 秒内成立 | 至少 1 套进入同账户/同版位历史前 25%；无历史则先建控制组 |
| T1 可用性 | 20–30 人观察测试 | 用户是否 10 秒内会动、能否理解归仓 | 首次有效操作 P75≤10s；80% 无口头帮助完成首局 |
| T2 裸玩法留存 | 无广告、无 IAP、卡点极软 | 核心爽感 + 资产成长是否值得回来 | 教程完成≥80%；首局完成≥70%；D1≥45%；D7≥15% |
| T3 激励广告 | 只开自愿激励，不开插屏/IAP | 双通道是否覆盖免费层且不伤留存 | 人均 3–5 次/日；D1/D7 相对 T2 降幅各 <3pp |
| T4 IAP | 开首充/月卡，其他不变 | 具体欲望物是否承接转化 | 首充触达购买≥5%；付费后 7 日留存不差于同层基线 |
| T5 赛季/礼包 | 开 D7 联赛、战令、18–68 包 | 社交压力是否提高长期价值而非制造流失 | D7≥15%；联赛参与≥40%；榜单异常率可控；7/30 日付费累积继续上升 |
| T6 小额买量 | 最优素材 + 完整闭环 | 单位经济是否闭环 | 7 日 ROI≥1.0；LTV:CAC≥2:1；留存≥T2 基线 90% |

T2 留存目标采用 paid-v3 的 hybrid 优秀线作为产品目标。小样本只看方向和置信区间，不用恰好过线的点估计强行决策。

## 2. 核心漏斗

```text
素材曝光
→ 点击/进入
→ 首次有效拖动
→ 首件吸附
→ 首次归仓
→ 首局完成
→ 首次五维升级
→ 看见 D1 欲望物
→ 第二局开始
→ D1 回访
→ D3 联合合约
→ D7 联赛
→ 首充/月卡
→ D30 泰坦目标
```

关键诊断：

- 点击高、首局低：素材承诺和真玩法不一致，先改素材/教程。
- 首局高、第二局低：归仓有爽感但 meta 无欲望，改升级与剪影。
- D1 高、D3 低：加工/能源过早或经营目标断档。
- D3 高、D7 低：联合合约正反馈不足或联赛压力太早。
- 欲望物查看高、首充低：价值/独占/价格/免费边界表达问题；不先加硬卡点。

## 3. 埋点事件字典

所有事件带公共字段：`uid_hash, session_id, game_version, config_version, platform, device_tier, network, experiment_buckets, server_time, client_time`。禁止上传身份证、支付账号或聊天明文。

### 3.1 会话与教程

| 事件 | 时机 | 关键属性 |
|---|---|---|
| `session_start` | 进入游戏 | `is_new, days_since_install, save_source` |
| `bootstrap_ready` | 可操作 | `load_ms, package_ms, cloud_ms` |
| `tutorial_step` | 每步开始/完成/跳过 | `step, action, elapsed_ms` |
| `first_input` | 首次有效拖动 | `elapsed_ms, input_type` |
| `session_end` | 隐藏/退出 | `duration_s, last_screen, dirty_save` |

### 3.2 出航

| 事件 | 时机 | 关键属性 |
|---|---|---|
| `sortie_start` | 服务端成功扣能源 | `session_id, sector, energy_before/after, asset_value` |
| `scrap_attach` | 废件进入尾巴 | `type, rarity, elapsed_s, tail_len, combo`；采样上报 |
| `rare_seen` | 稀有件首次进视野 | `object_id, elapsed_s, owned, pity_before` |
| `cargo_peak` | 达到新尾巴峰值 | `tail_len, load_pct, speed_factor` |
| `deposit` | 归仓 | `items, combo, value, elapsed_s, deposit_index` |
| `hazard_hit` | 风暴打散 | `tail_lost, load_pct, elapsed_s` |
| `near_miss_show` | 距目标≤10% | `missing, desired_object, reward_secured` |
| `near_miss_choice` | 三通道选择 | `wait/ad/gem/leave, ad_result, gem_cost` |
| `sortie_finish` | 服务端验收 | `banked, rescued, rare, duration, validated, reject_reason` |
| `settle_choice` | 领取/翻倍/升级 | `choice, base_reward, final_reward, ad_result` |

### 3.3 成长与欲望

| 事件 | 时机 | 关键属性 |
|---|---|---|
| `asset_view` | 基地/五维页 | `asset_total, five_dimensions, next_goal` |
| `upgrade_preview` | 查看升级 | `dimension, level, cost, asset_delta, affordable` |
| `upgrade_commit` | 服务端完成升级 | `dimension, before/after, asset_delta, currency_cost` |
| `desire_impression` | 欲望物完整可见 ≥1s | `object_id, D_stage, surface, gap, free_eta` |
| `desire_detail` | 主动查看详情 | `object_id, owned, asset_delta` |
| `collection_progress` | 图鉴变化 | `page, before/after, global_bonus` |
| `pity_change` | 招募后 | `pool_group, before/after, rarity, guaranteed` |

### 3.4 社交与商业化

| 事件 | 时机 | 关键属性 |
|---|---|---|
| `coop_join/contribute/claim` | D3 合约 | `group_id_hash, personal, group_total, milestone` |
| `season_join` | 完成分组 | `season, tier, group_size, starting_asset` |
| `season_board_view` | 看榜 | `rank, zone, reward_previewed, time_left` |
| `season_score` | 服务端加贡献 | `delta, source, rank_before/after, audited` |
| `share_create/visit/reward` | 求助/战绩卡 | `scene, share_id_hash, actual_return, daily_count` |
| `ad_offer/show/complete/abort/reward` | 广告完整漏斗 | `scene, placement, latency, error, daily_count` |
| `store_view` | 商店/商品 | `surface, desired_object, D_stage` |
| `sku_impression` | 商品卡可见 | `sku, price, asset_delta, free_eta, time_left` |
| `order_create` | 服务端创建订单 | `order_id_hash, sku, amount, age_gate` |
| `pay_result` | 服务端最终状态 | `success/fail/cancel/pending, failure_code, grant_ms` |
| `grant_result` | 发货 | `sku, idempotent_hit, asset_delta` |

## 4. 指标定义

| 指标 | 定义 | 注意 |
|---|---|---|
| 首次操作时间 | `first_input - bootstrap_ready` | 只统计无崩溃新用户 |
| 首局完成率 | 有 `sortie_finish(validated=true)` / 有 `sortie_start` 的新用户 | 断网待结算单独列 |
| 二局开始率 | 首局完成后 10 分钟内再次 `sortie_start` | 衡量 One More Try |
| 欲望物理解率 | 访谈能复述对象与缺口 / 访谈样本 | 不能只用点击替代 |
| D1/D7/D30 | 安装/首登 cohort 在对应自然日活跃 | 与微信回流口径分开报 |
| 广告渗透 | 当日完成 ≥1 次激励视频 DAU/DAU | offer/show/complete 分层 |
| 首充触达转化 | 购买成功人数 / `first_offer` 有效触达人数 | 不是全 DAU 付费率 |
| 7/30 日累积付费 | cohort 在第 7/30 日累计付款人数与金额 | 混变不可只看首日 |
| 联赛参与 | 有有效赛季贡献人数 / 已解锁联赛 DAU | 看真实组密度 |
| LTV:CAC | cohort 净收入 LTV / 获客成本 | 净收入扣平台分成/退款/广告成本 |

## 5. A/B 测试队列

一次只跑一个实验；所有实验预先定义主指标、护栏、样本和停止规则。

| 优先 | 实验 | A | B | 主指标 | 护栏 |
|---:|---|---|---|---|---|
| 1 | 核心控制 | 回收艇跟手 | 虚拟摇杆 | 首次操作、首局完成 | 误触/晕动反馈 |
| 2 | 归仓节奏 | 满 8 件提示 | 满 12 件提示 | 首局完成、二局开始 | 单局收益方差 |
| 3 | 欲望预告 | 只显示剪影 | 完整试用 15 秒 + 席位 | 欲望理解、D1 | 教程时长 |
| 4 | D3 合约 | 纯进度条 | 巨构模型逐层修复 | D3 回访、贡献 | 性能/加载 |
| 5 | 激励翻倍 | 每局可见 | 资源不足时才可见 | 完播/日、D1 | 结算停留时长 |
| 6 | 首充价值 | 资源清单 | 对象 + 资产前后对比 | 触达转化 | 退款/负反馈 |
| 7 | 联赛展示 | 只显示贡献 | 贡献 + 舰壳/升降区 | D7、榜查看 | 压力导致退出 |

商业化实验必须在 T2 留存达标后开始。不得把“广告频次 + 首充价格 + 卡点强度”打包成一个实验。

## 6. 功能验收

### 6.1 核心玩法

- [ ] 首次有效操作 ≤10 秒；2 秒内可进入玩法。
- [ ] 90 秒内至少一次可变稀有奖励；前 15 秒有连续吸附反馈。
- [ ] 触摸、鼠标、键盘都可控制；触点离开画布不会卡死输入。
- [ ] 尾巴峰值、连收倍率、载重减速符合表；低端降级不改变结算。
- [ ] 归仓 100% 记账；结束时未归仓保 50%；无清零重罚。
- [ ] near-miss 仅缺口≤10%触发；免费离开清晰可见，当前奖励不丢。
- [ ] 暂停/切后台/旋转/来电/断网后时间和结算不重复。

### 6.2 经济/资产

- [ ] 三资源 source/sink 全部有唯一 `reason` 和账本记录。
- [ ] 服务端重算五维和银河资产值；客户端改值无效。
- [ ] 每次升级/商品显示精确资产 +X 且与服务端结果一致。
- [ ] 回收币在 D3/D7/D30 的 sink 容量 > source；F2P 每日仍有确定升级。
- [ ] 旧船、旧设备、满星重复、赛季材料按防贬值规则转换，无静默作废。
- [ ] 保底跨同类池、换设备、重登、断网后不丢。

### 6.3 云存档与支付

- [ ] 两设备交替登录，最新升级/库存/保底/月卡/赛季均存在。
- [ ] 旧版本档不能覆盖新支付资产；冲突有日志与提示。
- [ ] 客户端伪造成功不发货；金额/SKU 不符不发货。
- [ ] 回调重放、重复点购、超时重试只发一次；订单/发货可审计。
- [ ] 支付成功客户端断网后，重登可自动恢复到账。
- [ ] 退款/撤销按平台规则记录并处理，不允许余额变成不可解释负数。

### 6.4 社交/赛季

- [ ] 分组恰为目标人数或明确显示未满；测试 AI 清晰标识。
- [ ] 赛季贡献只能来自服务端已验动作；直接提交任意分数被拒。
- [ ] 升/保/降区与奖励规则在赛前可见；结算幂等。
- [ ] 段位积分继承 70%，资产/付费物/保底不清。
- [ ] 异常分数进入审核，不把正常玩家资产回滚。

### 6.5 合规/伦理

- [ ] 未实名不能进入正式运营；未成年人时段、时长和限额生效。
- [ ] <8 岁禁付费；其他年龄档单次/月限额按规则校验。
- [ ] 付费随机购买前能看概率、保底、重复转化；未成年人入口关闭。
- [ ] 真实人民币、到账对象、限购、起止、免费路径、客服/退款可见。
- [ ] 限时商品到期即下架；客户端改时间不能复活；首航协议错过不循环。
- [ ] 分享为可选，好友真实回流后发奖；不要求不同群。
- [ ] 训练 AI 不伪装真人；不显示其他用户的真实消费。

## 7. Demo 专项验收

本交付 Demo 不是正式后端，但必须能评审产品链：

- [ ] 打开 `demo/index.html` 无构建步骤，移动/桌面可用。
- [ ] 45 秒加速局可完成“吸—拖—送—结算—升级”。
- [ ] 至少 3 类普通废件、1 类稀有件、载重减速、连收、归仓。
- [ ] 基地/资产/联赛/商店四页可切换。
- [ ] 银河资产值常驻；五维可升级；升级显示精确增量。
- [ ] D1/D3/D7/D30 欲望物能在 UI 中看到。
- [ ] 能源不足、结算翻倍、模拟首充/月卡至少展示双/三通道。
- [ ] 商业操作全部写“DEMO 模拟”，不发起网络支付。
- [ ] localStorage 重开仍有进度；统一 SDK 可用时显示 H5 云双写模拟状态。
- [ ] “重置 Demo”需二次确认，只清本 gameId 的存档，不动其他游戏数据。
- [ ] 控制台无未捕获错误；Chrome/Edge 当前版至少各测一次。

## 8. 自动化与压测

- `node tools/economy-simulator.mjs`：跑 0/30/1000 元 30 天成长，生成 CSV/JSON；经济改表后必跑。
- 核心规则单测：资产公式、升级成本、稀有保底、尾巴倍率、未归仓 50%、能源恢复。
- API 契约：重复请求/乱序/断网/旧版本/超限/签名失败。
- 50/100/1,000 账号加速赛季演练：分组、贡献、结算、重跑幂等。
- 支付沙箱故障注入：回调延迟 30 分钟、重复 10 次、事务中断后恢复。
- 性能：低端机同屏 80 对象 + 20 尾巴 + 100 粒子持续 10 分钟；记录 FPS、内存、温度/降频。

## 9. 硬停止条件

满足任一项，停止放量并回到对应阶段：

1. 两轮控制方案后，首次操作仍 P75>10 秒或首局完成 <60%。
2. 裸玩法 D1 <35% 或 D7 <8%，却只能靠更重卡点解释商业化。
3. 试玩后多数用户只说“攒更大吸力/开下一关”，不能说出银河资产、母舰、图鉴或联赛目标。
4. 开激励广告后 D1 或 D7 相对裸玩法下降 ≥5pp。
5. 首充主要由误触/不清楚到账驱动，退款/投诉异常。
6. 真人分组密度不足以维持 50 人联赛，且不能以更小组/延迟开赛解决。
7. 支付幂等、云存档、榜单校验、实名防沉迷任何一项未通过就准备真实 IAP。
8. 小额买量 7 日 ROI <0.7 且创意/留存/商业漏斗没有单一可解释瓶颈。

停止不是失败：若休闲皮数据好但长期目标失败，按 paid-v3 D1 将其降为 IAA；若骨架好但题材素材失败，保留经营骨，只换题材包装并重新从 T0 测。
