UPC · Unified Product Code

产品编码命名规范

给来佣表的每一个可报价单元一个唯一、稳定、看得懂的编号。一行一码,跨季度不变, 年期、年龄、PI/NPI 和产品大类都写在码面上。

基准数据 来佣表 20260805 版 覆盖 770 行 / 98 产品族 / 15 家保司 唯一性 770 / 770
编码结构 · 定长字段记录
公司
P
R
U
保诚
-
大类
S
A
V
储蓄
-
产品
X
S
M
T
信守明天
-
年期
Y
0
3
3 年缴
-
年龄
A
0
0
6
5
0–65 岁
-
变体 · 可选
B
1
5
0
O
首年保费
≥ HKD 150,000
-
PI/NPI
P
I
专业投资者档
必填字段,六段恒定 仅 16 个产品族需要 分隔符一律用半角连字符
<公司3>-<大类3>-<产品3~5>-<年期>-<年龄>-[<变体>-]<PI/NPI>

PI/NPI 永远是最后一段 —— 解析时从右往左切,永不出错。

编码由三块拼成

PRU-SAV-XSMT产品身份 · 这是什么产品
Y03-A0065-B150O投保条件 · 客户怎么买
PI佣金档 · 我们拿哪一档佣金

PI/NPI 不是产品属性,也不是投保条件 —— 客户是不是专业投资者,不改变他买到的保单,只改变 BOI 拿到的佣金率。 它是挂在最外层的费率开关,所以放在最后一段。

字段 ①

公司

三位定长。来佣表实际出现 15 家保司。

AIA友邦
MNL宏利
BOC中银
PRU保诚
FTL周大福
CPI中国太平洋
AXA安盛
GEN忠意
YFL万通
CLI中国人寿
FWD富卫
SUN永明
WLL立桥
ZUR苏黎世
FUB富邦

CPI = 中国太平(CPIC)。 将来若接入「中国太平 / 太平人寿」,必须另起 CTP。这两家名字互为子串,用包含判断会静默判错整批行。

字段 ②

产品大类

三位定长,取值来自宏泰产品资料库既有的 14 个大类,不自创分类。

大类资料库 categoryCode来佣表行数
SAV储蓄SAVINGS439
CIL危疾CRITICAL_ILLNESS68
LIF人寿LIFE52
ANN年金ANNUITY27
UNL万用寿险UNIVERSAL_LIFE21
TRM定期寿险TERM_LIFE19
MED医疗MEDICAL14
ILA投资相连INVESTMENT_LINKED
IUL指数型万用寿险INDEX_UNIVERSAL_LIFE
VUL投资型万用寿险VARIABLE_UNIVERSAL_LIFE
ACC意外ACCIDENT
GIN一般保险GI
MPF强积金MPF
OTH其他OTHERS

标 — 的大类在当前来佣表里没有产品,码位先占住,将来接入直接用。

字段 ③

产品

三到五位。取产品品牌名的拼音首字母,砍掉保司名前缀和「保险计划 / 储蓄寿险计划 / 保障计划」这类通用后缀。

产品名称取名
爱伴航爱伴航ABH
薪火传承环球终身寿险计划薪火传承XHCC
金满意足多元货币保险计划金满意足JMYZ
保诚信守明天多元货币计划信守明天(保司名已在①)XSMT
匠心传承储蓄寿险计划 2匠心传承 2(代际数字接尾)JXCC2

罗马数字统一转阿拉伯数字(II → 2,III → 3)。同一公司内撞码时,往后多取一个字的首字母,三位 → 四位 → 五位。

用拼音不用英文,是因为来佣表的英文名列有缺失、且与中文名对不上,而团队日常沟通用的是中文名。

为什么不直接用资料库的 productCode

资料库里每个产品自带 productCode(如 AIA:SLE2)。看起来现成可用,实测不行 —— 它的粒度比来佣表粗,直接拿来当产品段会把不同费率的行压成同一个码

产品段取自唯一键撞码行
资料库 productCode671 / 770152
我们自己的产品族码690 / 770126

其中 26 行是「改用资料库编码」才新撞上的。例:CPIC:GR 一个码覆盖来佣表 16 个费率不同的金如意变体。

另外三条:资料库里有 10 个产品族查无此码(含一个 58 行的主力产品);后缀长度 2–11 位不齐; 且它源自第三方系统,我们不控制它什么时候改。主键不能挂在别人会改的 ID 上。

正确用法:资料库的 productCode 单独存一列做对照,用于跟产品资料、宣传册对接。 对接能力一点不丢,主键归我们自己管。

字段 ④

缴费年期

前缀 Y。数字年期补零到两位,保证排序正确。

Y011 年缴 / 整付
Y022 年缴
Y033 年缴
Y055 年缴
Y1010 年缴
Y2525 年缴
YWL终身缴
YT80缴至 80 岁
Y20M20 年或以上
YNA原表未标注

来佣表 28 种年期写法全部可编码,零例外。Y01Y30 之间的整数年期依此类推。

字段 ⑤

投保年龄

五位定长:A + 下限两位 + 上限两位。原表 78 种写法归一成 63 个码,全部解析成功。

