黃宏本,盧雪燕
(1.2.梧州學院,廣西 梧州 543002)
關聯規則挖掘在超市銷售系統中的應用及實現
黃宏本1,盧雪燕2
(1.2.梧州學院,廣西 梧州 543002)
超市購物籃分析是關聯規則挖掘的典型應用領域,分析了關聯規則在超市銷售系統中的應用,然后提出了一種基于二維數組的關聯規則挖掘實現算法,并根據算法開發實現了挖掘系統。通過模擬的超市銷售數據進行試驗表明,算法及所實現的系統是可行的、高效的。
關聯規則;超市銷售;二維數組
在當今市場競爭激烈的時代,如何讓消費者在購物時能感覺到方便和舒適,一次性消費更多,產生更大的銷售效益,是商家必須考慮的問題。由于銷售業記錄著消費者的所有購買記錄,商家開始通過對消費者購物行為的分析來進行商品的合理擺放,以及對商鋪進行更合理的布局,使商場銷售格局更符合消費者的消費行為與模式,從而提高商場的銷售業績,創造出更多的利潤,同時也為消費者帶來更多的方便。
消費者在超市購物或者是在網上購物時,每一次對購物籃的處理都能得到顧客的一次購物信息,大多數零售企業只是將這些數據進行簡單分類,分析單一的銷量數據,然后做一些統計,實際上并沒有意識到這些數據中還包含著很多有用的信息,沒有充分利用這些能反映所有顧客購物行為最有效的數據,使得寶貴的數據資源成了“數據墳墓”。同時,零售業記錄顧客的購物信息形成了海量的數據,它們以TB數量級增長。要想使數據真正成為資源,必須充分利用它,讓它為業務決策和戰略發展服務,否則大量的數據就只會成為包袱,甚至成為垃圾。
另一方面,隨著計算機技術的發展,涌現出了很多新技術,如數據挖掘技術,數據挖掘中的關聯規則挖掘能夠從海量數據中分析出隱藏于其中的一些規律和模式。零售業的銷售數據是以事務數據庫的形式存在的,關聯規則挖掘則主要是對事務數據庫進行挖掘,因此關聯規則挖掘在銷售領域得到了廣泛的應用。數據挖掘是一個比較專業的技術,它要求使用者要具有相當的計算機知識,然而大多數商家并不是數據挖掘技術的專家,因此,如何使數據挖掘技術“平民化”,成為當前很多學者研究的熱點之一[1]。
本文對關聯規則算法在購物籃分析中的應用進行了探討,設計了一種基于二維數組的實現算法,并開發實現了挖掘系統。
設I={i1,i2…,im}是項的集合,設任務相關的數據D是數據庫事務的集合,每個事務T是項的集合,使得,每個事務有一個稱作TID的標識符。設A是一個項集,事務T包含A當且僅當關聯規則是形如A B的蘊涵式,其中AI,BI,并且 AIB=Φ[2]。
關聯規則有兩個度量指標。(1)支持度s,是D中事務包含AYB的百分比,是概論P(AYB)。

(2)置信度c,是D中包含A的事務同時也包含B的百分比。

