?

大數據下的銷售異常發現與定位模型研究

2019-01-24 09:35劉菊君楊先圣
小型微型計算機系統 2019年1期
關鍵詞:大類離群級別

劉菊君, 姜 磊, 彭 雄,周 倩,楊先圣

1(湖南科技大學 計算機科學與工程學院,湖南 湘潭 411201)2 (步步高商業連鎖股份有限公司,湖南 湘潭 411201)

1 引 言

在信息時代下,信息對企業在日趨激烈的競爭中脫穎而出發揮了關鍵作用.對企業來講,數據就是信息.因此收集、管理、分析數據并將其轉換成準確有利的信息輔助決策從而獲取高額利潤并搶占市場逐漸步入企業決策者的視野.零售業數據龐大,因此及時發現異常、提高準確性并進行異常的定位尤為重要.

由于銷售數據受到外界因素的影響,比如節日、促銷等,某些銷售數據所具有的屬性并不完全一致,從而致使其失去可比性,無法直接進行數據分析或使其準確率降低.因此本文提出的基于權重處理銷售數據的異常挖掘模型,首先解決了數據可比性的問題,然后再進行離群點檢測實現異常發現,最后實施對異常數據的定位,與以往直接進行數據分析、僅挖掘異常數據的方法相比具有創新和實用意義.

本文在以步步高商業連鎖股份有限公司在長沙地區所有銷售數據為挖掘對象,將此異常挖掘模型結合Hadoop[1]云計算平臺的Spark[1]框架實際應用于該超市后獲得了相關專業人員與管理人員的高度認可.本文與以往異常檢測方法相比優勢在于:一方面,本文中的挖掘模型利用各種商業活動產生的運營數據分析出基于事實和可行性的結論,取代以往財務人員分析各種財務報表得出結論的方式,降低了采取人力根據經驗分析數據報表可能出現的錯誤與不確定性,有利于企業管理層與決策層從更理性與清晰的角度作出商業決策,抓住商業機遇,從而提高企業利潤與市場份額.另一方面,數據可比性得到有效解決,提高了準確性.最后該模型不僅可實現異常的判斷,還提出從不同角度分析銷售數據,實現異常的定位,從而實現責任到人,在這種情況下,管理層可迅速、準確的找到癥結所在并為銷售決策提供經驗,對公司意義重大.

2 相關工作

零售業相關銷售數據量龐大,單機處理海量銷售數據效率過低,在大數據平臺下處理數據成為必然.Apache Spark[2,3]是一個類Hadoop MapReduce[4]的分布式處理框架,具有MapReduce所具有的優點,但不同的是Spark計算產生的中間輸出與結果可保存在內存中,不再需要讀寫HDFS[1],因此 Spark 更適用于數據挖掘與機器學習等需要迭代的算法.當前 Spark 機器學習算法[5]廣泛應用在聚類分析、分類、回歸分析等領域[6-10].由此Apache Spark成為該模型各核心算法實現的有利工具.

目前國內外主流的離群點檢測方法基本分為5 類:基于分布的、基于深度的、基于聚類的、基于距離的和基于密度的[11].基于分布的方法根據分布模型采用不一致性檢驗來確定離群點[12,13],該方法對模型的依賴度較高;基于深度的方法給每個數據對象分配一個深度值, 將數據對象按分配的深度值映射到二維空間的相應層上, 處在淺層上的數據對象比深層上的更有可能是離群點[14,15],分配合適的深度值是采用此方法必須解決的問題;基于聚類的算法將數據集分成若干簇, 不屬于任何簇的數據點就是離群點[16],難題在于簇的大小與個數很難確定,比較典型的算法為DBSCAN[17];基于距離的方法假設數據樣本中的某個點在距離上明顯遠離大部分點則會被視為離群點,此方法的缺點在于必須事先確定距離等相關參數,另外,時間復雜度較高,不適用于大數據集;基于密度的方法是基于距離方法的拓展,離群點的密度與周邊正常點的密度差別較大,其同樣具有時間復雜度的問題且密度較難確定.銷售數據均為一個時間對應一個銷售值,因此在處理銷售數據時只需考慮銷售金額這一維度,不需將時間維度考慮在內,從而上述離群點檢測方法中距離、密度等標準在處理銷售數據時并不適用,且不同銷售數據遵循不同規律,較難找到統一的模型.普遍的離群點檢測方法均在所有點具有同樣屬性,即具有可比性的前提下進行試驗,而銷售數據不滿足該前提,因此上述離群點檢測方法并不適用于銷售數據的異常挖掘且無法應用于現實場景.而模型中采用的針對權重曲線的離群點檢測方法適用于普遍銷售數據實現異常發現,另外異常定位的實現也使得該模型具有現實意義.該模型解決了可比性、需尋找合適模型、設定相關參數、甚至算法無效的難題.

