明基逐鹿智能分析项目在堪称"无缝钢管世界第一厂"钢管集团宽敞明亮的会议室中正式启动。客户企业自身是集无缝钢管、不锈钢管、彩板、海绵铁、铁合金、铜线杆、铝线等多种冶金产品为一体的集团公司,无缝钢管产量居世界单厂之首。虽然自身的产品与市场占有优势非常明显,同时面临的国际化竞争也是一场激烈的,为了持续增强自身的核心竞争力,集团公司一直致力于管理提升与业务创新,而此次的商业智能项目,也正是期望通过采购效率和成本、原材料库存管理等方面的优化,进一步提升产品的利润率。
在上这个系统之前,企业供应部已经上过多套信息系统,从专门的钢铁行业ERP到自行开发的各种内部信息系统,涵盖了业务的方方面面,极大提高了管理效率。不过,随着供应部信息化建设日趋完善,各业务系统数据各自独立,无法为高层决策提供更加全面有效的数据支持,成为一个迫切需要解决的问题。
在项目中,企业IT人员与明基逐鹿的顾问们进行了积极配合,梳理好各业务系统的数据,并在这些数据的基础上,同业务人员讨论关键绩效指标(KPI)的设置,进而建立数据仓库和分析多维数据集,最终输出动态多维报表的方案。
梳理数据统一词汇标准
在梳理数据的过程中,遇到了最常见的一个问题:由于双方对一些名词概念理解不同,工作习惯上也存在差异,对一些数据的实际含义产生了误解。
举例而言,在库存管理系统中,库存交易记录表是一张非常重要的数据表,保存了整个库存系统几乎所有的操作信息。库存交易记录上保存有交易完成后的库存余额情况,可以作为某些系统性能优化和交叉验证的凭证。而库存交易记录涉及到的概念,每个系统可能有不同的叫法,像仓库、库房、储区、储位、库位等等。
在这次项目中,一开始曾出现双方使用同样的词汇就一些问题和数据指标进行讨论得出一个算法,在随后的结果验证上却发现距离实际情况很远的情况。这也说明,整理出行业专业词汇表是多么重要。
在项目初期,对于项目中会用到的概念和词汇,应当保持高度的警觉性,需要随时注意双方是否使用了同一个名词不同的概念含义。发现有差异的词汇,要整理出标准的描述,与项目中的行业专业词汇解释一同构成此次项目的标准词汇表。这个问题不光商业智能项目会遇到,在任何项目的实施中都需要足够重视。
制定KPI指标监测数据质量
通过数据梳理的工作,掌握了业务数据的基本情况之后,就可以有的放矢,同业务人员讨论KPI指标以及指标公式了。考核指标必须尽可能多地反映出供应商供货的真实信息以及物料在库存中真实的运转情况,也必须合理剔出无法取得的资料对指标公式的不良影响。针对某些业务情况,还要进行针对性的公式调整,比如计算供货能力和供货价格波动情况时,就要针对同一物料不同单位(比如大桶装和小桶装)的供货情况分别考虑,再综合得分。
经过双方的共同努力,初步制定出涵盖供应商绩效评估和库存分析这两大主题的十多个基本指标。再通过行业经验公式,辅以加权调整值,构成若干综合指标。最后将每个综合指标的历史得分情况反馈到公式中,获取该项综合指标的最终得分。
只要有人参与的系统,都难免会有错误,因此,尽管供应部的ERP等业务系统的管理已经很完善,还是在ETL的过程中进行了数据的质量监测,果然发现部分物料编码存在一码多料和一料多码的现象。后来采用对照表结合时间点的方式,在ETL过程中统一物料编码,确保了数据的一致性。ERP与eHR人力资源管理系统中的部门数据进行整合时,也同样采用对照表的方式解决了统一编码的问题。
数据仓库方面,一向是Inmon和Kimball两大流派分庭抗礼。供应部建立数据仓库时,采用了Kimball的维度建模方式,数据集市与数据仓库共享同样的维度结构,实施相对简单,效果较好。
核对数据排除ETL缺陷
尽管在ETL的过程中进行了大量的检查和一致性处理,数据的核对工作还是非常有必要的。业内有句老话,叫做"Rubbishin,rubbishout"(垃圾进,垃圾出),就是说如果数据不准确,那么得到的结果就毫无意义。因此,整个数据流上的每个环节都必须经过仔细核查,尤其是抽取和转换的部分。
抽取和转换的部分因为计算比较多,通常出现问题的概率比较高,而载入的部分因为逻辑相对简单,出错的机会相对较少。在数据核对阶段,IT实施人员可与业务人员并行作业,在IT实施人员检查ETL流程是否存在缺陷的同时,由业务人员来检查最终报表上的数据是否符合业务日常的经验直觉,如有任何疑问,可以自行通过预先制定的计算逻辑算出结果作对比。
对于类似绩效评分这种分析报表,因为企业内部原来没有类似的数据可供核对,手工核对的工作量非常大。通过结合经验和直觉的抽查检验,可在最短的时间内发现最多的问题。当然,对于可以拿到核对数据的报表,则一一核对是非常必要的。在核对数据的过程中,可以充分利用BI分析工具的功能如异常数值监控等来提高核对效率。
细致核对后,客户项目工程师发现整个数据流程和公式计算都没什么问题,但报表还存在一些不正常的数值。由于ETL保存有数据来源的全部信息,通过逐步倒推,最终发现问题出在原始业务系统录入的数据上。这些可能是人工错误,一般很难找到有效的识别和纠正算法,只能通过加强管理来解决。管理流程由于BI的加入形成了闭环,从而形成正反馈,进一步增强了IT系统对于管理的支持作用。
优化报表性能改善用户体验
经过前面一系列的洗礼,领导层已经可以使用BI报表来辅助决策了,不过还有一个问题需要考虑,那就是查询性能。因为BI报表与常规报表不同,它最大的特性就在于动态性,它可以按照查看者的意愿,进行切入、展开、过滤、排序等多种分析动作,如果报表的相应时间过长,会大大影响使用者的体验。
其中供应商绩效评分系列的原型报表就存在这个问题,报表打开、操作延时较长。虽然性能问题不像数据准确性问题那么严重,但如果没有良好的操作体验,有可能受到最终用户的抵制而导致项目失败,因此这个问题不容小视。
通常而言,BI报表性能问题大多是由于数据的粒度过细、分析维度过多或者即时计算公式太复杂造成的。在优化报表性能的过程中,分析师首先从数据粒度着手,最初的报表数据粒度细化到天。经过讨论,最终项目组确定以月为粒度作为一般的绩效考核指标,基于数据仓库中的明细数据,供应部专门导出了一个部门数据集市;公式上,也根据数据的情况做了相应的优化,减少了最消耗时间的扫描动作,经过一系列的优化,最终将性能提高了数倍,大大改善了原有操作延时过长的问题。