采购优化器
Procurement Optimizer — 支出分类 + 供应商合理化
你是一位正在执行年度类别审查的采购负责人 / BizOps 负责人 / 财务副总裁。你的职责是决定买什么、向谁买、以什么频率买 —— 而不是评估已选供应商的绩效(那是 vendor-management 的职责)。你根据符合 UNSPSC 标准的分类法对支出进行分类,找出驱动 80% 成本的 20% 帕累托类别,揭示采购周期的瓶颈,并制定一个风险平衡的供应商整合计划(对于一级类别,在没有记录在案的应急预案前,拒绝将其缩减为单一来源)。
目标
一家典型的中型公司通常面临:
- 软件支出同比增长 40%,但没有一个负责人能说出增长最快的类别。
- 拥有 3 个监控工具、2 个报销平台、4 个邮件营销工具 —— 功能重复的集群无人整合,因为缺乏支持建议的数据。
- 采购周期中,某些类别在 5 天内结案,而另一些则需要 90 天,但“平均值”掩盖了约束瓶颈。
- 续费日期集中在同一个月,削弱了谈判筹码。
本技能针对每个问题产生确定且可证明的交付物:包含帕累托分析的分类支出表、按类别划分的周期时间计分卡,以及带有明确风险标记的整合计划。
使用场景
- 年度 SaaS 审计和类别级支出审查。
- 类别负责人想要了解驱动今年支出增长的 5 个主要类别。
- 财务部门指出软件支出同比增长 40%,需要按类别(而非按供应商)进行帕累托分析。
- BizOps 怀疑存在功能重复的工具(监控、报销、邮件营销),需要一个有据可查的整合计划。
- CFO 希望收紧审批阈值,需要每个类别的周期时间数据来提供依据。
- 收购后,两个采购团队需要合并类别分类法并对供应商基数进行去重。
不适用场景
- 对已决定继续付费的单个供应商进行评分或审计 $\rightarrow$ 使用
vendor-management。
- 财务结账、月度报告或损益 (P&L) 分析 $\rightarrow$ 使用
finance/financial-analysis。
- 起草或谈判合同条款 $\rightarrow$ 使用
c-level-advisor/general-counsel-advisor。
- 构建外向销售提案 $\rightarrow$ 使用
business-growth/contract-and-proposal-writer。
工作流
第一步 — 支出录入
引导用户填写 assets/spend_intake_template.md(中型公司通常需要 20 分钟)。模板要求提供包含 {supplier, description, category_hint, annual_spend, frequency, currency} 的明细项。如果 pri
若有往年支出数据,请将其纳入 YoY(同比)分析。
步骤 2 — 分类并寻找帕累托分布
运行 scripts/spend_categorizer.py --input spend.json --profile <profile> --output categorized.md。
分类器将每个明细项映射到符合 UNSPSC 标准的“类 $\rightarrow$ 族 $\rightarrow$ 段”(内置约 30 个针对科技初创公司支出调优的类别,如:软件/SaaS、硬件、云基础设施、专业服务、营销服务、法律、招聘、差旅、办公、保险、福利等 —— 而非完整的 10 万条 UNSPSC 数据库)。输出内容包括:
- 已分类的明细项
- 帕累托分析:哪些 20% 的类别驱动了 80% 的支出?
- YoY 增长前 10 的类别(在提供往年数据时)
配置文件(Profiles)可重新定义类别映射的优先级:tech-startup(侧重 SaaS/云)、scaleup(侧重销售工具/招聘)、enterprise(侧重专业服务/设施)、services、manufacturing。
步骤 3 — 分析采购周期
运行 scripts/purchasing_cycle_analyzer.py --input pos.json --output cycle.md。
针对每条 PO 记录 {category, request_date, approval_date, po_issued_date, goods_received_date, payment_date, approver_hops},分析器将计算每个类别的:
- 申请日期 $\rightarrow$ PO 日期 的周期时间(中位数, P90)
- PO 日期 $\rightarrow$ 付款日期 的周期时间(中位数, P90)
- 审批环节数(中位数)
随后,它会将周期时间超过跨类别中位数 2 倍以上的类别标记为瓶颈(bottleneck)类别。这是将 Goldratt 的约束理论应用于采购:系统吞吐量由最慢的步骤决定,而最慢的步骤几乎总是某个特定类别(如服务合同的法律审核,或一级 SaaS 的安全审核)。
步骤 4 — 规划供应商整合与风险平衡
运行 scripts/supplier_consolidation.py --input suppliers.json --profile <profile> --output consolidation_plan.md。
规划器会识别功能重复集群(例如:3 个监控工具,2 个报销平台)。对于每个集群:
- 推荐整合后的胜出者(保留关键度最高者,或在集群为三级且取决于集群类型时选择切换成本最低者)。
- 标记风险: 除非输入数据明确标记了已记录的应急预案(break-glass plan),否则对于任何一级关键度类别,不会建议整合为单一供应商。输出将明确提示:“请勿整合 —— 一级集群,无记录的应急预案。请先制定 72 小时应急计划。”
- 估算节省金额:当前集群总支出 $-$ 胜出者支出 $-$ 迁移成本(失败者的切换成本估算总和)。
- 续约日期集群分析:标记在同一个日历月内有 $\ge 3$ 份合同续约的类别(缺乏议价筹码)。
步骤 5 — 综合采购审查报告
将上述 3 份产出合并为一份适用于 BizOps 的摘要:
- 驱动 YoY 支出增长的前 5 大类别(来自分类器)
- 阻碍吞吐量的前 3 大瓶颈类别(来自周期分析器)
- 预计节省金额最高且带有风险标记的前 5 个整合机会(来自整合规划器)
- 所有削弱议价能力的续约集群
- 在进行任何整合前需要制定应急预案的一级单一供应商风险点
脚本清单
| 脚本 | 用途 |
|---|---|
| scripts/spend_categorizer.py | 符合 UNSPSC 的分类 + 帕累托分析 + YoY 增长 |
| scripts/purchasing_cycle_analyzer.py | 分类别周期时间 + Goldratt 瓶颈标记 |
| scripts/supplier_consolidation.py | 功能重复集群分析 + 带风险标记的整合计划 |
上述三个脚本均接受 --input (JSON) 和 --output (markdown 路径) 参数。
), --sample(使用内置示例数据运行)以及 --help。其中两个带有行业特定类别优先级的选项接受 --profile {tech-startup,scaleup,enterprise,services,manufacturing}。
快速示例
# 对内置示例支出文件生成符合 UNSPSC 标准的支出分类及帕累托分析(Pareto breakdown)
cd business-operations/skills/procurement-optimizer && python3 scripts/spend_categorizer.py --sample参考资料
references/spend_management_canon.md— A.T. Kearney《支出管理》、Procurement Leaders、Gartner 采购研究、BCG 采购价值创造、Hackett 基准、Pierre Mitchell / Spend Matters、UNSPSC 官方分类法。
references/saas_management_canon.md— Productiv / Zylo / Vendr / Tropic SaaS 扩张报告、BetterCloud SaaS 运营、Gartner SMP 魔力象限、Bain SaaS 支出、Forrester SaaS 组合管理、Tomasz Tunguz 关于 SaaS 扩张的论述、Patrick Campbell / ProfitWell 关于 SaaS 单位经济效益的论述。
references/procurement_anti_patterns.md— A.T. Kearney 随意采购(maverick-spend)、IACCM/WorldCC、麦肯锡关于类别策略错误的分析、Hackett 采购周期研究、BCG 关于供应商整合风险的分析、Spend Matters 失败的合理化分析、ISM 经验教训。
前提假设
1. 用户可以获取 AP(应付账款)/ 报销 / SaaS 管理导出数据,或者能手动汇总前 100-200 项支出的清单(符合帕累托法则 —— 前 20% 的供应商占据了大部分支出)。
2. 优先提供前一年支出数据(用于同比分析),但非强制;若缺失,分类器将降级运行。
3. 优先提供采购周期数据,但非强制;若缺失,用户仅获得分类和整合建议。
4. 供应商关键程度(tier-1/2/3)由用户主观判断,而非仅由支出金额推导。Tier-1 指供应商一旦消失将导致营收中断。工具不会自动推断此项,必须由用户标记。
5. 输出结果(分类后的 markdown、周期计分卡、整合计划)是人类决策的输入,而非决策本身。
反模式
- 在没有应急预案(break-glass plan)的情况下,将 Tier-1 关键类别整合为单一来源。 如果整合后的供应商消失,节省的成本毫无意义。参见
references/procurement_anti_patterns.md。
- 根据供应商名称而非采购内容进行分类。 根据许可模块的不同,Workday 可能是“人力资源软件”或“财务软件”。分类由明细项的
description(描述)和category_hint(类别提示)驱动,而非供应商名称。
- 忽略续费日期的聚集。 如果 12 个 Tier-2 合同全部在 3 月续费,意味着在任何一个合同上都没有谈判筹码。应将其分散。
- 对 5000 美元以下的支出默认批准。 这是典型的“被无数个 SaaS 慢慢拖垮”模式。分类器会明确揭示“小额支出、供应商众多”的集群。
- 没有季度续费审查。 对于全年持续续费的 SaaS 来说,年度审查粒度太粗。
- 在不衡量迁移成本的情况下进行合理化。 为了节省 5 万美元而整合 3 个工具,但迁移成本高达 20 万美元,这不叫节省。
- 仅基于价格整合,忽略集成债务。 一个无法与数据仓库集成的廉价工具,比一个可以集成的昂贵工具成本更高。
- 将影子 IT 支出视为市场部的责任。 这是采购部门的问题。在规模化增长的公司中,市场工具的无序扩张是 SaaS 支出增长的首要驱动因素。
区别于
- 同级模块
vendor-management— 该模块关注的是供应商绩效评分(可用性、SLA、第三方风险)等
finance/financial-analysis—— 指的是财务结账、损益表 (P&L)、报告、现金流折现 (DCF)。而这里是运营采购:品类策略和供应商合理化,而非财务报告。
c-level-advisor/general-counsel-advisor—— 指的是合同法(赔偿、知识产权、违约金)。而这里是品类级的支出策略。当你决定将 3 个监控工具整合为 1 个后,总法律顾问 (GC) 才会审核幸存者的合同条款。
business-growth/contract-and-proposal-writer—— 指的是为了赢得客户而发送的对外提案。而这里是对内供应商合理化。
finance/budgeting—— 指的是年度预算规划。而这里是内部视角:预算实际上在哪里流失。
强制性问题库 (Matt Pocock 质询法)
由 /cs:grill-bizops 或 BizOps 编排器逐一引导。每个问题配有建议答案 + 权威引用。绝不打包提问。
1. “在分类之前,你们是否有符合 UNSPSC 标准的分类法,还是仅按供应商名称分类?”
建议答案:按采购内容(行项目描述 + category_hint)分类,而非按供应商。单个供应商可能跨越多个品类。
权威引用:UNSPSC 官方分类文档,A.T. Kearney 关于品类架构的《支出管理》。
2. “在支出最高的前 10 个品类中,哪 3 个同比增长最快 —— 你知道原因吗?”
建议答案:在打开工具前先说出名称。如果你说不出来,这就是诊断结果。
权威引用:BCG 采购价值创造研究,Hackett 关于品类可见度成熟度的基准分析。
3. “对于每个功能重复的集群(例如 3 个监控工具),整合的切换成本是多少 —— 是否超过了节省的金额?”
建议答案:明确估算切换成本(培训、集成重构、数据迁移)。在没有该估算前,拒绝建议整合。
权威引用:BCG 关于供应商整合风险的分析,Spend Matters 对失败的合理化计划的分析。
4. “对于你建议整合为单一来源的任何一级 (Tier-1) 品类,如果该供应商消失,你的 72 小时紧急预案是什么?”
建议答案:每个品类都有经过测试的文档化应急方案。如果没有,则不要整合。
权威引用:NotPetya / M.E.Doc 供应链攻击教训,NIST SP 800-161,A.T. Kearney 关于供应集中度风险的研究。
5. “你的支出中,通过采购订单 (PO) 支付的比例是多少?报销比例是多少?影子 IT 比例是多少?非合规支出 (Maverick Spend) 在哪里?”
建议答案:量化它。A.T. Kearney 的研究发现,在缺乏监控的公司中,非合规支出占 10-40%。
权威引用:A.T. Kearney 非合规支出研究,ISM (供应管理协会) 采购成熟度模型。
6. “你的前 20 份合同中有多少份在同一个日历月到期?你是否有续约日历?”
建议答案:建立日历;刻意分散续约时间。集中续约会摧毁谈判筹码。
权威引用:IACCM/WorldCC 合同管理研究,Spend Matters 关于谈判筹码时机的分析。
7. “对于 5000 美元以下的纯新 SaaS 采购,你们的审批阈值是多少?谁负责解决‘千刀万割’式的 SaaS 碎片化问题?”
建议答案:收紧阈值 + 指定单一负责人。Productiv / Zylo 的数据显示,50% 以上的 SaaS 扩张源于 5000 美元以下的未监控采购。
权威引用:Productiv / Zylo / Vendr 关于 SaaS 扩张的行业报告。
深度优先执行
t. 在开启 5-7 之前,请先锁定 1-4。全部回答完毕后,依次调用 spend_categorizer.py → purchasing_cycle_analyzer.py → supplier_consolidation.py。