3 銷售數據異常發現與定位模型

企業數據量龐大,因此該異常發現與定位模型(Anomaly Detecting and Locating Model, ADLM)在Spark平臺下具體實現,分為兩個部分:異常發現;異常定位.異常發現通過權重曲線和異常判斷挖掘出所有銷售異常數據,而由于連鎖超市經營的門店、大類眾多,互相影響,僅從地區總銷售判斷異常過于片面與粗略,會導致錯漏某些細節異常,比如某一個月從地區上表現為正常,但其中某些大類或門店也可能存在異常,只是這些異常正好被其余大類或門店彌補,從而致使整體正常,因此實現準確的異常定位需要從四個角度進行上述的異常發現并得到結果,分別為總銷售、大類級別總銷售、門店級別總銷售、門店-大類銷售.將四個角度的分析有機結合即可實現責任到人,四個角度分別對應的職位或人員為地區總經理或管理者、大類經理、店長、店內大類主管.

3.1 異常發現

3.1.1 權重曲線

權重曲線與原銷售數據曲線相比具有的特征更清晰、更詳細、更有說服力,對洞悉某些營運現象更有利.對零售業來講,銷售額是一個反映運營現象的重要指標,以得到某個企業月銷售額的權重曲線為例,得到權重曲線主要步驟如下:

(1)

2)計算m月的月權重指數Im.將12個月份中加權和最小的月權重指數設為1.0,其余月份的月權重指數表示為:

(2)

3)計算所有年份每一年中的每個月份的單位權重(月權重值),月權重值表示為:

(3)

3.1.2 異常判斷

將銷售曲線轉換成權重曲線,使得數據之間具有可比性,平衡了節假日等因素的影響.在對轉換后的權重曲線進行離群點的檢測時,異常判斷的方法類似于盒圖最小(最大)觀測值這一思想.該檢測方法的核心思想是首先計算出對應數據的平均值,然后在平均值的基礎上分別以同樣的倍數增加和減少得到兩個閾值,超出閾值的則為離群點即異常數據.在得到權重曲線后異常判斷的步驟如下:

1)計算平均月權重值A.

2)設置閾值Tmin和Tmax.閾值計算如公式(4)和公式(5)所示.

Tmin=(1-β)A

(4)

Tmax=(1+β)A

(5)

3)參數β的確定.β從0開始等差(差值按需求自行設定)遞增,當離群點的個數與總個數之比大于設定的離群率(離群率根據需求設定)時停止遞增,β取值為滿足條件的最大值.

4)若月權重值超出閾值范圍上限,則該月為較好異常,標記為1;若月權重值超出閾值范圍下限,則該月為較差異常,標記為-1;若月權重值在閾值范圍值內,則該月銷售正常,標記為0.

3.2 異常定位

異常定位是指進行異常發現后可以對異常數據進行分析并了解異常出現在哪個層次或者說哪些人需要對該異常負責.

異常定位通過概率模型來解決.在異常定位是涉及到兩個指標:每個異常月份mi各標記(-1/1/0)分別對應的個數占比NRi及銷售數值占比SRi,分別表示如下.

NRi=CSi/Ni

(6)

(7)

其中,CSi表示在異常月份mi各標記分別對應的總個數;Ni表示在異常月份mi各標記的總和;Vj表示異常月份mi對應的銷售數值.每個級別的異常定位具體描述如下:

1)總銷售(地區或企業) .若總銷售在異常月份mi被標記為f (-1或1),且當月大類級別或門店級別同被標記為f的大類或門店統計后的NRi或SRi大于1/2,那么該異常定位于總銷售,責任人員為地區總經理或管理者;否則定位于大類級別或門店級別,負責人員為異常大類的大類經理或異常門店的店長.

2)大類級別/門店級別.若大類級別/門店級別總銷售在異常月份mi被標記為f (-1或1),且門店-大類同被標記為f的門店/大類統計后的NRi或SRi大于1/2,那么該異常定位于大類級別/門店級別總銷售,責任人員為異常大類的大類經理/異常門店的店長;否則定位于門店-大類級別,責任人員為店內大類主管.