同時滿足最小支持度和最小置信度的規則稱為強關聯規則。
關聯規則挖掘分為兩步:(1)找出所有的頻繁項集,這些項集出現的頻繁性要大于等于預定的最小支持度。(2)由頻繁項集產生強關聯規則。
最早提出關聯規則挖掘算法的是Agrawal等人[3],在1993年提出的經典算法Apriori算法,但由于Apriori算法存在需要頻繁掃描事務數據庫的缺點,因此眾多研究者提出了改進的算法,如韓家煒提出了不產生候選集的 FP-Growth算法[4],Mohammed J.Zaki等人提出了用垂直數據表示進行挖掘的ECLAT算法[5],等等。
大型超市是數據挖掘在零售業中的重要應用領域,超市普遍應用了計算機進行貨物的采購、倉儲和銷售管理,在運營過程中積累了大量的銷售數據,使用數據挖掘技術對這些數據進行分析,可以識別顧客的購買行為,發現顧客購買模式和趨勢,改進服務質量,取得更好的顧客保持力和滿意度,同時還能提高貨品銷售比率,設計出更好的貨品運輸與分銷策略,減少商業成本等。具體應用舉例如下。
應用關聯規則挖掘,可以有效地發現商品銷售之間的有趣關聯,進而知道貨物的擺放,以及產品的關聯促銷,提高銷售業績和客戶滿意度,提升企業競爭力。
利用關聯規則挖掘技術,確定商品銷售的關聯關系,精確制定促銷的對象,降低活動成本[6]。
考慮到顧客的需求,產品的銷售,趨勢和時常,以及日用品的質量、價格、利潤和服務,根據不同維度的分類方法[7],可以了解到顧客類型,產品是否暢銷,以及不同時間和地域的銷售優勢。
通過比較促銷期間與促銷活動前后的銷售量和交易數量來分析促銷活動的有效性。通過關聯挖掘找出隨降價商品一同被購買的商品,特別要與促銷活動前后的銷售相比。
通過VIP卡的信息,以同一顧客在不同時期購買的商品分組為序列。分析顧客的消費變化,然后對商品的價格和商品的花樣加以調整,以挽留老顧客,吸引新顧客。
在對關聯規則以及其在超市銷售中的應用分析的基礎上,使用Microsoft Visual Basic 6.0開發了一個對超市數據進行關聯規則挖掘的系統[4]。系統的大小僅為200多KB,輕巧實用,易于操作,實驗證明挖掘效果良好。
在原始數據中抽取超市某個時間段的銷售記錄,以找出強關聯規則,為超市的商品擺放提供依據。對于一個顧客只購買一種商品的情況進行篩選后,構造僅由顧客編號和商品編號組成的數據庫,保存成.dat文件,此類文件可以用操作系統中的記事本直接打開、更新及編輯,十分方便。為了方便操作及存儲,在文件中,同一個顧客購買的多個商品存儲在同一行,并且各個商品編號之間用空格隔開,這樣的構造方法非常易于使用二維數組來存儲,挖掘過程中也能方便地使用二維數組的特點。挖掘的算法步驟描述如下。
(1)建立一個二維數組用于存儲數據庫即商品的編號,其元素范圍是從最小商品號到最大商品號,所以先定義一個ArrStr(商品號個數,商品號個數)的數組,并初始化為0;
(2)讀取數據庫文本,以換行符為分割點將文本分割存放到一個行數組,如:RowArr=Split(StrData,Chr(13)&Chr(10),-1,vbTextCompare),然后再逐一讀取每個行數組元素,以空格符為分割點進行分割,將分割后的結果存放到一個列數組,如:ColArr=Split(RowArr(i),"",-1,vbTextCompare);
(3)將關聯規則映射到ArrStr二維數組中,比如有一個顧客同時買了30號和40號商品,那么其關聯強度就自加1,如:ArrStr(30,40) =ArrStr(30,40)+1。這里要注意的是,在二維數組中 ArrStr(30,40)和 ArrStr(40,30)是不一樣的,但是對于商品來說都是同一種關聯,所以在執行 ArrStr(30,40)=ArrStr(30,40)+1時,還要進行 ArrStr(40,30)=ArrStr(40,30)+1運算;
(4)從ArrStr這個二維數組中取出其右上角(也可以是左下角)的數據,然后對其每個元素進行從大到小排序并保存在TopNum數組中,再把這個元素對應的數組下標保存在自定義數組TopListX和TopListY中,這樣就可列出TopListX(i)商品與TopListY(i)商品的關聯強度為TopNum(i)。
本文的測試數據見下頁圖1,共有5000行記錄,最多的一行記錄有102列,文件大小為201KB。數據庫中最小商品號為0,最大商品號為999,共1000種商品。挖掘的結果如下頁圖2所示。

圖1 測試數據庫

圖2 挖掘結果的前7項
從結果可以看到,在較短的時間內就能挖掘出較好的結果。在圖2中按照關聯強度的高低列出了結果。對于超市的銷售而言,針對1000種商品進行挖掘,同時列出了兩種商品間的關聯強度,結果列出了兩種商品被購買的次數,這樣的結果已經足夠決策者進行參考,從而做出決策。挖掘得到的結果清晰明了,即使數據庫進行了更新,系統不需要做任何的改動,依然能高效地進行挖掘,加上系統操作簡單,性能良好,說明這樣的系統值得推廣。且本軟件已是發布版,一個.exe文件,無需安裝,可以直接運行。操作上只需要把相應數據庫命名后放置在相同目錄,點擊按鈕即可。相比于其他主流數據挖掘平臺,如AlphaMiner2.0, SAS Enterprise Miner, SPSS clementine,S-Plus Insightful Miner等,本系統算法簡單,易于操作,且性能毫不遜色。
本文討論了關聯規則挖掘在超市銷售中的應用。提出了一種基于二維數組的關聯規則挖掘算法,并使用Microsoft Visual Basic 6.0編程實現挖掘系統,通過模擬的超市購物數據測試表明,算法高效可行,所實現的系統輕巧,性能出色,具有相當的實用價值。
[1]杜海濤,陳定方,張波.一種基于關聯規則的超市購物籃分析方法[J].湖北工業大學學報,2008(2):53-55.
[2]Jiawei Han,Micheline Kamber.數據挖掘:概念與技術[M].2版.范明,孟小峰,譯.北京:機械工業出版社,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]唐敏.關聯規則挖掘算法在超市銷售分析中的應用[J].計算機科學,2006(2):149-150.
[7]沈國強,覃征.一種新的多維關聯規則挖掘算法[J].小型微型計算機系統,2006(2):291-294.
[8]陳茵,閃四清,劉魯,等.最小冗余的無損關聯規則集表述[J].自動化學報,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);梧州學院科研項目(2007C006)
黃宏本(1977-),男,廣西藤縣人,梧州學院教師,研究方向:數據挖掘等。
盧雪燕(1982-),女,廣西靈山縣人,梧州學院教師,研究方向:數據挖掘等。
覃華巧)