FDE·交付知识库
目录
交付方法论
需求诊断 项目切片 灰度上线 验收交接 报价期望 集成治理
技术纵深
定价引擎 稳定性 定价引擎
基础
①托管 ②SEO ③验证 ④AI产线

模块 13 · 定价引擎的算法边界

一个定价引擎能不能出真价,不取决于算法多先进,取决于数据齐不齐。所以第一件事永远是先量数据覆盖率。

项目锚点 · 33,176 笔真实订单校验出的能力边界

业务流是「订单 → 自动拆单 → 自动报价 → 自动派单」,用 33,176 笔真实订单 / 387 个经销商 / 2,799 个型号 校验:型号 96.6%、厚度 95.2% 可用,但尺寸覆盖 29%、客户匹配 0%。生产侧更严峻:门店订购单系统 400 单里 97% 的 spec 为空(无尺寸),仅 3 单有尺寸且属 K/Y 系列,而主流是 H/H4/K/M/S 五系列。

三个前置数据依赖:出厂价红线(PV / KW / K1 三档)、尺寸数据源、订单↔经销商 ID 对照表——这三样不补齐,任何报价都是猜的。红线:缺数据时报「算不了」,比给一个看起来精确的数字安全得多。延伸:基础 16 讲数据为什么缺,模块 11 讲怎么把它补起来。

01

立论:先量覆盖率,再谈算法

市面上谈定价引擎,都在谈算法:规则引擎、组合定价、动态调价、机器学习定价。这些全是第二层问题。

定价这件事的物理顺序是这样的:

1

这个单是什么产品?

需要型号和厚度能对上。这一步靠主数据,不需要算法。

2

这个产品多大?

需要尺寸。没有尺寸就算不出面积,算不出面积就算不出价。缺这一步,后面全白搭。

3

这个产品值多少钱?

需要出厂价红线(按PV / KW / K1 三档)。没有红线,算法再好也只是把 0 算得更精确。

4

这个价报给谁?

需要订单↔经销商的 ID 对照。不知道给谁报,价算出来也发不出去。

这四步里,没有一步是「算法问题」。全是数据问题。所以我做任何引擎项目,第一步不是写代码,是跑覆盖率校验——先量出每个字段的填充率,再决定值不值得投入算法。
这一篇的方法论价值:用数据诚实地说清能力边界——哪一步能自动、哪一步不能、以及为什么。这是 FDE 最重要的职业素养之一。吹边界能签单,报边界才能交付。
02

真实校验结果:拿三万多笔订单跑一遍

德莉玛的业务流是这条链:订单 → 自动拆单 → 自动报价 → 自动派单给供应商。整条链想自动化,第一步是拿真实数据验一遍每个环节的输入齐不齐。

校验用的样本:33,176 笔真实订单 / 387 个经销商 / 2,799 个型号。

校验项覆盖率结论
型号匹配96.6%✅ 可用。主数据基本立得住
厚度匹配95.2%✅ 可用。同样站得住
尺寸数据29%🔴 瓶颈——算不出面积就算不出价
客户 / 经销商对应0%🔴 阻塞——不知道给谁报
怎么读这张表:型号和厚度 95%+ 说明主数据治理是成功的,这条路是通的。但尺寸 29% 和客户对应 0% 这两个数,把整条自动报价链判了死刑——因为定价公式的输入里有29% 是空的,输出就必然有 71% 是编的。

再往生产侧看一层

只看历史订单不够,还得看现在实际在跑的生产系统。查门店订购单系统的数据画像:

样本:门店订购单400 单

spec 字段为空(无尺寸):  97%   → 388 单
spec 有尺寸:              3 单   → 且这3 单属 K / Y 系列
实际主流系列:             H / H4 / K / M / S 五系列
这是全篇最扎眼的一个数:400 单里 97% 没有尺寸。而仅有的 3 单有尺寸的,还属 K / Y 系列——跟主流的 H / H4 / K / M / S 五系列完全不是一批。也就是说,连「有尺寸的样本」都不在主要业务线上。

这意味着:拿现有生产数据根本训练不出、也验不了报价引擎。不是算法不行,是没有可用样本。
一个反面警告:如果只看那 3 单,得出「尺寸覆盖率 3%,比29% 还低」或者反过来拿这 3 单当「有尺寸的案例」去论证可行性——都是错的。3 单不构成统计意义上的样本,而且它不代表主业务线。这是数据判断里最容易翻车的地方。
03

三个前置数据依赖:引擎出真价的卡点

把上面的校验结果翻译成动作,就是三件事。它们不是「后续优化项」,是硬卡点。

