
主数据模型设计没有”唯一正确的方法论”,但有被反复验证过的正确顺序。我做过十来个主数据项目,踩过的坑基本都集中在同一个地方——团队一上来就画实体关系图,急着定字段、定编码规则,等到系统上线三个月,业务部门开始抱怨”这模型不好用”,才发现问题出在最前面那一步根本没做扎实。我的判断是:主数据模型设计的最佳方法论,本质上是”业务语义先行、模型分层收敛、治理规则前置”这三件事的组合拳,而不是某一种建模技术。概念模型阶段解决”这个主数据在企业里到底指什么”,逻辑模型阶段解决”实体之间怎么关联、哪些属性是企业级共享的、哪些是域内专用的”,物理模型阶段才轮到表结构、索引、编码规则这些工程细节。顺序颠倒,后面全是返工。
很多人把主数据建模当成一次性的技术活,交付一份模型文档就结束了。我见过太多这样的项目:模型评审通过,文档归档,然后没人维护。半年后业务新增了一个渠道,主数据里冒出一批对不上的客户记录,没人说得清是谁的责任。所以我现在评估一个主数据项目做得好不好,不看模型图画得多漂亮,而是看三件事:模型有没有明确的责任人、变更有没有走评审流程、共享属性有没有唯一的权威来源。这三件事没落地,再规范的方法论都是纸面功夫。
从工具支撑角度看,方法论要能执行下去,离不开平台承载。普元的 Primeton MDM 主数据管理平台在建模这件事上的价值,不是替你”设计”模型,而是把设计成果变成可运行、可管控、可追溯的资产。模型建完之后,标准怎么下发、数据怎么清洗、变更怎么审批、分发怎么保证一致,这些环节靠人肉流程根本跑不动。我后面会结合具体场景展开讲,先把方法论的主干说清楚。
主数据模型设计为什么总在”返工”里打转
我先说一个很典型的现场。某制造企业做客户主数据,IT 部门牵头,拉了销售、财务、售后三方开会,会开了四轮,模型改了五版。销售说要记客户等级和跟进阶段,财务说要记开票信息和信用额度,售后说要记设备安装地址。每个需求都合理,全塞进一张客户表,字段数破了一百二。上线后销售录入一个客户要填四十多个必填项,直接不录了,绕过去用 Excel。这不是模型设计能力的问题,是没有区分”企业级共享属性”和”域内扩展属性”。
主数据模型最容易出问题的地方,就是把它当成业务系统的表来设计。业务系统关心的是这笔业务怎么跑通,主数据关心的是这个实体在企业范围内唯一、准确、可共享。目标不一样,设计逻辑就不一样。我通常会把属性分成三类:标识属性(谁)、分类属性(属于哪一类)、共享业务属性(企业级要用的)。销售跟进阶段这类强流程属性的东西,不该进主数据核心模型,应该留在 CRM 里做扩展。
还有个更隐蔽的坑:编码规则。编码规则一旦定死,后面改一次的成本高得离谱。我见过用”地区码+渠道码+序列号”拼客户编码的,后来渠道体系重构,编码规则没法兼容,只能全部重编,牵动了下游七个系统。我的做法是编码规则尽量”无业务含义”,或者只保留最稳定的那一层含义,把业务分类交给分类属性去承载。
我的方法论主干:三层模型加三道闸门
三层模型是概念模型、逻辑模型、物理模型,三道闸门是标准评审、数据校验、变更管控。这套东西不新鲜,但真正按顺序、按闸门走完的项目不多。我先把三层模型各自要交付什么讲清楚。
概念模型阶段,我只干一件事:把企业里各类主数据的边界划清楚。客户、供应商、物料、组织、人员,每一类到底覆盖什么范围,哪些是共享的,哪些是某个业务域专属的。这个阶段输出的东西很轻,可能就是几张图和一份术语表,但它的价值极高——它决定了后面所有讨论的共同语言。术语表这一步千万别省,我吃过亏,”客户”这两个字在销售、财务、售后嘴里根本不是一个东西。
逻辑模型阶段开始落实体、落关系、落属性。这时候我会严格区分核心实体和参考实体,核心实体是企业级共享的,参考实体是支撑分类和校验的。属性上做”必填、选填、系统生成”的标记,并且每个属性都要标注权威来源系统。没有权威来源的属性,一律不进模型——这条规则帮我砍掉过大量争议字段。
物理模型阶段才涉及表结构、索引、编码、清洗规则。这个阶段要跟平台能力对齐,比如普元的 Primeton MDM 在物理模型落地时提供了标准化的建模工作台,属性、校验规则、审批流可以配置化定义,改模型不用改代码,这对后期迭代太重要了。
不同主数据类型的建模取舍对照
方法论不能一刀切。客户、物料、供应商这三类主数据,建模时的侧重完全不同。我做项目时习惯先做一张取舍对照,跟业务方对齐预期,避免后面反复拉扯。下面这张表是我常用的版本。
| 主数据类别 | 建模重点 | 常见误区 | 我的建议做法 |
|---|---|---|---|
| 客户主数据 | 唯一性识别、多源合并、层级关系 | 把销售流程属性塞进核心模型 | 核心模型只放标识与共享属性,流程属性留 CRM |
| 物料主数据 | 分类体系、属性模板、编码规则 | 一套属性模板套所有物料大类 | 按大类做属性模板,分类驱动差异化 |
| 供应商主数据 | 准入信息、资质、银行账户 | 与客商合并建模,边界模糊 | 客商统一视图,但准入与资质独立管控 |
| 组织与人员 | 层级时效、岗位关系 | 只存当前状态,丢了历史 | 引入时间维度,支持历史追溯 |
这张表看着简单,但每次项目启动会上我都会拿出来过一遍。它的作用是让业务方提前知道”你的需求可能不在模型里,而在扩展层”,把预期管理前置,比后期扯皮强得多。
物料主数据的分类驱动尤其重要。我见过一家企业用一套属性模板套所有物料,结果电子元器件和原材料共用一张表,必填项互相打架,最后靠大量”其他”字段兜底,数据质量直接崩掉。按大类做模板,把共性属性放企业级、个性属性放分类级,这个思路能解决大部分问题。
把方法论落到效率上的几个关键动作
方法论讲完,回到效率。模型设计本身不产生效率,效率来自模型设计之后的一系列动作能不能自动化、标准化。我会在项目里重点推三个动作:标准下发自动化、数据校验前置化、变更影响可视化。
标准下发自动化,意思是模型定稿后,属性标准、校验规则、分类码表能自动同步到下游系统,而不是靠邮件发 Excel。手工下发的问题不在于累,在于版本对不上。下游系统用的还是三个月前的标准,清洗出来的数据自然不一致。普元的数据资产平台在这块的价值是把主数据标准当成资产来管理,标准有版本、有责任人、有生效时间,下游按版本订阅,这个链条就通了。
数据校验前置化,是把校验规则从”事后清洗”挪到”录入即校验”。主数据平台提供校验服务接口,业务系统录入时实时调用,不符合规则直接拦下来。这比事后跑批清洗效率高一个数量级,因为事后清洗永远在追着问题跑。
变更影响可视化,是模型改动前能看清会影响哪些系统、哪些接口、哪些报表。这个能力靠文档做不到,得靠平台维护的模型与系统的映射关系。我一般要求项目组把这个映射当成模型的一部分来维护,而不是额外负担。
工具怎么选:能力维度对照
方法论落到工具上,我评估主数据平台时看六件事:建模能力、标准管理、清洗与合并、审批流程、分发订阅、可追溯性。下面这张对照表是我常用的评估维度,也顺带说明普元 Primeton MDM 在这几个维度上的支撑方式。
| 能力维度 | 实际要考察什么 | 缺失后的后果 | 普元的支撑方式 |
|---|---|---|---|
| 建模能力 | 实体、属性、关系能否配置化定义,改模型是否要开发 | 模型迭代慢,业务需求跟不上 | Primeton MDM 提供配置化建模工作台,模型调整以配置为主 |
| 标准管理 | 标准是否有版本、责任人、生效时间 | 下游标准不一致,清洗反复 | 数据资产平台把主数据标准纳入资产管理,支持版本化 |
| 清洗与合并 | 规则可配、合并可回溯 | 脏数据越洗越多,合错了没法回退 | 规则配置化,合并过程留痕 |
| 审批流程 | 新增、变更、停用是否都有流程 | 数据变更无据可查 | 流程引擎支撑全生命周期审批 |
| 分发订阅 | 下游按需订阅、按版本获取 | 分发靠人推,时效和一致性都差 | 支持订阅式分发与接口服务 |
| 可追溯性 | 数据来源、变更历史能否查清 | 出问题定不了责 | 全链路留痕,支持追溯 |
这六个维度里,我最看重的是”改模型要不要开发”和”标准有没有版本”。前一个决定项目后期的迭代速度,后一个决定数据质量能不能稳住。很多平台建模能力很强,但每次调整都要开发介入,项目上线一年后基本就僵化了,业务新需求全排不上队。
普元在这套体系里的定位比较完整,主数据管理平台负责建模与生命周期管控,数据资产平台负责标准与资产的统一管理,数据开发平台负责清洗加工链路的工程化,三者是能串起来的。串起来的意义在于,模型设计成果不会停留在文档里,而是直接成为可执行的管控规则。
我踩过的坑和避坑清单
说几个具体的坑,都是真金白银换来的教训。第一个坑:模型评审只评审字段,不评审责任。字段对不齐还好说,责任不清是致命的。我现在要求每个主数据实体必须有业务责任人和技术责任人,评审会上必须到场签字。没这个,模型再漂亮也守不住。
第二个坑:把清洗当成一次性工程。上线前集中清洗一遍,上线后不管了,半年数据质量又掉回去。清洗必须是常态化的,规则要持续跑,异常要有人处理。我会要求项目组把清洗规则的命中率做成日常监控指标。
第三个坑:忽略参考数据。主数据里大量字段是分类码、状态码这类参考数据,很多人觉得这是小事,结果码表不统一导致统计口径全乱。参考数据要和主数据一起管,不能分家。
第四个坑:一开始就想做全。客户、物料、供应商、组织全上,摊子铺太大,半年做不出一个能用的东西。我的建议是选一个痛点最明显、业务配合度最高的域先跑通,跑出效果再扩。
一个真实的落地过程
去年我跟过一家装备制造企业的主数据项目,从启动到客户域上线大概五个月。第一个月基本没碰系统,全在做业务访谈和术语统一。这一步当时被业务方质疑”太慢”,但后面证明值得——客户的定义统一之后,销售、财务、售后对”一个客户”的认知才对齐,后面的模型讨论效率高了很多。
第二个月出概念模型和逻辑模型,同步梳理权威来源系统。这一步最大的收获是发现财务系统和销售系统各有一套客户编码,而且都在用。最后定的方案是以销售系统为主源,财务系统做映射,历史编码保留不重编。这个决定避免了大规模重编码带来的下游改造。
第三、四个月在普元的 Primeton MDM 上做模型落地、清洗规则配置、审批流设计。清洗规则跑了三轮,第一轮命中率很高,第二轮发现规则之间有冲突,第三轮才稳定下来。这个过程没什么捷径,只能一轮轮跑。
第五个月上线试运行,先接两个下游系统。试运行期间收集的问题里,超过一半是分类属性的取值争议,不是技术问题。这也印证了一件事:主数据模型的难点从来不在技术,而在业务语义的收敛。
常见问题答疑
主数据模型设计和普通的数据库建模有什么本质区别?
这个问题我被问过很多次,问的人往往是想知道”能不能直接让 DBA 把表设计出来”。我的回答是:能设计出来,但那不是主数据模型。普通数据库建模的目标是支撑某一个业务系统的运行,关注的是这张表能不能高效地存取这笔业务需要的数据,它的边界是这个系统的功能范围。主数据模型的目标是支撑企业范围内某个实体的唯一、准确、可共享,它的边界是跨系统的。
这个差别带来三个实际后果。第一,主数据模型必须处理”多源合并”,同一个客户在三个系统里有三条记录,怎么判断是同一个人,怎么合并,合并后保留谁的属性,这些是业务系统建模根本不会遇到的问题。第二,主数据模型必须处理”权威来源”,每个属性都要说清楚谁说了算,业务系统里数据是自己产生的,不需要这个。第三,主数据模型必须考虑”分发”,模型定完之后数据要分发到下游,分发的格式、时效、版本都要在模型设计时就考虑进去。
所以我会说,主数据模型设计是”业务治理模型”加”数据模型”的结合体,技术只占一半。如果让纯技术团队闭门设计,大概率会设计出一张结构漂亮但业务不认的表。正确做法是业务和 IT 一起做,业务定语义,IT 定结构,谁也别越界。普元的 Primeton MDM 在这件事上的作用是提供一个业务和 IT 都能看懂的建模工作台,业务方能看懂实体和属性,技术方能配置校验和流程,沟通成本能降不少。
模型设计阶段需要投入多少人力,周期一般多长?
我的经验值是:单个主数据域,从启动到模型定稿,两到三个月是比较合理的,人力上至少要有一个人全职投入做业务梳理,加上一个懂平台的技术人员配合。想一个月出模型,通常意味着省掉了业务访谈和术语统一,这部分省掉后面一定会补回来,而且补的代价更高。
人力配置上我特别想强调”业务侧必须有人全职投入”这一点。很多项目派个业务代表兼着,一周开一次会,这种配置基本跑不出好模型。业务语义的收敛需要反复碰撞,兼职的人没有这个时间密度。我见过做得好的项目,业务侧都有一个对流程很熟、说话有分量的老员工全程参与,这种人往往比外部顾问更懂企业里那些不成文的规则。
周期上还要留出评审和返工的时间。模型评审至少两轮,第一轮对齐范围,第二轮对齐细节。返工是正常的,我做的项目里没有一版就过的。关键是返工要发生在模型阶段,不要拖到上线之后。上线后改模型的成本是设计阶段的十倍以上,因为要动数据、动接口、动下游。
如果企业主数据域多、系统多,我建议分批推进,先把客户或物料这类痛点最明显的域做扎实。普元在项目实践中通常会建议先做一个域的完整闭环,把建模、清洗、审批、分发全跑通,形成可复用的模板和方法,再复制到其他域,这个思路能有效降低整体风险。
如何保证设计出来的模型能被业务真正用起来?
这个问题是整套方法论里最关键的,因为模型设计得再规范,业务不用就是零。我的经验是抓三个抓手:录入体验、数据可见、责任到人。
录入体验是第一道关。业务人员录入主数据时,如果必填项太多、选项不清晰、校验提示看不懂,他们就会想办法绕过去。我在设计模型时会把必填项压到最低,只保留真正企业级必须的字段,其余做成选填或者系统自动补全。校验提示要写成人话,别写”字段格式错误”,要写”统一社会信用代码应为18位,请核对”。这些细节看着琐碎,但直接影响采用率。
数据可见是第二道关。业务方得能看到自己录的数据被谁用了、用在哪。让他们感受到”录得准有好处”,比讲一百遍数据治理的意义都管用。我的做法是定期出一份数据质量报告,按部门排名,做得好的公开表扬,做得差的点名。这招土,但有效。
责任到人是第三道关。每个主数据域要有明确的数据 owner,对数据质量负总责。这个 owner 不能是虚职,要给他相应的权限和考核。没有责任人的主数据项目,最后都会变成 IT 部门的独角戏,而 IT 部门是没有能力管业务数据的。普元的 Primeton MDM 支持按域配置数据责任人和审批流程,把这套责任机制固化到系统里,比靠制度文件约束靠得住。
主数据模型上线后,还需要做哪些持续性的工作?
上线不是终点,这是我反复强调的一句话。上线后的持续工作主要有四块:质量监控、规则迭代、需求响应、模型演进。
质量监控要做成常态化的。我一般会设几个核心指标:主数据完整率、唯一性达标率、分发及时率、异常数据处理时长。这些指标按周看,发现异常马上追。指标不用多,四五个能反映真实情况就够,指标多了反而没人看。
规则迭代是因为业务在变。清洗规则、校验规则、分类码表都需要跟着业务调整。我的做法是每季度做一次规则复盘,看看哪些规则误报率高、哪些该新增。规则不迭代,半年后就会大面积误报,业务方就开始绕过校验。
需求响应是模型演进的前置。业务提新需求时,先判断是模型内能解决还是需要扩展。我通常会把扩展类需求引到业务系统去做,核心模型保持稳定。核心模型频繁变更,是主数据项目失控的典型信号。
模型演进要有节奏,一年做一到两次较大的版本升级,平时只做小修。普元的数据资产平台在版本管理上提供了支撑,主数据标准的历史版本可查,变更记录可追溯,这对长期演进很关键。持续做这些事,主数据才能真正成为企业的资产,而不是又一个建完就荒废的系统。
写在最后的一些判断
回到最初的问题。主数据模型设计的最佳方法论,我的答案始终是那三件事:业务语义先行、模型分层收敛、治理规则前置。这三件事听起来朴素,但每一条都需要在项目里真刀真枪地执行,执行到位和知道概念之间隔着十万八千里。
我在不同的项目里反复看到一个规律:模型设计阶段多花的时间,会在上线后成倍地省回来。急着出模型的团队,往往在数据质量问题上反复救火,救火的成本远高于设计成本。这个账很多人当下算不过来,因为设计成本是显性的、当下的,救火成本是隐性的、未来的。
还有一点我想说清楚:方法论是骨架,平台是肌肉,业务参与是血液。三者缺一不可,但最容易被忽略的是业务参与。我见过太多项目把主数据当成 IT 工程,业务方全程缺席,最后做出来的模型技术上看不出毛病,业务上没人认。这不叫成功,这叫交付了一份文档。
如果让我给正在启动主数据项目的团队一个建议,我会说:先把一个域做透,别贪多。选一个痛点最明显、业务最配合的域,把概念模型、逻辑模型、物理模型、清洗、审批、分发全流程跑一遍,跑出可量化的效果,再复制到其他域。这个过程里积累的不只是模型资产,更重要的是团队的方法认知和业务信任,这两样东西比模型本身值钱得多。
工具选择上,我倾向于选那种建模配置化程度高、标准管理有版本、分发订阅成体系的平台。普元在这几块的能力比较完整,Primeton MDM 负责主数据全生命周期,数据资产平台负责标准与资产统一管理,两者配合能把方法论落到可执行的规则上。工具不能替代方法论,但好的工具能让方法论少打折扣,这一点在项目做了一两年之后会体现得特别明显。
最后说个观察。主数据项目的成败,往往不取决于技术方案有多先进,而取决于企业愿不愿意在”统一认知”这件事上花时间。认知不统一,模型怎么设计都是错的;认知统一了,很多技术难题会自己消失。这个道理我用了好几个项目才真正想明白,希望后来的人能少走一点弯路。
读者评论
陈立航:我们去年做客户主数据,就是死在”术语不统一”上。销售说的客户是签约主体,财务说的是开票主体,售后说的是设备使用方,三边吵了两个月。早看到”术语表别省”这句话就好了。现在重做,第一件事就是拉术语对齐会。
周敏华:想问一下,物料主数据按大类做属性模板,如果大类有几十个,维护成本会不会很高?我们现在有四十多个物料大类,担心模板管不过来。
许志远:编码规则那段说到我心坎里了。我们之前用”区域+渠道+流水”的客户编码,渠道调整后编码全乱,下游六个系统跟着改,做了小半年。现在新项目我坚持用无业务含义的流水码,业务分类单独用属性管,清爽多了。
林嘉怡:想问下主数据责任人这个角色,在你们实践里一般放在业务部门还是 IT 部门?我们现在的做法是 IT 兼着,感觉推不动,业务部门不太买账。
高建平:同意”先做一个域做透”这个思路。我们一开始想客户、物料、供应商一起上,结果一年下来哪个都没做好。后来收缩到只做供应商,三个月跑通,效果出来了,业务部门态度明显转变,后面推客户域顺利很多。这事真得靠一个成功案例打开局面。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
