数据挖掘技术在药品零售管理系统中的研究与应用
2018-04-02冯永祥杨寒
冯永祥 杨寒
摘要:针对各药店激烈的竞争以及如何实现盈利最大化的问题,将数据挖掘技术有效地运用到药品零售管理系统中去。通过MATLAB建模,利用关联规则对某药店部分零售数据进行挖掘以及利用聚类算法对客户价值进行聚类的研究与分析,发现顾客购买趋势、挖掘潜在的客户、提高药店的竞争力,为企业经营者提供决策性支持。
关键词:数据挖掘;关联规则;聚类算法;药品零售;客户价值
1引言
随着我国国民经济的不断发展、人民生活水平不断提高、人口老龄化的持续加剧,城乡居民对药品的需求量也在逐渐增大,因此,近几年来我国各零售药店之间的竞争也越来越激烈,经营者更加关注药店销售业绩等有价值的信息。目前,各药店都用计算机来管理自己的内部事务,但现在大多数药品零售管理系统中只能提供较为简单的记录查询,没有从药店日积月累的销售数据中获得隐藏的知识,而数据挖掘技术能为企业带来更多潜在的商业机会。
2相关理论及技术
2.1数据挖掘
数据挖掘(Data mining)是指数据库知识发现,一般是从大量的数据中通过算法搜索隐藏于其中信息的过程。目前,数据挖掘在各领域的应用非常广泛,尤其是零售业、金融行业、通讯以及医疗服务业等。只要该企业具有分析价值和需求的数据库,就可以利用数据挖掘技术进行有目的的挖掘分析。常用的数据挖掘模型包括关联分析、分类和预测、聚类分析和异常点分析等,本文采用了关联规则的Apriori算法和聚类分析的K-means算法,挖掘过程如图1所示。
1)在药品零售管理系统中根据挖掘需求对数据进行收集,并整理成原始数据;
2)对原始数据集进行数据预处理,其中包括数据清洗、数据集成、数据变换;
3)运用具体的数据挖掘算法进行建模;
4)结合日常业务,对模型结果进行分析,且将模型结果应用于实际业务中,最后输出应用结果。
2.2MATLAB简介
MATLAB是一款商业数学软件,用于算法开发、数据可视化以及数值计算的高级技术计算语言和交互式环境,还可以用来创建用户界面及调用其它语言编写的程序。本文用MAT-LAB语言编写,由若干MATLAB命令组合在一起,实现Apriori算法和K-means算法,完成关联规则和聚类分析的操作。
3 Apriori算法在药品零售管理系统中的应用
基于关联规则的数据挖掘可以看作是一种顾客购买行为的分析,购物篮中对应的项目表示顾客一次性购买的商品。通过关联规则发现顾客购买的不同商品之间的联系,发现顾客购买的行为,用来指导经营者科学地安排进货、库存以及货架设计等,帮助零售店制定营销策略
3.1数据获取
药品零售的关联分析数据来自于日常业务管理中,以某药店某时间段2375条零售数据为例进行关联规则挖掘。数据包括涉药单位、销售单号、药品代码、药品名称、销售时间、销售数量等字段,如图2所示。
3.2数据预处理
1)数据清洗
在日常销售中,存在退货的情况,为了便于模型分析,需要对其处理,将无效的数据去掉。
2)数据集成
关联规则需要以顾客已买到的药品来预测顾客可能感兴趣的其他项,因此需要对药品进行分类,在药品零售数据中没有药品类型的属性,本课题根据药品的种类将药品分为心脑血管用药,肠胃道用药,五官科用药,皮肤科用药,成人用药,儿科用药,肝胆科用药,神经科药,妇科用药,日常用药,呼吸道用药,泌尿科药,医疗器械,营养保健,风湿关节共15种类型。需要通过药品代码来对药品质量档案中药品类型进行合并,将最终结果集成到数据集中。
3)属性规约
销售记录信息包含很多属性,为了减少挖掘花费的时间,提高数据挖掘算法的效果,需要将与建模相关程度小的属性删除。
4)数据变换
顾客在购买药品时,管理系统会自动产生一个销售单号,而销售单号是能唯一标识顾客的单次购买。在原数据集中,顾客买几种药品就会显示几个事务,这样挖掘结果可能不准确,所以需要将相同的销售单号购买的药品合并在一起。
通过数据预处理,最终数据集事务格式如表1所示:
3.3模型构建
基于关联规则的药品零售数据建模流程,如图3所示。
该模型主要由输入、算法处理、输出部分组成。输入部分主要包括:事务数据库D、最大频繁集项数maxItem、最小支持度minS、最小置信度minC。
算法处理部分是Apriori关联规则算法,具体处理过程如下:
1)简单扫描所有的事务,事务中每一项都是候选1项集的集合C1的成员,计算每一项的支持度并與minS做比较,保留大于或等于该阈值的项,得到1项频繁集L1。
2)定义apriori_gen(A,k)函数产生Ck项集,实现组内连接,A表示第k-1次的频繁项集,k表示第k频繁项集,然后通过isExit(C,A)来判断Ck的非空子集是否存在A中,保留存在的项,这个过程称为剪枝。
3)对剪枝后Ck中各项集的支持度与预先设定的最小支持度阈值做比较,保留大于或等于该阈值的项,得到k项频繁集。循环此过程,直到剪枝后的Ck为空集。
4)利用上述得到的频繁项集计算置信度,其结果与minC比较,保留置信度大于或等于该阈值的项,产生关联规则。
3.4模型分析
用上述模型对建模数据进行挖掘,点击数据分析界面的“药品关联”按钮,设定最小支持度为1%,置信度为10%,最大频繁项集为3,显示个数是5,如图4所示。
点击“Apriori关联规则挖掘”按钮,MATLAB程序输出的关联规则如表2。
由药品的关联规则可知,日常用药(感冒药类,清热解毒类)、呼吸道用药、心脑血管用药、肠胃用药、五官科用药、医疗器械等类别的药品经常被频繁地购买,它们之间存在着很强的关联性。
由关联规则1,2可知,购买感冒类药品的顾客同时也会购买消炎类的药品,这些药品都是家庭常用药品,用量非常大。
由关联规则3可知,肠胃消化不好的顾客通常体质比较弱,在购买肠胃道用药的同时还会买类似六味地黄丸、维生素类的药品,增加肠胃道消化。
由关联规则4可知,购买神经科药品的顾客会经常购买肝胆科类的药品,晕车的人常常表现为恶心,呕吐,头晕目眩,从中医治疗方法来讲,需要滋补肝肾,比如吃点杞菊地黄丸等。
由关联规则5可知,皮肤受伤或骨头扭伤的顾客,经常购买皮肤用药或者治疗骨伤、风湿关节药品的同时,也会买一些类似创可贴、酒精、棉签等家用医疗器械,加快伤口愈合。
药店在遵循GSP管理规范的同时参考这些规则对经营管理方式做适当的调整。一方面,把关联性比较强的药品放在相邻的货架上,方便顾客挑选,节约购买时间,增加销量。另一方面,在进货计划上,药店根据规则制定需要购买药品的数量,以保证不必要的浪费和货物的充实。