基于数据挖掘的购物篮分析软件的设计与实现
来源:用户上传
作者: 童铁杰
摘要:市场购物篮分析是数据挖掘技术中针对零售型企业销售数据的分析方式,在有效选择促销活动和营销策略方面有着举足轻重的重要性。通过分析,可以发现隐藏着的顾客消费模式,鉴别出促进商品组合销售的获利机会。本文描述了一个购物篮分析软件从需求分析、详细设计到编程实现的过程,重点说明了开发过程中遇到的问题以及解决问题的方法,为同行开发同类产品提供参考依据。
关键词:数据挖掘;购物篮分析;聚类分析
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2011) 23-0000-01
Market Basket Analysis Software Design and Implementation
Based on Data Mining
Tong Tiejie
(Ningbo High-tech Zone Yao Yao Technology Co.,Ltd.,Ningbo 315040,China)
Abstract:Market-basket analysis is a Data Mining technology for the retail enterprise sales,it is very important for the marketing strategy choice.Through these analyses,we can found the hidden consumer spending patterns and identify the mix of goods sold for profit opportunities.This paper describes how to build market-basket analysis software,including requirements analysis,detailed design and coding.
Keywords:Data mining;Market-basket analysis;Cluster analysis
一、引言
商业智能技术在当前的商业社会有着广泛的应用前景,特别是对零售型企业来说非常需要,而数据挖掘技术是商业智能技术的一个重要组成部分。从顾客的购买交易中分析出顾客有可能会同时购买的一类或一组商品关联商品,商场则可根据此分析结果调整商品的摆放位置,把相关商品摆放在一起,以增加商品的销售量同时,还可为促销提供帮助促销一种商品,并避免在同一时期促销同一类相关商品,从而大幅度提高促销的效果。
市场购物篮分析在数据挖掘应用领域中有着独特的地位,越来越多的企业通过分析软件的帮助来部署、改变他们的销售策略。比较典型的如日本的7-11便利连锁店,他在全世界拥有超过28200个连锁店,他们正是靠着“市场购物篮分析软件”来展开货品的部署及搭配,起到了非常好的效果。
二、软件整体结构设计
商场的销售数据从POS机读入,存储到后台的数据库,形成了海量的原始销售数据集。系统首先要做的就是将这些海量数据进行数据抽取、清洗和转换,建立一个新的数据仓库。在此数据仓库基础上,软件进行数据挖掘操作,形成有效的数据报表,同时生成时间、门店、商品三个纬度的聚类数据。此过程涉及到数据抽取工具(ETL)的设计,冗余数据的删除以及大量数据的比对。总体架构图见图1。
图1:软件总体架构图
软件分成数据处理与数据展示两部分。数据处理为服务器端,主要是将多个原始数据库中的数据根据所选条件,抽取到数据仓库中,以多维数据集和数据集市的形式存储,并在数据仓库基础上进行数据挖掘操作,本软件中的数据挖掘主要是聚类分析以及购物篮分析。数据展示为BS模式,用户可以从互联网上根据不同的权限登录查看各类报表,比如用户在某次购买活动中同时购买多类产品的概率等。
三、开发难点及解决方案
本软件最大的难度在于数据仓库的动态建立过程,其次是在数据仓库基础上所做的数据挖掘工作。针对这两大难点,设计人员做了如下处理:
(一)数据仓库的动态建立。由于原始数据是POS机传到后台数据库的不断变化的数据,因此所建立的数据仓库也要随之同步,但同步时间可控制。为此,本软件专门独立开发了ETL工具,用于对不同数据源的数据抽取,可以根据条件单表或者多表生成新的数据表到数据仓库中;同时,数据若有更新,则定时以作业的形式同步到数据仓库。这里涉及到一个多表连接查询海量数据速度的问题。软件采用的方法是多进程多线程模式,一个进程以10万条数据为一队列,以主键排列的方式放到缓存区,排序完成后另一进程负责将数据插入到数据仓库。多线程的方式保证了海量数据的及时插入与更新。
(二)数据挖掘操作。当数据仓库建立之后,就需要对数据仓库进行数据挖掘操作,本软件主要采用的数据挖掘技术为购物篮分析及聚类分析。购物篮分析从对顾客的购买行为进行分类开始,接下来的步骤是根据购买者特征,鉴别出提升利润的活跃性信息。一旦购买者特征决定的利润水平已知,零售商就拥有了可用于关键决策制定的实际数据。一般情况下,购物篮分析往往伴随着聚类分析,是以各种非定向式的数据挖掘。聚类分析最简单的形式就是用算法决定类的数量,确定在特定类或者组中平均变量特征。本软件采用的是Aporio算法的改进版,具体算法内容此处不做赘述。
四、实验仿真及分析
软件采用一个拥有120家连锁店的零售企业做模型范本,测试数据为1000万条销售数据。经过实际使用,一千万条销售数据,按分店、日期、商品三种纬度抽取建模时间小于十分钟;一千万条销售数据按月、周、日、小时不同颗粒度抽取建模时间小于十分钟;一千万条销售数据按不同的条件(付款方式、价格、金额、销售量)抽取建模时间小于十分钟;一千万条数据中计算两种商品关联度时间小于十分钟。根据以上的数据,对比微软的SQL Server Analysis Service及IBM的SPSS Clementine的建模分析时间,本系统的性能已经非常接近两大巨头的商业智能软件。
五、结束语
本软件实现了市场购物篮分析这一数据挖掘领域比较重要的分析技术,能够帮助商场建立一个之前并不知晓的销售模型。通过找出商品之间的关联性,给出这些关联性的合理解释,并创造出增加整体利润的方法。但这一软件也有他的局限性,他只是构建出一个假设性的销售策略,该策略是否有效,要经过实际的市场销售检验,只有能切实提高销售的情况下软件才真正具有价值。
参考文献:
[1]W.H.Inmon.(2002).Building the data warehouse(3:euppl).John Wiley&Sons,ISBN 0-471-08130-2
[2]薛红,王敏.基于DW+OLAP+DM的超市销售决策支持系统[J].计算机工程2007,14
[3]David Olson,石勇.商业数据挖掘导论[M].机械工业出版社,ISBN 978-7-111-22-17-6
转载注明来源:https://www.xzbu.com/8/view-44514.htm