3)精準定位.在大類級別/門店級別的異常定位中,當異常定位于門店-大類級別時,結果并不準確,即當從大類級別遞進到門店-大類級別將異常定位于門店-大類級別時只能保證大類級別未出現異常.例如,假設A類在某月出現異常,且當月只有B店內A類出現異常,此時異常會定位于B店A類,責任定位于B店A類主管,而問題在于若B店在門店級別異常定位于門店級別時,那么明顯之前定位的B店A類則并不準確,應該更正為B店.所以要實現更精準的定位,需要將大類級別與門店級別的定位進行有機結合,即當從大類級別出發定位到門店-大類級別時應結合異常門店的門店級別的定位,并當從門店級別出發,異常門店也定位于門店-大類時才可最終從大類級別出發精準定位于門店-大類級別,責任人員為店內大類主管.從門店級別出發同理.

4 實 驗

4.1 基本數據

步步高商業連鎖股份有限公司以Access的形式提供了海量財務數據,共有SHOP、ACCTURE、PERIOD、CATE、YEAR、MONTH、ACCOUNT、VALUE八個字段,各個字段所表示的內容如下:

1)SHOP:長沙西站店、金星店、永安店......(共經營37個門店);

2)ACCTURE:達成率、實際、增長率、預算;

3)PERIOD:當期數、累計數;

4)CATE:床上用品、休閑食品、飲料、熟食......(共經營36個大類);

5)YEAR:FY14、FY15、FY16;

6)MONTH:1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月、12月;

7)ACCOUNT:銷售收入、銷售毛利額、合同收入、總毛利......(共21個項目);

8)VALUE:具體數值.

4.2 數據預處理

此次研究首先確定了ACCTURE、PERIOD、ACCOUNT,分別為實際、當期數、銷售收入,根據該公司的當期實際銷售收入以及模型中異常判斷與定位的相關需求,我們從四個方向進行詳細的分析,分別是長沙地區、大類級別、門店級別,門店-大類級別,因此首先需要針對前三個方向進行數據的預處理,具體如下:

1)長沙地區.將各個月份的銷售收入進行總計,即將所有CATE、SHOP的當期實際銷售收入按月總計得到各個月份的地區總銷售收入.

2)大類級別.將各個月份的銷售收入按照各自不同的CATE進行總計,即對每一個CATE都將所有SHOP的當期實際銷售收入按月總計得到不同大類各個月份的大類級別銷售收入.

3)門店級別.將各個月份的銷售收入按照各自不同的SHOP進行總計,即對每一個SHOP都將所有CATE的當期實際銷售收入按月總計得到不同門店各個月份的門店級別銷售收入.

4.3 實驗環境

由于數據量龐大,此次實驗在以Hadoop為基礎的spark平臺下進行,具體配置如表1所示.

表1 Spark集群環境Table1 Environment of Spark cluster

4.4 實例分析

在此次實際應用中,共從長沙地區、大類級別、門店級別,門店-大類級別四個角度對銷售數據進行異常判斷與定位.其中前三個角度代入模型的初始數據為數據預處理后的數據,確認參數β時的等差差值取值為0.05.在對四個角度均按照模型進行異常發現得到所有相關數據后,匯總各個角度各類異常數據,最后進行異常定位.以下內容以每個角度中的某一個例子來說明模型中異常定位的原理:

1)長沙地區

長沙地區總銷售在異常判斷后結果可視化如圖1所示,圖1表明FY15-01與FY15-09為異常月份.

圖1 長沙地區總銷售Fig.1 Total sales in Changsha

對長沙地區進行異常定位分析時,從逐級追究的概念出發,只需也只能將定位方向確認到大類級別或門店級別,因此首先匯總上述兩個異常月份大類級別與門店級別的各類異常數據,即總計這兩個異常月份大類級別的各類異常大類占比與門店級別的各類異常門店占比,如表2所示.

表2 長沙地區異常統計Table 2 Anomalies statistics in Changsha

根據表2中每個月份中與對應月份異常種類一致的異常大類或門店的個數占比和數值占比進行異常定位,實現責任到人,可得出結果如表3所示.若仍需更加詳細的定位詳細則繼續從如表3中的異常定位的角度下鉆.

表3 長沙地區異常定位與責任到人Table 3 Anomalies positioning and responsibilities to people in Changsha

2) 大類級別

以品類冷凍冷藏為例,結果可視化如圖2所示.圖2表明FY15-07與FY15-08為異常月份.

圖2 長沙地區大類級別(冷凍冷藏)總銷售
Fig.2 Total sales at the level of category(the frozen and the chilled) in Changsha

在各異常月份店內有經營冷凍冷藏的異常門店匯總如表4所示.僅從大類級別出發,異常定位及責任到人結果如表5所示.從逐級追究的概念以及單獨從大類級別出發,僅能將責任確認到地區大類經理或大類主管,從而忽略了店長,因此如表5中的定位并不十分準確,后續第(4)小節中的精準定位是必需的(門店級別同理).