原表写法读法
0-65岁A00650 到 65 岁
76-80岁A768076 到 80 岁
66岁A6666单岁档 —— 上下限相同,这一岁自成一档
15日-65岁 / 15天-65岁 / 15日至65岁A0065三种写法同义,统一归一;原文另存一列
≦65岁 / ≤65岁A0065下限视为 0
>65岁A669966 岁起,上限未标注
≥75岁A759975 岁起,上限未标注
(空白)ANA原表未标注

99 是哨兵值,含义是上限未标注,不是「到 99 岁」。真实上限以原表年龄列为准。

字段 ⑥

变体可选

来佣表的产品名称列里藏着五个没有独立列的维度。不给它们码位,126 行会撞在一起。

前缀维度取值示例不编码会撞
C币种CUH 港美元 · CRMB 人民币 · CMUL 多币种100 行
P缴费方式PPRE 预缴 · PREG 年缴70 行
T保单年期(≠缴费年期)T20 · T3038 行
B保费档B150O ≥HKD150k · B150U <HKD150k22 行
S特殊条款S7D 保核后 7 日内全缴10 行
V原表标记,含义待确认V2B · V3N · VOE

一行可带多个变体,段内用 . 连接:CHKD.PPRE = 港元 + 预缴。

V 是给「我们不知道是什么」留的位置。 某保司产品名尾部带 2B / 3O / IE 这类内部标记,含义未经确认 —— 那就不猜,原样保留。它照样能把行分开(这才是主键的职责),同时诚实地标着含义待确认。

启用规则 —— 最容易做歪的地方

只有当「公司 + 产品 + 年期 + 年龄 + PI/NPI」之后仍有多行并列时才启用变体段。 名字里多几个字不算理由。这条规则机器可判定,直接写进发布闸门。

情形年期列已经区分了吗结论
生命隽富保 5 / 10 / 15 / 20是 —— 年期列就是 5/10/15/20不加变体,产品码统一
忠意尊安 10Y / 20Y / 至 80 岁是 —— 年期列就是 10/20/至80岁不加变体,产品码统一
金如意 2B / 2D / 3N / 2G否 —— 同为 3 年缴 · 0–60 岁 · NPI必须加 V 变体

结果:98 个产品族里只有 16 个需要变体码,共约 47 个。其余 82 个族都是干净的六段。

字段 ⑦

PI / NPI

投资者类别,恒定为最后一段。三个取值,没有第四种。

含义行数
PI专业投资者档281
NPI非专业投资者档299
ALL原表 PI 列留空 = 不区分,两侧同费率190

这一段绝不能省

去掉它,「公司 + 产品 + 年期 + 年龄」会有 273 个键重复、546 行撞码 —— 绝大多数产品就是靠 PI/NPI 分成两行不同费率的。

为什么放在最后而不是产品后面

纯粹是排序后的可读性。PI/NPI 每往前挪一位,同一个报价单元的两档费率就被推开一截。

排法PI↔NPI 中位间距最大间距紧邻比例
公司-大类-产品-年期-年龄-变体-PI/NPI11100%
公司-大类-产品-年期-年龄-PI/NPI-变体1488%
公司-大类-产品-PI/NPI-年期-年龄-变体14396%
公司-PI/NPI-大类-产品-年期-年龄-变体35840%

测量口径:770 行里 273 组存在 PI/NPI 成对的可报价单元,覆盖 546 行。

按当前排法,…-Y03-A0065-NPI…-Y03-A0065-PI 排序后永远紧挨着, 两档费率并排就能比。放到产品后面,同一产品的 PI 行和 NPI 行会隔开十几行。

硬约束

三条铁律

这三条不是风格偏好,违反其中任何一条都会让编码失去它存在的意义。

一 · 编码里不许出现季度或版本号

来佣表本身带 26Q2、26Q1 对比列。编码稳定,跨季度对比就是一个 VLOOKUP; 把 26Q3 编进去,等于每季度全表重编、历史全断。

二 · 一次铸成,永久冻结

若产品资料库以后把某产品从「储蓄」改判「人寿」,旧编码不动,只在映射表记一笔。 编码是身份证,不是计算结果 —— 重算一次就等于换了个人。

三 · 编码是索引,不是数据

年龄原文「15日至65歲」、币种、保费档等原文列全部保留。归一化有损是为了好用, 忠实性靠原始列兜底。任何人不得用编码反推去替代原表字段。

另外两个字段特意没有放进编码:分红险 Y/N(零区分度,且是产品属性不是报价维度)、 热卖标记(会变,编进去就违反铁律二)。它们留在各自的列里。

验证

实测结果

所有结论都跑在来佣表 20260805 版的 770 个产品行上,不是设计推演。

键组合唯一键撞码行
公司 + 产品 + 年期497546不可用
公司 + 产品 + 年龄 + 年期497546不可用
公司 + 大类 + 产品 + 年期 + 年龄 + PI/NPI690126不可用
以上 + 变体7700唯一

每一段都自带识别特征:年期段必以 Y 开头,年龄段是 A + 四位数字, PI/NPI 段只有三个固定值,变体段必以 C P B T S V 之一开头。加上 PI/NPI 钉死末位, 从右往左切永不歧义。

顺带得到的能力:前三段 AIA-SAV-ABH 天然就是产品族码。 一个 LEFT() 就能从 770 个报价行汇总到 98 个产品,不必再维护第二套编号。

工具

编码检查器

贴一个编码进去,按本页的码表逐段拆开。查不到的码会如实标成「未登记」,不会替你猜。