#缺什么为什么是硬卡点谁来补
①出厂价红线(按 PV / KW / K1 三档)没有红线就没有「底价」概念。低于红线接单=亏本,高于红线接单=丢单。引擎算得再准,也得有个准客户方定价/财务口径,乙方不能替客户定
②尺寸数据源尺寸覆盖率 29%、生产侧 97% 无尺寸。这是最大的一块缺口,也是工作量最大的一块要么客户补录历史数据,要么从图纸/BOM 侧反解,要么改流程强制录入
③订单↔经销商 ID 对照表覆盖率 0%,意味着订单数据里根本没有可靠的客户标识。报给谁都不确定客户主数据/ERP 侧,乙方无权威来源
这三样不补齐,任何报价都是猜的。
注意第①和第③的共同点:它们都不在乙方手里。乙方能补的是第②(尺寸数据源)的一部分,靠改流程和补录。这决定了项目节奏——数据治理没完成前,引擎部分不该启动,否则做出来的是一个精确的假象。
判断标准要背下来:数据覆盖率不到 80% 的环节,不承诺自动化。这条线不是拍脑袋定的——低于 80%,意味着每 5 单就有 1 单要人工兜底,自动化反而增加了工作量(要维护、要复核、要处理例外)。
04

引擎分阶段能做到什么(L1 → L4)

不要承诺「一套系统全自动」,要承诺「一个可交付的分级能力」。这张表是写给客户看的,也是我给自己定验收线的。

等级能力依赖现在能不能做
L1型号 / 厚度自动匹配主数据(已具备:96.6% / 95.2%)✅ 可做。覆盖 95%+,这是现在唯一能全自动点亮的格子
L2规格补全与人工确认部分尺寸 + 确认流程⚠️ 半自动。引擎推荐,人工点确认。29% 的覆盖率决定了它只能做人机协同
L3自动报价① 价格红线 + ② 完整尺寸❌ 目前不具备条件。红线未定义、尺寸仅 29%,两个硬依赖都不在位
L4自动派单供应商L3❌ 点不亮。依赖 L3,而 L3本身还点不亮
把话说死:L3 和 L4 现在点不亮。原因不是算法难度,是① 客户没给价格红线,② 尺寸数据只有 29%。在这两件事解决之前,任何说「我们能把报价做到全自动」的方案都是不负责任的——包括我自己。

L2 为什么必须设「技术确认岗」

L2 不是一个技术选择,是一次岗位演进。真实业务里的演进路径是:

岗位演进
  1. 拆单员 —— 手工读单、查规格、算面积、抄价格。慢、易错、无法规模化
  2. 技术确认岗 —— 引擎推荐规格和价格,人只做确认和例外处理。人从「算的人」变成「兜底的人」
这个岗位设计才是本模块的落点:自动化的正确形态不是「消灭人」,而是把人从重复计算挪到例外处理。29% 的尺寸缺口意味着 71% 仍需人确认——那就明确设一个技术确认岗承接它,而不是让引擎硬算出一个数字骗过去。这样系统能力是诚实的,成本也是可算的(按单量× 单价)。
05

接口怎么验:不信文档、不信日志,信反向验证

判断一个系统「到底能不能干某件事」,最可靠的方法不是读文档,也不是看日志——是拿真实参数去反向打它的接口。文档可能过期,日志可能漏打,接口返回不会骗人。

做法是:拿真实订单里的 model(型号)+ spec(规格)当输入,反向打三个接口,看引擎到底能算出什么。以下为示意输出:

# ① 查 BOM:用型号 + 厚度反查结构与用料
POST /api/bom
{ "model": "H-系列 型号", "thickness": "8", "spec": "..." }

# 响应:能不能给出完整结构?结构齐不齐?
{ "ok": true, "items": [ ... ], "matched": true }   ← 型号对得上

# ② 查玻璃图纸:拿 spec 里的尺寸去试
POST /api/glass_dwg
{ "model": "H-系列 型号", "spec": "1600*2400" }

# 响应:尺寸能不能解析成面积?
{ "ok": false, "reason": "spec 缺失或不可解析" }   ← 尺寸缺失即止步

# ③ 试算报价
POST /api/quote
{ "model": "H-系列 型号", "spec": "1600*2400", "dealer_id": "..." }

# 响应:dealer_id 传不进去,报价请求根本构造不出来
{ "ok": false, "reason": "dealer_id 无法解析" }    ← 0% 对应的卡点在这里
示意输出的重点不是格式,是结论:/api/bom 走得通(型号厚度覆盖率 95%+ 的直接体现),/api/glass_dwg 卡在尺寸(29% 覆盖率的直接体现),/api/quote 卡在 dealer_id(0% 覆盖率的直接体现)。三个接口的卡点位置,和覆盖率表完全对得上——这才叫验证。
1

