尚慶生 王麗華
(蘭州財(cái)經(jīng)大學(xué)信息工程學(xué)院, 蘭州 730020)
連鎖藥店經(jīng)營的各類藥品差異性很大,其銷售情況往往受季節(jié)特點(diǎn)、流行性疾病、風(fēng)俗習(xí)慣等因素的影響。這就要求配送中心的庫存也要隨之作出改變,而藥店某一時間段的藥品銷售量變化和庫存量相互關(guān)聯(lián)。購物籃分析是關(guān)聯(lián)規(guī)則的一種典型應(yīng)用,其研究初衷是,從海量的商品銷售歷史數(shù)據(jù)中發(fā)現(xiàn)顧客的購買習(xí)慣,了解顧客的購買行為,從而指導(dǎo)銷售管理行為[1]。在本次研究中,主要考慮到銷售訂單內(nèi)容與相關(guān)藥品庫存量等情況,通過挖掘頻繁項(xiàng)集來挖掘各種藥品之間的關(guān)聯(lián)關(guān)系,并根據(jù)藥品的庫存信息來進(jìn)行庫存優(yōu)化。
Agrawal等人于1994年提出了基于挖掘關(guān)聯(lián)規(guī)則的Apriori算法,韓家煒等人于2000年在此基礎(chǔ)上發(fā)展并提出了FP-Growth算法[2-4]。FP-Growth算法是一種關(guān)聯(lián)分析算法,可用于顧客購物籃數(shù)據(jù)分析,挖掘其中的關(guān)聯(lián)規(guī)則。Apriori算法在應(yīng)用中需要重復(fù)掃描數(shù)據(jù)庫,產(chǎn)生大量的候選項(xiàng)目集,因此,搜索空間較大,挖掘效率不高。FP-Growth算法中使用了FP-tree(頻率模式樹)數(shù)據(jù)結(jié)構(gòu),在挖掘過程中無須生成候選項(xiàng)目集,只需掃描數(shù)據(jù)庫2次即可,顯著地縮小了搜索范圍,提高了挖掘效率。在此,我們應(yīng)用FP-Growth算法,對某零售藥店的銷售及庫存數(shù)據(jù)進(jìn)行分析挖掘。
數(shù)據(jù)預(yù)處理是指對原始數(shù)據(jù)中可能會影響數(shù)據(jù)分析結(jié)果的臟亂數(shù)據(jù)進(jìn)行清洗、篩選和刪除,從而提高數(shù)據(jù)的質(zhì)量和分析結(jié)果的準(zhǔn)確性[5]。
在實(shí)際應(yīng)用中,原始數(shù)據(jù)大多為不完整或不一致的數(shù)據(jù),無法直接用于數(shù)據(jù)挖掘。通過數(shù)據(jù)預(yù)處理技術(shù)可以很好地整理原數(shù)據(jù),提高數(shù)據(jù)挖掘質(zhì)量,其主要方法包括數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)轉(zhuǎn)換等[6]。
(1) 數(shù)據(jù)清洗。根據(jù)問題的特殊性,將數(shù)據(jù)中的缺失值及零值刪除;對于訂單號中的異常值、非數(shù)值型的商品編號、經(jīng)核實(shí)是錯誤編號的信息,根據(jù)真實(shí)的商品信息予以修正。
(2) 數(shù)據(jù)集成。將分析所需的銷售數(shù)據(jù)和相關(guān)藥品的庫存信息在邏輯上集合成統(tǒng)一模式,以便快速完成算法的運(yùn)行和分析。
(3) 數(shù)據(jù)轉(zhuǎn)換。將藥品詳情數(shù)據(jù)轉(zhuǎn)換成可用于挖掘的數(shù)據(jù)形式。
本次研究所選數(shù)據(jù)包括某醫(yī)藥零售連鎖企業(yè)的銷售數(shù)據(jù)、庫存數(shù)據(jù)、藥品詳情數(shù)據(jù),所用到的數(shù)據(jù)特征有藥品編號、銷售訂單號、銷售藥品的名稱、對應(yīng)藥品的庫存量。由于系統(tǒng)中的數(shù)據(jù)為人工輸入,難免有錯漏,這時就需要對數(shù)據(jù)進(jìn)行清洗,使數(shù)據(jù)能更好地融入模型。通過FP-Growth算法挖掘銷量較高藥品所在訂單的頻繁項(xiàng)集,根據(jù)藥品之間的關(guān)聯(lián)關(guān)系,并結(jié)合藥品的庫存情況進(jìn)行組合促銷。
提取部分客戶交易原始記錄,如表1所示。
表1 客戶交易記錄
本次分析的主要目的是根據(jù)挖掘結(jié)果設(shè)計(jì)藥品促銷組合,暫時不考慮中藥,只考慮成藥。醫(yī)藥連鎖企業(yè)品類繁多,如果要實(shí)現(xiàn)對每種藥品的精確管理,就要分別設(shè)定每種藥品的庫存上下限,這樣工作量會太過繁重?,F(xiàn)在只考慮每種藥品的剩余庫存是否在安全庫存的允許范圍內(nèi),如果某種藥品的剩余庫存超出了安全庫存的允許范圍則對其予以優(yōu)化。
庫存警戒線,設(shè)定為采購時間內(nèi)所需藥品銷售量與庫存下限值的總和。庫存上限的設(shè)定必須結(jié)合企業(yè)的實(shí)際銷售情況,其正常范圍一般是1個配送周期庫存量的2 ~ 3倍。該零售連鎖藥店的藥品并非定量配送,因此,以店里銷量較高藥品在5個配送周期內(nèi)的平均配送量為參考,來判斷現(xiàn)有剩余庫存是否超過庫存警戒線。上限判斷參數(shù)設(shè)定為1個配送周期的2.5倍。以奧美拉唑腸溶膠囊為例,5個配送周期內(nèi)的平均配送量為26.50件,即其安全的庫存范圍為66.25件,而剩余的庫存量80件明顯高于這個數(shù)值。因此,應(yīng)對奧美拉唑腸溶膠囊的銷售進(jìn)行優(yōu)化。
排除庫存藥品中的中藥及不頻繁項(xiàng),統(tǒng)計(jì)銷量較高藥品及其庫存信息,表2所示為部分?jǐn)?shù)據(jù)。
表2 部分銷量較高藥品及其庫存信息
針對庫存量不在安全警戒線范圍內(nèi),且又存在頻繁項(xiàng)集里的藥品進(jìn)行頻繁項(xiàng)集挖掘。為了加強(qiáng)數(shù)據(jù)挖掘結(jié)果的置信度,特設(shè)置minsup=0.02,minconf=0.50。運(yùn)行FP-Growth算法,分析藥品之間的關(guān)聯(lián)性,挖掘有較強(qiáng)關(guān)聯(lián)性的藥品信息。部分匹配參數(shù)的挖掘結(jié)果如表3所示,其中阿莫西林膠囊的關(guān)聯(lián)性最強(qiáng)。設(shè)置庫存量較高的目標(biāo)藥品為“阿莫西林膠囊”,則關(guān)聯(lián)文件包含“阿莫西林膠囊”的關(guān)聯(lián)規(guī)則。
如表3所示,客戶購買奧美拉唑腸溶膠囊的同時,購買阿莫西林膠囊的概率為58%。原因在于,奧美拉唑腸溶膠囊是一種治療胃潰瘍的藥品,而阿莫西林膠囊屬于抗生素類藥品,可降低消化道潰瘍的復(fù)發(fā)率??蛻糍徺I多潘立酮片的同時,購買阿莫西林膠囊的概率為50%。原因在于,多潘立酮片適用于由胃排空延緩、胃食道反流、食道炎引起的消化不良癥,是一種胃腸促動藥,而阿莫西林膠囊與其功效相關(guān)。同理,可分析其他藥品與阿莫西林膠囊關(guān)聯(lián)的原因。
表3 部分挖掘結(jié)果示例
按照挖掘結(jié)果,建議在售賣其他關(guān)聯(lián)高銷量藥品時對近效期或超出庫存安全線的阿莫西林膠囊進(jìn)行搭配優(yōu)惠促銷,并合理安排關(guān)聯(lián)藥品的庫存擺放位置。零售藥品的促銷也是吸引客戶的重要手段之一,根據(jù)實(shí)時藥品庫存量變化和藥品保質(zhì)期等信息來安排零售藥品的促銷活動,可減少庫存浪費(fèi),提升利潤。
頻繁項(xiàng)集挖掘和關(guān)聯(lián)規(guī)則分析是數(shù)據(jù)挖掘中的簡單知識模式。運(yùn)用FP-Growth頻繁項(xiàng)集挖掘算法可以有效地對藥品銷售信息進(jìn)行挖掘分析,其挖掘結(jié)果可在一定程度上展現(xiàn)相關(guān)藥品之間的關(guān)聯(lián)性。在本次關(guān)聯(lián)分析中以藥品庫存為參考,挖掘目標(biāo)明確??砂凑沾送诰蚪Y(jié)果,重新調(diào)整藥品的擺放位置,策劃相應(yīng)的促銷組合活動,減少庫存積壓成本,提升銷售業(yè)績。