11.3 CAC 与买量口径
CAC 与 ROI 是唯一不能在本机复现的一组数——它们来自真实买量后台。本节把「口径与计算」拆出来:用 config/n11_ltv.json 的 LTV 曲线与三种 CAC 情景,算回本周期与 LTV/CAC 比值,跑出自然量 2.28、混合 1.43、买量为主 0.81,并逐处划清哪些是设计假设、哪些是命令行可复现的换算。
category
CAC 与 ROI 是唯一不能在本机复现的一组数——它们来自真实买量后台。本节把「口径与计算」拆出来:用 config/n11_ltv.json 的 LTV 曲线与三种 CAC 情景,算回本周期与 LTV/CAC 比值,跑出自然量 2.28、混合 1.43、买量为主 0.81,并逐处划清哪些是设计假设、哪些是命令行可复现的换算。
LTV 不是一句「人均值多少」,而是一条逐日累计的曲线。本节用 config/n11_ltv.json 的留存曲线与 ARPDAU 口径,把 D1 到 D365 的每安装收入累加成 LTV 曲线,跑出 D180 4.67 元、回本周期第 116 天,再用 B 基准把逐日递推与闭式几何级数对照,并用 P 层测试守住跨语言逐位一致。
漏斗决定有多少人走到付费点,留存决定他们待多久,两者是 LTV 的底座。本节把《王朝纪元》的获客漏斗拆成安装到首次付费六段,用 config/n11_ltv.json 的分段几何衰减展开 D1 到 D365 的每日留存千分比,跑出 D1 45%、D7 20%、D30 9% 的曲线,并用 TS 原型逐位对照。
折扣的需求响应不能靠猜。本节用 config/n10_elasticity.json 的需求表算出各价格点的收入与弧弹性,定位收入最大价,用 B 基准对照解析最优价,并量化两个副作用:原价购买者的价值差、弹性误判造成的收入损失,回答「降价到底赚不赚」。
折扣不只是「便宜」。本节用 config/pricing.json 的折扣档与 config/n10_pricing.json 的限时窗口、稀缺限购,仿真每个折扣档在无限购与限购两种情形下的收入,再用 B 基准量化「折扣击穿价格锚点」:低档折后的单位价值超过了满价顶档。
定价不是拍脑袋。本节用 config/pricing.json 的 5 档定价算出每档「每元玉璧数」与相邻档位的梯度,跑出可复算的档位梯度表,再用 B 基准把梯度与目标区间对照,并用 TypeScript 原型与 Python 逐位对照,守住这条梯度红线。
版本迭代不断往战力里加属性,加法公式会越来越不准。本篇把「队伍强度 = 各乘区之积」当设计假设,把乘积按泰勒展开成一阶、二阶与精确三层,用 240 支采样队伍跑出三种公式的反演对数随属性数 k 的变化,并给出跨语言用 BigInt 复算的 TypeScript 实现。
战力公式是玩家看得见的排序依据,必须与真打一场的结果一致。本篇用确定性回合战斗做真值,把「单位类型 × 兵力」的 12 支队伍两两对撞 66 场,跑出同型 1000‰、跨型 791‰ 的排序一致性,再用最小二乘反推权重、报告残差,暴露加法战力在克制环上的结构性盲区。
属性是 SLG 数值的地基。本篇把属性分成基础、派生、全局修正与状态四类,用一棵整数表达式树描述派生属性的依赖关系,跑出拓扑排序、层号与环检测,并以《王朝纪元》骑兵样板队伍算出从有效攻击、减伤率、有效生命到战力的完整派生链,同时给出应进 CI 的两项配置自检。
《SLG 游戏产品设计》卷二《数值平衡与商业化运营》全书目录:16 章 48 节,第三部分讲属性与战力、成长曲线、战斗数值、兵种阵容、掉落概率、抽卡礼包、匹配分段、赛季膨胀控制,第四部分讲付费点、定价折扣、LTV 与回本、留存漏斗、A/B 实验、活动赛季、联盟 GVG 运营与设计案装配。每一节都配可跑的 Python 仿真或 TypeScript 原型。
上线前先问「哪个参数最危险」,上线后再问「经济有没有跑偏」。这一节对五个关键参数做 ±20% 单参数扫描,按稳态存量摆幅排出最危险的三个参数;再用最小二乘从存量时序反推漂移速率,判定通胀/通缩/稳态,并以一组已知漂移的对照序列做检测基准验证。
bastion 的配置表字段字典与 schema:resources / buildings / units / battle 四张核心表的每个字段含义、类型与取值范围,整数比与整数百分比的表达约定,以及一份可跑的 schema 校验脚本——它能在仿真和原型跑之前,先把配错字段的配置拦下来。
卷一的复现手册:本机实测环境(Python 3.14 + numpy/pandas、Node 26 原生 TypeScript、无 matplotlib、无 tsc/npm)、bastion 完整目录结构、全部实跑命令、跨语言逐位一致的三条硬规则、以及一份可一键复现的校验脚本。遇到「书里的数字对不上」时先看这一页。
产品设计书最容易写成散文:道理都对,落不了地。这篇序讲清楚这套书的写法——把 SLG 的设计写成可验证的模型,每一节配可跑的仿真或原型,一份配置两处消费,改一个数字两边结果都变。也讲清楚它与站内既有的 SLG 技术架构、经济平衡、赛季运营等内容的边界。
卷一的阅读指南:三条阅读路径(产品经理的系统课、经济策划的建模课、只看闭环)、可运行性五档口径(S 仿真 / P 原型 / D 静态 / X 不可复现 / B 基准)、贯穿项目 bastion 的目录结构、需要准备的环境(Python 3 + numpy/pandas、Node 26,无需 tsc 与 npm),以及怎么验证书里的代码真的能跑。
分层和归属定完资源的身份,这一节给经济配一个动态机制——复式账本:每一次资源变动都是一组借贷分录,产出记 @source、消耗记 @sink、玩家间转移只搬存量。配一段可跑的 Python 脚本,跑完一批交易后断言总量守恒,再用 B 层基准压测记账路径不会漏记。
上一节按稀缺度给资源分了层,但稀缺度不回答「它归谁、能流到哪」。本节给资源加第二个正交维度:绑定与非绑定、账号级与角色级,用一张四组合表讲清同一资源在不同归属下能不能跨玩家交易、能不能账号内共享,并配一段可跑的 Python 脚本校验归属矩阵的完备性、一致性与反例自检。
经济系统的第一块地基是分层:把资源按稀缺度分成基础、进阶、稀有,把货币按流通范围分成软货币、硬货币、代币,讲清每层的作用与流通边界,并用一段可跑的 Python 脚本从 config 里读出分层、校验「每层至少一种资源」与「不存在孤立资源」。
看板的价值不在画曲线,而在给曲线装闸门:用配置驱动的《王朝纪元》告警规则(阈值 / 环比 / 同比三类,带 streak 过滤),跑一段 mulberry32 确定性时序做告警判定,产出 CSV + SVG,再用 B 层基准量化误报率与检出延迟。
埋点口径打架的根因是事件没有 schema:用一份配置驱动的《王朝纪元》埋点规范(4 个事件、公共必填字段、命名正则、参数类型与枚举),配 TypeScript 校验器把一批上报样本判出 7 类违规码,让「口径统一」从口头约定变成可断言的埋点契约。