取样,别用造的数据

从真实订单里随机抽 N 条,model 和 spec 全部用原值。造数据会绕过掉真正的数据问题

2

逐条打接口,记三类结果

成功 / 参数非法 / 无数据。要记录失败原因分类,不只记成功失败

3

交叉验证:结论要能和覆盖率对上

接口卡点位置必须能解释覆盖率表。如果接口跑得通但覆盖率是 29%,说明两边用的不是同一套数据

4

只读验证,不在生产上试探

反向验证只用只读/ 查询接口。不触发写库、不触发任务下发——生产系统的变更必须先在预览环境验证

方法论总结:不信文档、不信日志,信反向验证。文档描述的是「设计意图」,日志记录的是「被打到的部分」,只有主动打接口才知道「真实能力边界在哪」。这个动作是区分「做过演示」和「做过交付」的分水岭。
06

写给客户怎么讲边界

能力边界讲得好,是专业;讲得含糊,是埋雷。这张表可以直接拿去做沟通。

四问可以这么答
能承诺什么型号/厚度自动匹配(覆盖 95%+);规格推荐 + 人工确认的技术确认岗流程;数据覆盖率报表与持续补录机制
不能承诺什么现阶段不能承诺全自动报价、不能承诺自动派单。原因:价格红线未定、尺寸数据仅 29% 可用
需要客户提供什么① 出厂价红线(PV / KW / K1 三档)② 尺寸数据源(历史补录 + 新单强制录入)③ 订单↔经销商 ID 对照表
上线后的期望值L1 全自动跑通;L2 人工确认环节的例外率逐月下降(用覆盖率提升来衡量,不用「准确率 99%」这种没定义的口径)
可直接使用的能力边界说明话术
关于报价自动化的说明:

我们用3万多笔真实订单(387 个经销商、2,799 个型号)做了完整校验。结果是:型号和厚度的自动匹配可以做到 96.6% 和 95.2%,这部分能直接上线。

但报价本身有两个硬前提目前不满足:一是尺寸数据覆盖率只有 29%,算不出面积就算不出价;二是订单与经销商的对应关系目前是 0%,系统不知道这个单该报给谁。此外价格红线(PV / KW / K1 三档)需要贵司财务口径确认。

所以我们建议先跑数据治理阶段:把尺寸和经销商 ID 补齐、补录历史数据、把新单录入流程改掉。数据覆盖率达标后再上自动报价,那时报价准确率是由数据保证的,而不是由模型保证的。

以现有数据直接上全自动报价,看起来会很准,但那个精度是算出来的假象——这对我们双方都不是好结果。
这段话术的三个关键设计:① 先给能做的(好消息先行)② 再给不能做的,并每一条都挂一个数据依据③ 最后给一条明确的替代路径(先数据治理)。有依据的「做不到」比没依据的「能做到」可信一百倍——后者会变成验收时的纠纷。
07

常见坑 / 红线

坑为什么危险正确做法
拿少量样本说覆盖率高400 单里仅 3 单有尺寸,拿这3 单当证据是自欺;且这 3 单属 K / Y,还不是主流的 H / H4 / K / M / S 系列覆盖率必须全量算,并说明样本的口径(哪年、哪个系统、哪些系列)
为了签单模糊能力边界前期模糊 = 后期验收扯皮 + 回款难收能力分级写进合同附件,L3/L4 明确标注「依赖数据条件」
用「AI 智能定价」这种模糊词用技术名词掩盖数据缺失,客户以为问题在算法,其实问题在数据不用模糊词。每说一个能力,同时给出它的数据前提和覆盖率
客户期待 100% 自动化29% 的尺寸缺口决定了 100% 不可能,承诺了就是埋雷提前对齐「例外率」这个指标,用覆盖率提升曲线代替「全自动化」承诺
把「算不出」当成失败为了显得有用,引擎对缺失尺寸强行给一个默认值缺数据就返回「缺尺寸、待确认」,这是正确行为,不是失败
信文档和日志不做反向验证文档可能过期、日志可能漏打,会高估引擎能力拿真实 model + spec 打接口,卡点要和覆盖率对得上
在生产环境试探接口可能触发生成任务、下发单据,代价远超验证本身验证只用只读接口,变更先在预览环境做
红线:在数据不足时仍然输出一个看起来精确的数字,比报「算不了」更危险。

因为前者会进入客户的报价单、进入客户的对外报价、进入真实交易。等错误被发现时,损失的不只是这一单的钱,而是「这套系统不可信」这个结论——而信任一旦丢掉,引擎做得再准也没人敢用。

