馮永祥 楊寒



摘要:針對各藥店激烈的競爭以及如何實現盈利最大化的問題,將數據挖掘技術有效地運用到藥品零售管理系統中去。通過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管理規范的同時參考這些規則對經營管理方式做適當的調整。一方面,把關聯性比較強的藥品放在相鄰的貨架上,方便顧客挑選,節約購買時間,增加銷量。另一方面,在進貨計劃上,藥店根據規則制定需要購買藥品的數量,以保證不必要的浪費和貨物的充實。