表4 長沙地區大類級別(冷凍冷藏)異常統計Table 4 Anomalies statistics at the level of category (the frozen and the chilled) in Changsha

表5 長沙地區大類級別(冷凍冷藏)異常定位與責任到人Table 5 Anomalies positioning and responsibilities to people at the level of category(the frozen and the chilled) in Changsha

3)門店級別

以金星店為例,結果可視化如圖3所示.圖3表明FY15-01、FY15-02、FY15-06與FY15-08為異常月份.在各異常月份金星店內銷售異常的大類匯總如表6所示.異常定位及責任到人結果如表7所示.

圖3 長沙地區門店級別(金星店)總銷售Fig.3 Total sales at the level of shop(Jinxing Shop) in Changsha表6 長沙地區門店級別(金星店)異常統計Table 6 Anomalies statistics at the level of shop (Jinxing Shop) in Changsha

異常月份異常種類門店-大類異常大類個數占比異常大類數值占比FY15-01(-1)-1休閑用品,冷凍冷藏…17/3355.30%FY15-02(1)1DIY課,休閑食品…1/341.70%FY15-06(1)1沖調飲品,手機數碼部…2/1121.80%FY15-08(-1)-1DIY課,冰箱/冰柜…16/3353.60%

表7 長沙地區門店級別(金星店)異常定位與責任到人Table 7 Anomalies positioning and responsibilities to people at the level of shop(Jinxing Shop) in Changsha

4)精準定位

以上文大類級別冷凍冷藏為例,該大類在FY15-08銷售異常(標記為-1),同時在FY15-08金星店和王家灣店的冷凍冷藏也被判斷為銷售異常(標記為-1),因此大類級別的冷凍冷藏在FY15-08的異常被定位于門店-大類.按照模型中異常定位中精準定位的原理,以金星店為例(王家灣店同理),由上文可知金星店在FY15-08異常被定位于門店級別(標記為-1),因此需將文中大類級別冷凍冷藏在FY15-08的異常定位修正為門店級別(異常門店的店長).反之,在該例中,若金星店或王家灣店在門店級別FY15-08被標記為0或異常同樣定位于門店-大類,則不需修正大類級別冷凍冷藏FY15-08的異常定位.

在大類級別或門店級別中異常被定位于下一級,即門店-大類級別時,均需如上例將大類級別與門店級別結論有機結合得到精準定位,然后返回修正大類級別或門店級別的結果.

4.5 對比實驗與評估

提出的異常發現與定位模型在異常定位這一角度具有創新、獨特的優勢,因此在確認此模型的適用性時僅在異常發現這一角度進行了對比實驗,首先是原始銷售曲線與權重曲線的對比,然后是離群點檢測方法的對比.其中,與異常判斷這一步驟對比的離群點檢測方法采用的是孤立森林(iForest,Isolation Forest).在使用不同方法時使其離群率一致從而保證結果的準確性和可比性.實驗部分詳細結果如表8所示.

表8 部分詳細結果Table 8 Partial detailed results

在總樣本數和離群率確定的情況下,與ADLM異常判斷這一步驟中采取不超過離群率的最大值方法相比,iForest的原理決定了其每一次檢測所得到的離群點個數完全相等且大于等于ADLM異常判斷檢測出的離群點個數.對企業而言,并不是檢測出離群點個數越多越好,其根本需求是找出典型、顯著、對經營影響最大的離群點從而采取措施.ADLM相當于只是設定了最高離群率,在最高離群率的保證下檢測出相對顯著的離群點這一方法較好的解決了這一需求,顯然iForest無法做到.綜上在超市相關人員確認下各方法總體準確率對比如表9所示.

表9 各方法對比結果Table 9 Comparison of each method

5 結束語

隨著大數據的興起,各個行業日趨重視自身的大數據挖掘,零售行業也不例外.本文通過對銷售數據異常挖掘模型的構建研究銷售大數據,實現對銷售數據的異常判斷與定位.同時通過該模型在步步高連鎖超市的實際應用驗證了該模型的可行性.未來的工作是希望實現銷售數據的準確預測,對管理、決策起到輔助作用.

猜你喜歡
大類離群級別
一種基于鄰域粒度熵的離群點檢測算法
基于相關子空間的高維離群數據檢測算法
中國第一個中級別舉重奧運冠軍
———占旭剛4
基于BSTL與XGDT算法對多級別心理壓力的評估
世界最大級別集裝箱船“宇宙號”
級別分明
近荷獨坐
談大類招生背景下音樂教育課程的創新與發展
數字
化學學科大類人才培養研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合