宁可让技术确认岗多点一次确认,也不要让引擎替人做这个决定。
✓

自查清单

  • ✓我能背出四个覆盖率数字:96.6% / 95.2% / 29% / 0%,并说清每个数字卡在哪一步
  • ✓我能量化门店订购单的 400 单里 97% 无尺寸,并知道仅 3 单有尺寸且属 K / Y 系列
  • ✓我知道三个前置数据依赖是:出厂价红线(PV / KW / K1)、尺寸数据源、订单↔经销商 ID 对照表
  • ✓我能画清 L1 → L4 分级,并明确说 L3 / L4 现在点不亮及原因
  • ✓我理解 L2 为什么必须配「技术确认岗」,以及拆单员 → 技术确认岗的岗位演进逻辑
  • ✓我知道验证引擎能力要打 /api/bom、/api/glass_dwg、/api/quote 三个接口
  • ✓我知道验证只用只读接口,变更先在预览环境
  • ✓我拒绝用「AI 智能定价」这类模糊词代替数据说明
  • ✓我认同缺数据时报「算不了」比给假精确值更安全
  • ✓我能用覆盖率低于 80% 不承诺自动化这条线来划分能力
面试怎么答

「你怎么判断一个系统能不能上线?」

我的判断标准是:不先看功能,先量数据覆盖率。因为绝大多数「系统不能上线」的真实原因,不是功能没做完,是输入数据不完整——这时候功能越完善,产出越像真的,越危险。

举个我真实做过的例子。业务流是「订单 → 自动拆单 → 自动报价 → 自动派单给供应商」,要自动化得先验数据。我用 33,176 笔真实订单 / 387 个经销商 / 2,799 个型号 跑覆盖率校验,结果是:型号匹配 96.6%、厚度匹配 95.2%,这两个说明主数据是立得住的;但尺寸数据只有 29%,算不出面积就算不出价;客户/经销商对应是 0%,系统根本不知道该报给谁。

我又去看生产侧的真实数据画像,结果更扎眼:门店订购单 400 单里97% 的 spec 是空的,也就是 388 单没有尺寸。仅有的 3 单有尺寸,还属 K / Y 系列,而主流业务是 H / H4 / K / M / S 五系列——连有尺寸的样本都不在主要业务线上。

所以我的结论是:缺三样前置数据——① 出厂价红线(按 PV / KW / K1 三档)② 尺寸数据源 ③ 订单↔经销商 ID 对照表。这三样不补齐,任何报价都是猜的。而且前两样里有两样根本不在我手里,得客户给财务口径和主数据。所以我把方案改成先跑数据治理阶段,自动报价等数据齐了再上——这避免了客户花大价钱买到一个算不出价的引擎。

然后我把引擎能力分了四级,并且明确说清哪一格现在点不亮:L1 型号厚度自动匹配能上线(覆盖 95%+);L2 规格补全 + 人工确认只能半自动,需要设「技术确认岗」承接 29% 的缺口;L3 自动报价目前不具备条件;L4 自动派单依赖 L3,所以也点不亮。这里有个岗位演进的关键设计:真实业务里是从拆单员演进到技术确认岗——自动化不是消灭人,是把人从重复计算挪到例外处理。29% 的缺口意味着 71% 仍要人确认,那就明确设这个岗承接,而不是让引擎硬算一个数字。

验证能力边界的方法,我信的是反向验证而不是文档。拿真实订单里的 model + spec 去打 /api/bom、/api/glass_dwg、/api/quote 三个接口:bom 走得通、glass_dwg 卡在尺寸缺失、quote 卡在 dealer_id 传不进去——三个接口的卡点位置和覆盖率表完全对得上,这才叫验证。这里我也坚持一条纪律:验证只用只读接口,不在生产环境试探,变更先在预览环境做。

最后是这件事里我认为最值钱的部分:这个项目的数据匮乏(400 单 97% 没有尺寸)反而是最好的诚实性证据。我完全可以拿那 3 单有尺寸的订单说「尺寸数据我们有一部分」,然后接下全自动报价的单子——但那3 单属 K / Y,不在主流系列上,样本根本不成立。反过来说,我把这个坏消息如实写进方案,客户看到的是一份真的做过校验的方案,而不是一份销售话术。

所以我给自己定了一条红线:在数据不足时仍然输出一个看起来精确的数字,比报「算不了」更危险。因为那个假精确值会进入客户的报价单、进入真实交易,等被发现时损失的不是这一单的钱,是「这套系统不可信」这个结论。信任丢了,引擎做得再准也没人敢用。