技能定价官(Skill Pricing Officer)
这个技能解决什么
"买断还是订阅"靠拍脑袋会算错账。本技能把定价决策拆成三段确定性计算,
输出一份可审计的定价决策书 —— 每个数字都能回答"凭什么"。
它不是查报价的工具。 它是做定价决策的工具。
触发场景
| 用户说 | 走哪条流程 |
|---|---|
| "我这个技能该定价多少" / "买断还是订阅" | 完整三段流水线 |
| "按次还是包月" / "要不要做年费" | Stage 1 模式筛选 + Stage 2 定价区间 |
| "买断价定多少合适" | Stage 3 天花板/地板测算(最容易被算错的部分) |
| "这么定价能赚多少" | Stage 3 五年账本 + 压力测试 |
| "要不要上 SkillHub 收费" / "没公网怎么办" | 读 references/tunnel-and-billing.md |
| "竞品卖 99,我该卖多少" | Stage 2 竞品锚定 |
不适用:纯资产估值/股票定价(用 valuation-framework);
纯成本预算审批(用 llm-approval-gate)。
执行流程
第 0 步:先采集这 8 个数(缺哪个就用合理默认值并显式声明)
| 参数 | 含义 | 默认 |
|---|---|---|
skill_type |
tool / pro / content / data |
必填 |
target_users |
目标客户数(年新增) | 100 |
unit_price / annual_price |
现拟的单次价 / 年费 | 取区间下限 |
monthly_calls_per_user |
单用户月调用频次 | 3 |
maintenance_annual_cost |
年维护成本(人天x日成本) | 0 |
annual_retention |
年留存率 | 0.75 |
fixed_cost |
一次性交付/开发成本 | 0 |
competitor_price |
竞品价(可选,V1 锚点) | — |
competitor_prices_path |
V2-B:平台抓取报价文件路径(.json/.csv) |
— |
price_model |
V2-B:候选价的计价模型 one_time/subscription_monthly/per_use |
— |
candidate_price |
V2-B:待比价的候选单价(须与 price_model 对齐) |
unit_price/annual_price |
fee_buyout / fee_subscription / fee_usage |
V2-C:平台费率覆盖(小数);默认按已核实口径 0 / 0 / 0.01,一般无需设置 | 0 / 0 / 0.01 |
必问的三个布尔量(决定结论方向,别猜):
- data_local_required —— 数据是否必须本地化/合规归属?(买断的唯一硬理由)
- depends_on_fast_model_iteration —— 是否依赖底层模型/API 快速迭代?(买断的否决项)
- buyer_pays_maintenance —— 买断后买家是否还要年付维护费?(天花板腰斩的分水岭)
第 1-3 步:跑引擎
python scripts/pricing_engine.py --spec <输入.json> --md <输出.md> --out <输出.json>
python scripts/pricing_engine.py --demo # 看三个预置案例长什么样
引擎输出三段:
- Stage 1 模式筛选 —— 4 模式
buyout / subscription / usage / hybrid逐条打分 + 理由 - Stage 2 价格定位 —— 单次/包月/包年区间 + 心理锚点 + 价值反推带
- Stage 3 账本测算 —— 买断天花板1)/2)、地板、五年净收益表、停止增长压力测试
第 4 步:按结论交付
- 置信度 高 -> 直接给结论 + 决策书
- 置信度 中(规则与账本分歧)-> 以账本为准,用规则分数解释"为什么",并说明分歧点
- 置信度 低 -> 建议做 2-4 周 A/B 双轨实测,并给出实测方案
V2 新增能力(WTP 采集 + 平台比价)
V1 只能算「应该收多少」(供给侧)。V2 补上「用户愿意付多少」(需求侧)与「市场在卖多少」(实盘锚点)。
V2-A · WTP 支付意愿采集(wtp_module.py)
来源两本已核实原书:Monetizing Innovation(先定价再开发 / 三档价格问法)+ The Mom Test(三大规则 / 承诺四币种)。
本模块已纠正两个常见杜撰:Monetizing Innovation 里没有"货币化飞轮/happy-sad";The Mom Test 的"承诺≠意见"不是三大规则之一,也没有"30 秒测试"。
# 生成可直接用的访谈提纲(中文,带原书英文引用与避坑对照)
python scripts/wtp_module.py --script --type tool
python scripts/wtp_module.py --script --type pro --b2b # B2B 含预算归属追问
# 对一组访谈应答评分 -> WTP 点估计 + 建议区间 + 置信度 + 花费交叉校验
python scripts/wtp_module.py --score examples/wtp-responses-sample.json
访谈记录结构(写进 JSON 的 responses 数组):
{"acceptable": 9.9, "expensive": 19.9, "prohibitive": 39.0,
"current_spend": 0, "commitment": "none|time|reputation|cash", "notes": "..."}
- 三档价格必须递增,否则报错;
commitment非法值报错(不静默乱算)。 expensive中位超过current_spend中位 x3 -> 花费交叉校验报警(Mom Test:没真付过钱不可信)。- 把输出的
recommended_range作为引擎unit_range的实测替代。
V2-B · 平台真实比价锚定(price_compare.py + scrape_skillpay.py + 引擎 --prices)
消费从平台抓取到的各技能真实报价,回答「我的定价偏高还是偏低」。
先采集数据(scrape_skillpay.py,三条可复跑路径):
# 路径 1(推荐):WebFetch 读页面 -> 结构化 JSON 数组 -> 采集器归一化
python scripts/scrape_skillpay.py --json webfetch_output.json --out examples/my-benchmark.json
# 路径 2:页面散文/HTML 存 .txt,正则抽 「名」¥价 + 买断/订阅
python scripts/scrape_skillpay.py --text pasted_page.txt --out examples/my-benchmark.json
# 路径 3:直接抓 URL(SkillPay 静态 HTML 无价格,脚本会提示改用上面两条)
python scripts/scrape_skillpay.py --fetch https://skillpay.alipay.com/public/<商户> --out examples/my-benchmark.json
> 实测(2026-09-16):SkillPay 落地页公开、无需登录,但 JS 动态渲染(原始 HTML 0 个价格标记)
> 且无结构化 list API。它是 agent-oriented 页面——列表本就是给 Agent 读的散文,
> 所以"用 Agent 读页面抽价格"正是它预期的消费方式。已内置真实快照
> examples/real-platform-prices-skillpay.json(28 条,抓于落地页 + /public/kongdegao)。
再做比价:
python scripts/price_compare.py --load examples/real-platform-prices-skillpay.json --summarize
python scripts/price_compare.py --load examples/real-platform-prices-skillpay.json --benchmark \
--type tool --model per_use --price 9.9
# 直接并进主引擎:spec 里加 competitor_prices_path + price_model + candidate_price
python scripts/pricing_engine.py --spec <输入.json> \
--prices examples/real-platform-prices-skillpay.json --out report.json --md report.md
必守纪律(否则得出苹果比橘子的荒谬结论):
- spec 必须标 price_model 且 candidate_price 对齐该模型单价(如按量就填单次价,别填包年价)。
- 模块按 (type, model) 精确分组;精确组 <3 条才回退 type 级并显式标注"跨计价模式混合,仅方向参考"。
- 报分位不报均值;市场中位覆盖引擎的"竞品心理锚点",决策书「二·乙」节给出分位与定位诊断。
- 订阅价先归一化成月度等价(/季度 /3、/年 /12)再入表。
V2-C · 平台费率与结算(resolve_fee(),关闭"最大数字空洞")
已核实(依据「AI按量付费」协议收费页,2026-09-16):
| 买断 | 订阅 | 按量 |
|---|---|---|
| 0% | 0% | 1% |
- 按量 1%:服务费=交易金额x费率,按日汇总结算;有效期至 2026-12-31;阶段性活动可能更低,以账单为准。
- 同页:结算方式=实时(T+0)· 退费=不可退费 · 费用对象=业务发起方。
- 默认即为上表口径,无需任何设置;平台费率调整时用 spec 的
fee_buyout/fee_subscription/fee_usage覆盖。 - 账本净额公式:
净额 = 毛收入 x (1 - 费率) - 维护成本;报告显式披露费率口径与置信度。 - [!] 合规红线:支付宝协议禁止用脚本/爬虫批量获取其网站数据 -> 采集仅供低频个人参考,勿做定时高频抓取。
必须遵守的红线纪律
1. 数字必须标来源层级
【实测】/【公式推导】/【启发式】/【待核验】四档,禁止把启发式当事实报。
市场数字超过 12 个月必须重新核验。
2. 禁止复述"买断价 = 3-5 年订阅价"而不加边界条件
这条口诀只在买家后续不再付费时成立,且是名义值。
- 按现值口径(r=8%):真实系数 2.1 - 4.0 倍,取决于留存率
- 若买断后买家还要年付 15-20% 维护费,天花板只剩 CPV 的 60-67%(约 1.5-2.5 倍年订阅)
必须主动说出这个分水岭,否则就是在误导用户高估买断价。
3. 口径必须写清楚,不许隐去假设
账本里的留存率、折现率、增长率、维护成本口径,必须在报告里明写。
用户有权知道每个数字建立在什么假设上。
4. 不确定就说不确定
平台抽成比例、结算周期、退款规则等公开资料未披露的项,
标注【待核验】并明确告知"必须到平台后台/合同确认"。
5. 不与"低价=高转化"的直觉同流
【实测】¥1.99 的转化率低于 ¥9.90。低于心理阈值会被判定为不可信。
PSYCH_ANCHORS 已编码此规则,不要绕过它给用户建议 ¥1.99 这种价。
文件索引
skill-pricing-officer/
|-- SKILL.md <- 本文件
|-- scripts/
| |-- pricing_engine.py <- 三段流水线引擎(纯函数、零依赖、可单测)
| |-- wtp_module.py <- V2-A:WTP 访谈脚本生成 + 应答评分
| |-- price_compare.py <- V2-B:平台抓取报价 -> 分组分布/分位/定位诊断
| |-- scrape_skillpay.py <- V2-B:采集器(--json/--text/--fetch 三路径)-> 归一化入表
| |-- render_html.py <- 浅色底 HTML 决策书渲染器(含比价卡片 + 费率块)
| |-- test_engine.py <- V1 回归测试(守住已修过的坑)
| `-- test_v2.py <- V2 回归测试(全绿)
|-- references/
| |-- pricing-models.md <- 7 种定价模式 + 完整公式推导 + 决策矩阵
| |-- market-benchmarks.md <- SkillPay/五层漏斗/买断成本 真实数据(带出处)
| |-- tunnel-and-billing.md <- 无公网方案 + 平台费率(含 1%/0% 误传纠正)+ 决策树
| |-- wtp-interview.md <- V2-A 知识底座:两本书方法论 + 访谈纪律
| `-- price-benchmark-scraping.md <- V2-B 知识底座:SkillPay 抓取实况/数据结构/费率/纪律
`-- examples/
|-- spec-template.json <- 输入模板
|-- real-platform-prices-skillpay.json <- 【真实快照】SkillPay 28 条报价(2026-09-16)
|-- platform-prices-sample.json <- V2-B 比价样例数据(也是抓取模板)
|-- wtp-responses-sample.json <- V2-A 应答样例(也是记录模板)
|-- wtp-interview-tool.md <- 工具型访谈提纲(可直接用)
`-- wtp-interview-pro-b2b.md <- 专业/B2B 型访谈提纲(可直接用)
三个能直接用的预置案例(--demo)
| 案例 | 技能类型 | 引擎结论 | 关键发现 |
|---|---|---|---|
| A | 简单工具型(¥9.9/次) | 按量 | 买断虽"功能稳定"但客单价撑不起固定维护成本 |
| B | 专业能力型(¥199/次) | 订阅(规则)/按量(账本) | 订阅定价 ¥1990/年 相对按量定价偏低,应上调 |
| C | 内容型(¥699 / ¥2999 年) | 订阅 | 依赖持续内容供给 -> 买断 -2 分,前提不成立 |
> 案例 A 的关键验证:订阅 NPV ¥352,497 与买断 NPV ¥344,969 几乎相等
> —— 这是定价公式算对了的标志,不是巧合。
一句话结论模板
> 定价不是拍脑袋 —— 买断价的上限是订阅流的现值(不是 3-5 倍名义值),
> 还要按"买断后是否继续收维护费"腰斩一次;
> 按量收费让平台(SkillPay)替你扛计量与收款;
> 无公网用 Cloudflare Tunnel 解决(注意 Quick Tunnel 有 200 并发上限且不支持 SSE)。
版权、署名与许可
- 本 skill 由「Helen & WorkBuddy」创作,采用 MIT 许可:可免费使用与二次分享,转载请注明出处。
- 方法论溯源(仅保留方法名与观点,未包含任何原文摘录):
- 买断/订阅/按量的定价模式与财务公式,整理自公开的 SaaS 定价实践与平台公开资料;
- WTP 访谈方法论参考 Monetizing Innovation(Madhavan Ramanujam & Georg Tacke)与
The Mom Test(Rob Fitzpatrick)的思想与方法名,未引用任何原文段落。 - 市场基准数据均带来源与时间戳,出处见
references/market-benchmarks.md。 - 平台费率为公开协议口径(个人开发者:买断 0% / 订阅 0% / 按量 1%),如平台调整请以账单为准。