黃宏本,盧雪燕
(1.2.梧州學(xué)院,廣西 梧州 543002)
關(guān)聯(lián)規(guī)則挖掘在超市銷售系統(tǒng)中的應(yīng)用及實現(xiàn)
黃宏本1,盧雪燕2
(1.2.梧州學(xué)院,廣西 梧州 543002)
超市購物籃分析是關(guān)聯(lián)規(guī)則挖掘的典型應(yīng)用領(lǐng)域,分析了關(guān)聯(lián)規(guī)則在超市銷售系統(tǒng)中的應(yīng)用,然后提出了一種基于二維數(shù)組的關(guān)聯(lián)規(guī)則挖掘?qū)崿F(xiàn)算法,并根據(jù)算法開發(fā)實現(xiàn)了挖掘系統(tǒng)。通過模擬的超市銷售數(shù)據(jù)進行試驗表明,算法及所實現(xiàn)的系統(tǒng)是可行的、高效的。
關(guān)聯(lián)規(guī)則;超市銷售;二維數(shù)組
在當(dāng)今市場競爭激烈的時代,如何讓消費者在購物時能感覺到方便和舒適,一次性消費更多,產(chǎn)生更大的銷售效益,是商家必須考慮的問題。由于銷售業(yè)記錄著消費者的所有購買記錄,商家開始通過對消費者購物行為的分析來進行商品的合理擺放,以及對商鋪進行更合理的布局,使商場銷售格局更符合消費者的消費行為與模式,從而提高商場的銷售業(yè)績,創(chuàng)造出更多的利潤,同時也為消費者帶來更多的方便。
消費者在超市購物或者是在網(wǎng)上購物時,每一次對購物籃的處理都能得到顧客的一次購物信息,大多數(shù)零售企業(yè)只是將這些數(shù)據(jù)進行簡單分類,分析單一的銷量數(shù)據(jù),然后做一些統(tǒng)計,實際上并沒有意識到這些數(shù)據(jù)中還包含著很多有用的信息,沒有充分利用這些能反映所有顧客購物行為最有效的數(shù)據(jù),使得寶貴的數(shù)據(jù)資源成了“數(shù)據(jù)墳?zāi)埂?。同時,零售業(yè)記錄顧客的購物信息形成了海量的數(shù)據(jù),它們以TB數(shù)量級增長。要想使數(shù)據(jù)真正成為資源,必須充分利用它,讓它為業(yè)務(wù)決策和戰(zhàn)略發(fā)展服務(wù),否則大量的數(shù)據(jù)就只會成為包袱,甚至成為垃圾。
另一方面,隨著計算機技術(shù)的發(fā)展,涌現(xiàn)出了很多新技術(shù),如數(shù)據(jù)挖掘技術(shù),數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則挖掘能夠從海量數(shù)據(jù)中分析出隱藏于其中的一些規(guī)律和模式。零售業(yè)的銷售數(shù)據(jù)是以事務(wù)數(shù)據(jù)庫的形式存在的,關(guān)聯(lián)規(guī)則挖掘則主要是對事務(wù)數(shù)據(jù)庫進行挖掘,因此關(guān)聯(lián)規(guī)則挖掘在銷售領(lǐng)域得到了廣泛的應(yīng)用。數(shù)據(jù)挖掘是一個比較專業(yè)的技術(shù),它要求使用者要具有相當(dāng)?shù)挠嬎銠C知識,然而大多數(shù)商家并不是數(shù)據(jù)挖掘技術(shù)的專家,因此,如何使數(shù)據(jù)挖掘技術(shù)“平民化”,成為當(dāng)前很多學(xué)者研究的熱點之一[1]。
本文對關(guān)聯(lián)規(guī)則算法在購物籃分析中的應(yīng)用進行了探討,設(shè)計了一種基于二維數(shù)組的實現(xiàn)算法,并開發(fā)實現(xiàn)了挖掘系統(tǒng)。
設(shè)I={i1,i2…,im}是項的集合,設(shè)任務(wù)相關(guān)的數(shù)據(jù)D是數(shù)據(jù)庫事務(wù)的集合,每個事務(wù)T是項的集合,使得,每個事務(wù)有一個稱作TID的標識符。設(shè)A是一個項集,事務(wù)T包含A當(dāng)且僅當(dāng)關(guān)聯(lián)規(guī)則是形如A B的蘊涵式,其中AI,BI,并且 AIB=Φ[2]。
關(guān)聯(lián)規(guī)則有兩個度量指標。(1)支持度s,是D中事務(wù)包含AYB的百分比,是概論P(AYB)。
(2)置信度c,是D中包含A的事務(wù)同時也包含B的百分比。
同時滿足最小支持度和最小置信度的規(guī)則稱為強關(guān)聯(lián)規(guī)則。
關(guān)聯(lián)規(guī)則挖掘分為兩步:(1)找出所有的頻繁項集,這些項集出現(xiàn)的頻繁性要大于等于預(yù)定的最小支持度。(2)由頻繁項集產(chǎn)生強關(guān)聯(lián)規(guī)則。
最早提出關(guān)聯(lián)規(guī)則挖掘算法的是Agrawal等人[3],在1993年提出的經(jīng)典算法Apriori算法,但由于Apriori算法存在需要頻繁掃描事務(wù)數(shù)據(jù)庫的缺點,因此眾多研究者提出了改進的算法,如韓家煒提出了不產(chǎn)生候選集的 FP-Growth算法[4],Mohammed J.Zaki等人提出了用垂直數(shù)據(jù)表示進行挖掘的ECLAT算法[5],等等。
大型超市是數(shù)據(jù)挖掘在零售業(yè)中的重要應(yīng)用領(lǐng)域,超市普遍應(yīng)用了計算機進行貨物的采購、倉儲和銷售管理,在運營過程中積累了大量的銷售數(shù)據(jù),使用數(shù)據(jù)挖掘技術(shù)對這些數(shù)據(jù)進行分析,可以識別顧客的購買行為,發(fā)現(xiàn)顧客購買模式和趨勢,改進服務(wù)質(zhì)量,取得更好的顧客保持力和滿意度,同時還能提高貨品銷售比率,設(shè)計出更好的貨品運輸與分銷策略,減少商業(yè)成本等。具體應(yīng)用舉例如下。
應(yīng)用關(guān)聯(lián)規(guī)則挖掘,可以有效地發(fā)現(xiàn)商品銷售之間的有趣關(guān)聯(lián),進而知道貨物的擺放,以及產(chǎn)品的關(guān)聯(lián)促銷,提高銷售業(yè)績和客戶滿意度,提升企業(yè)競爭力。
利用關(guān)聯(lián)規(guī)則挖掘技術(shù),確定商品銷售的關(guān)聯(lián)關(guān)系,精確制定促銷的對象,降低活動成本[6]。
考慮到顧客的需求,產(chǎn)品的銷售,趨勢和時常,以及日用品的質(zhì)量、價格、利潤和服務(wù),根據(jù)不同維度的分類方法[7],可以了解到顧客類型,產(chǎn)品是否暢銷,以及不同時間和地域的銷售優(yōu)勢。
通過比較促銷期間與促銷活動前后的銷售量和交易數(shù)量來分析促銷活動的有效性。通過關(guān)聯(lián)挖掘找出隨降價商品一同被購買的商品,特別要與促銷活動前后的銷售相比。
通過VIP卡的信息,以同一顧客在不同時期購買的商品分組為序列。分析顧客的消費變化,然后對商品的價格和商品的花樣加以調(diào)整,以挽留老顧客,吸引新顧客。
在對關(guān)聯(lián)規(guī)則以及其在超市銷售中的應(yīng)用分析的基礎(chǔ)上,使用Microsoft Visual Basic 6.0開發(fā)了一個對超市數(shù)據(jù)進行關(guān)聯(lián)規(guī)則挖掘的系統(tǒng)[4]。系統(tǒng)的大小僅為200多KB,輕巧實用,易于操作,實驗證明挖掘效果良好。
在原始數(shù)據(jù)中抽取超市某個時間段的銷售記錄,以找出強關(guān)聯(lián)規(guī)則,為超市的商品擺放提供依據(jù)。對于一個顧客只購買一種商品的情況進行篩選后,構(gòu)造僅由顧客編號和商品編號組成的數(shù)據(jù)庫,保存成.dat文件,此類文件可以用操作系統(tǒng)中的記事本直接打開、更新及編輯,十分方便。為了方便操作及存儲,在文件中,同一個顧客購買的多個商品存儲在同一行,并且各個商品編號之間用空格隔開,這樣的構(gòu)造方法非常易于使用二維數(shù)組來存儲,挖掘過程中也能方便地使用二維數(shù)組的特點。挖掘的算法步驟描述如下。
(1)建立一個二維數(shù)組用于存儲數(shù)據(jù)庫即商品的編號,其元素范圍是從最小商品號到最大商品號,所以先定義一個ArrStr(商品號個數(shù),商品號個數(shù))的數(shù)組,并初始化為0;
(2)讀取數(shù)據(jù)庫文本,以換行符為分割點將文本分割存放到一個行數(shù)組,如:RowArr=Split(StrData,Chr(13)&Chr(10),-1,vbTextCompare),然后再逐一讀取每個行數(shù)組元素,以空格符為分割點進行分割,將分割后的結(jié)果存放到一個列數(shù)組,如:ColArr=Split(RowArr(i),"",-1,vbTextCompare);
(3)將關(guān)聯(lián)規(guī)則映射到ArrStr二維數(shù)組中,比如有一個顧客同時買了30號和40號商品,那么其關(guān)聯(lián)強度就自加1,如:ArrStr(30,40) =ArrStr(30,40)+1。這里要注意的是,在二維數(shù)組中 ArrStr(30,40)和 ArrStr(40,30)是不一樣的,但是對于商品來說都是同一種關(guān)聯(lián),所以在執(zhí)行 ArrStr(30,40)=ArrStr(30,40)+1時,還要進行 ArrStr(40,30)=ArrStr(40,30)+1運算;
(4)從ArrStr這個二維數(shù)組中取出其右上角(也可以是左下角)的數(shù)據(jù),然后對其每個元素進行從大到小排序并保存在TopNum數(shù)組中,再把這個元素對應(yīng)的數(shù)組下標保存在自定義數(shù)組TopListX和TopListY中,這樣就可列出TopListX(i)商品與TopListY(i)商品的關(guān)聯(lián)強度為TopNum(i)。
本文的測試數(shù)據(jù)見下頁圖1,共有5000行記錄,最多的一行記錄有102列,文件大小為201KB。數(shù)據(jù)庫中最小商品號為0,最大商品號為999,共1000種商品。挖掘的結(jié)果如下頁圖2所示。
圖1 測試數(shù)據(jù)庫
圖2 挖掘結(jié)果的前7項
從結(jié)果可以看到,在較短的時間內(nèi)就能挖掘出較好的結(jié)果。在圖2中按照關(guān)聯(lián)強度的高低列出了結(jié)果。對于超市的銷售而言,針對1000種商品進行挖掘,同時列出了兩種商品間的關(guān)聯(lián)強度,結(jié)果列出了兩種商品被購買的次數(shù),這樣的結(jié)果已經(jīng)足夠決策者進行參考,從而做出決策。挖掘得到的結(jié)果清晰明了,即使數(shù)據(jù)庫進行了更新,系統(tǒng)不需要做任何的改動,依然能高效地進行挖掘,加上系統(tǒng)操作簡單,性能良好,說明這樣的系統(tǒng)值得推廣。且本軟件已是發(fā)布版,一個.exe文件,無需安裝,可以直接運行。操作上只需要把相應(yīng)數(shù)據(jù)庫命名后放置在相同目錄,點擊按鈕即可。相比于其他主流數(shù)據(jù)挖掘平臺,如AlphaMiner2.0, SAS Enterprise Miner, SPSS clementine,S-Plus Insightful Miner等,本系統(tǒng)算法簡單,易于操作,且性能毫不遜色。
本文討論了關(guān)聯(lián)規(guī)則挖掘在超市銷售中的應(yīng)用。提出了一種基于二維數(shù)組的關(guān)聯(lián)規(guī)則挖掘算法,并使用Microsoft Visual Basic 6.0編程實現(xiàn)挖掘系統(tǒng),通過模擬的超市購物數(shù)據(jù)測試表明,算法高效可行,所實現(xiàn)的系統(tǒng)輕巧,性能出色,具有相當(dāng)?shù)膶嵱脙r值。
[1]杜海濤,陳定方,張波.一種基于關(guān)聯(lián)規(guī)則的超市購物籃分析方法[J].湖北工業(yè)大學(xué)學(xué)報,2008(2):53-55.
[2]Jiawei Han,Micheline Kamber.數(shù)據(jù)挖掘:概念與技術(shù)[M].2版.范明,孟小峰,譯.北京:機械工業(yè)出版社,2007.
[3]AgrawalR,SrikantR.Fastalgorithmsforminingassociationrules in large databases[C].Processings of the 20th International Conference on Very Large DataBases.San Francisco:Morgan Kaufmann Publishers Inc,1994:487-499.
[4]Han J W,Pei J,Yin YW.Miningfrequent patterns without candidate generation[C].Proc.2000 ACM SIGMOD Int.Conf.on management ofdata,Dallas:ACMPress,2000:1-12.
[5]ZakiMJ.Scalablealgorithmsforassociationmining[J].IEEETransactions on Knowledge and Data Engineering,2000,12 (3):372-390.
[6]唐敏.關(guān)聯(lián)規(guī)則挖掘算法在超市銷售分析中的應(yīng)用[J].計算機科學(xué),2006(2):149-150.
[7]沈國強,覃征.一種新的多維關(guān)聯(lián)規(guī)則挖掘算法[J].小型微型計算機系統(tǒng),2006(2):291-294.
[8]陳茵,閃四清,劉魯,等.最小冗余的無損關(guān)聯(lián)規(guī)則集表述[J].自動化學(xué)報,2008(12):1490-1496.
Application and Implementation of Association Rules Exploited from the Selling System of Supermarkets
Huang Hongben1,Lu Xueyan2
(1.2.Department of Computer Science,Wuzhou University,Wuzhou 543002,China)
Shopping-basket analysis is a typical application area for exploiting association rules.First,this paper analyzes the application of association rules in the supermarkets.Then,it proposes an association exploiting algorithm which is based on two-dimensional array.Finally,it realizes an exploiting system by using this algorithm.The test based on sales data of a supermarket shows that the algorithm and the system is reasonable and efficient.
association rules;supermarket’s sale;two dimensional array
TP273
A
1673-8535(2011)03-0059-05
2011-03-28
廣西教育廳科研立項(200708MS056);梧州學(xué)院科研項目(2007C006)
黃宏本(1977-),男,廣西藤縣人,梧州學(xué)院教師,研究方向:數(shù)據(jù)挖掘等。
盧雪燕(1982-),女,廣西靈山縣人,梧州學(xué)院教師,研究方向:數(shù)據(jù)挖掘等。
覃華巧)