摘要:【目的】為提高卷煙市場信息自動采集數(shù)據(jù)準確性,為營銷決策提供基礎信息,為廣西煙草“243”市場監(jiān)測和“1244”營銷模型提供扎實數(shù)據(jù)支撐,【方法】構(gòu)建了“異常預警”、“綜合預測”兩大內(nèi)核驅(qū)動器,提出了將前沿的深度學習算法——TabNet模型應用于解決信采點數(shù)據(jù)準確性問題,建立庫存準確性模型,挖掘出更深層、復雜、全面的影響關系,根據(jù)零售客戶近期經(jīng)營表現(xiàn)預測未來庫存不準確的概率,得到更優(yōu)的預測效果,實現(xiàn)對信采點數(shù)據(jù)準確性的每日監(jiān)測。本研究也配置開發(fā)相關應用功能,開發(fā)數(shù)字化產(chǎn)品“信采點監(jiān)測”,以企業(yè)微信為載體和渠道,助力打造面向零售客戶和客戶經(jīng)理的閉環(huán)流程機制,同時展現(xiàn)監(jiān)測與反饋的統(tǒng)計數(shù)據(jù),讓各級人員“隨時隨地看數(shù)”,及時了解數(shù)據(jù)質(zhì)量監(jiān)管的工作情況,有效賦能信息采集數(shù)據(jù)質(zhì)量監(jiān)管工作,顯著提升工作質(zhì)效。
1、前言
1.1 研究背景
在國家局“總量控制、稍緊平衡、增速合理、貴在持續(xù)”十六字方針指引下,廣西煙草公司制定了“均衡銷售、區(qū)間調(diào)控、狀態(tài)優(yōu)先、實事求是”的方法策略,堅持以市場需求為導向,以市場狀態(tài)為實施策略的評判標準。為了解市場狀態(tài),優(yōu)化卷煙營銷策略,實現(xiàn)精準營銷,廣西煙草公司研發(fā)終端信息采集云POS系統(tǒng),出臺《廣西煙草公司卷煙市場信息自動采集管理辦法》,推進卷煙市場信息自動采集工作,為推動需求預測、貨源組織、貨源投放和品牌培育,提供了重要數(shù)據(jù)支撐。
2021年末,廣西煙草公司構(gòu)建了覆蓋1.3萬戶零售客戶的信息采集網(wǎng)絡,積累了海量數(shù)據(jù),如何對海量數(shù)據(jù)準確性進行監(jiān)測,成為當前信息采集工作質(zhì)量提升的瓶頸。以來賓市局(公司)為例,依托零售客戶信息采集系統(tǒng),建立了700多戶信采點。在日常工作中,核對信采點數(shù)據(jù)準確性,需要定期進行入戶盤點核查,耗費了大量的人力成本,在技術(shù)層面,對數(shù)據(jù)準確性判斷上,仍然缺少行之有效的檢測、監(jiān)測手段。
根據(jù)信采點正式運行后總結(jié)的經(jīng)驗,我們發(fā)現(xiàn)數(shù)據(jù)采集質(zhì)量較低的信采點客戶,都有一些共性的特點或遇到相同的問題,例如:部分客戶同時使用兩套POS系統(tǒng),即煙草的云POS系統(tǒng)和非煙商品POS系統(tǒng),在售賣商品時,需要頻繁切換甚至進行兩次掃碼,操作繁瑣;部分看店人員年齡偏大,存在電腦操作能力差;部分店面業(yè)態(tài)為雜批部的客戶,店內(nèi)貨物商品較多,看店人手不足,不能及時進行掃碼等等。由于存在以上情況,導致采集的數(shù)據(jù)質(zhì)量、分析價值不夠高。
信息采集監(jiān)管工作也存在著諸多問題,亟需通過技術(shù)手段進行改善或解決,例如:各環(huán)節(jié)數(shù)字化程度不高、人工處理與操作較多、數(shù)據(jù)流轉(zhuǎn)與推送不及時、整體流程工作效率低、反饋渠道不順暢導致未形成良好的閉環(huán)管理機制、等等。這些問題也會導致信息采集質(zhì)量得不到提升,監(jiān)管工作未見明顯成效。
1.2 研究現(xiàn)狀
POS系統(tǒng)數(shù)據(jù)準確性問題在統(tǒng)計學上屬于對離群值或異常值的判斷。業(yè)界有關研究提出了很多相應的解決辦法,主要有管理措施和技術(shù)手段兩方面。
在管理措施上,煙草行業(yè)普遍做法是優(yōu)化工作流程、規(guī)范掃碼習慣、加大軟硬件投入、加強培訓和指導、提升使用體驗、建立激勵機制等等。
在技術(shù)手段上,從目前的研究文獻來看,主要有以下方式:(1)憑借業(yè)務經(jīng)驗或規(guī)則。憑借過往業(yè)務經(jīng)驗以及對數(shù)據(jù)的敏感性設計邏輯規(guī)則,判斷數(shù)據(jù)采集是否異常或不準確。(2)使用概率統(tǒng)計模型。對給定的數(shù)據(jù)集設計一個概率分布模型,在某個顯著水平上確定拒絕域(即出現(xiàn)概率很小的區(qū)間),如果數(shù)據(jù)落在拒絕域,則認為異常。(3)運用機器學習或深度學習算法建立預測模型。根據(jù)過往已知的信息判斷當前數(shù)據(jù)是否異?;虿粶蚀_。
2 研究思路
2.1 研究目的
本研究針對如何應用數(shù)據(jù)算法實現(xiàn)對信采點客戶數(shù)據(jù)準確性的有效監(jiān)測進行探索和研究,在此基礎上利用當前的互聯(lián)網(wǎng)技術(shù),開發(fā)數(shù)字化產(chǎn)品,將監(jiān)測結(jié)果以合適的方式展現(xiàn)或推送給各級人員,提醒客戶經(jīng)理或客戶及時關注和處置,并收集反饋,減少客戶經(jīng)理走訪頻次,提升工作質(zhì)效,提升數(shù)據(jù)質(zhì)量。
2.2 整體思路
本研究聚焦分析與應用兩大方面,整體思路如下圖所示。
分析層,以云POS為主要數(shù)據(jù)來源,融合外部數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗、加工、計算,搭建“異常預警”、“綜合預測”兩大模型,實現(xiàn)對信采點數(shù)據(jù)質(zhì)量的監(jiān)測,向應用層輸出監(jiān)測結(jié)果。
應用層,以企業(yè)微信為載體和渠道,開放第三方應用——信采點監(jiān)測,向各級人員呈現(xiàn)監(jiān)測數(shù)據(jù),自動向相關人員或客戶推送消息,支持線上反饋;另外,面向管理員、分析人員開放后臺管理系統(tǒng),支持用戶管理、權(quán)限控制、報表查詢和導出等。
異常預警是在深入了解業(yè)務現(xiàn)狀的基礎上,設計關鍵指標及其預警閾值,對每個信采點客戶,每天自動根據(jù)近期經(jīng)營數(shù)據(jù)計算出關鍵指標值,如果超出閾值,則觸發(fā)預警。搭建異常預警模型,可以很好地契合營銷部門現(xiàn)有的工作模式,采用的關鍵指標及閾值的選定,在業(yè)務上已得到驗證,一旦超出閾值,則被認定為系統(tǒng)數(shù)據(jù)不準確,而且指標簡單明了,已經(jīng)很好地被營銷部門和客戶經(jīng)理所理解和接受。
綜合預測是利用深度學習中的TabNet算法建立客戶庫存準確性模型,根據(jù)客戶的基本信息及近期經(jīng)營表現(xiàn),預測出客戶未來系統(tǒng)庫存不準確的概率,從而推斷出系統(tǒng)數(shù)據(jù)的準確性。
異常預警模型采用了影響客戶數(shù)據(jù)準確性較大的幾個關鍵指標,做法簡單,僅考慮了單一、線性的影響作用。但現(xiàn)實情況往往是多個指標綜合、非線性的相互作用形成,而且除了幾個關鍵指標影響外,客戶數(shù)據(jù)準確性還可能受到來自其它因素的影響。綜合預測模型,考慮了更多影響因素,建立了更復雜的關聯(lián)關系,是對異常預警模型的更好補充。另外,相比異常預警模型,綜合預測模型實現(xiàn)了對客戶數(shù)據(jù)準確性更為提前的預判,支持客戶經(jīng)理更早地采取行動。
本研究還融合了兩大模型結(jié)果,通過預測概率對發(fā)生預警的客戶進行排名,根據(jù)排名先后進行合理配置資源來安排跟進/干預。對于未發(fā)生預警但預測概率高的客戶,可以深入了解背后的真實原因,進一步完善預警指標體系建設。
圖1.整體思路設計架構(gòu)
3 異常預警
3.1 數(shù)據(jù)準備
經(jīng)過前期調(diào)研了解到,客戶數(shù)據(jù)主要來自云POS,有基本信息(如經(jīng)營規(guī)模、經(jīng)營業(yè)態(tài)、市場類型、檔位、銷售環(huán)境等)、經(jīng)營數(shù)據(jù)(如掃碼筆數(shù)、銷售額、系統(tǒng)庫存等)、購進數(shù)據(jù)等信息。其中,由于多掃、少掃、漏掃等掃碼問題存在導致經(jīng)營數(shù)據(jù)與實際情況時常有偏差,不一定真實可靠。
以客戶為中心,將基本信息、經(jīng)營數(shù)據(jù)、購進數(shù)據(jù)等數(shù)據(jù)整合起來,經(jīng)過清洗、加工、計算,形成原始寬表。然后衍生出相關的分析指標,形成用于建立分析模型的樣本數(shù)據(jù)。
3.2 指標設計
本研究在深入了解零售客戶日常掃碼情況以及營銷部門對信采點客戶數(shù)據(jù)準確性的監(jiān)管工作之后,設計并采用如下七大指標來構(gòu)建異常預警模型。
(1)指標1:掃碼條數(shù)為負數(shù)
實際情況下,系統(tǒng)中的掃碼條數(shù)不可能為負,如果為負數(shù),則被認定為人為修改數(shù)據(jù)。
(2)指標2:掃碼條數(shù)為0
如果掃碼條數(shù)為0,則說明當天不營業(yè)或者沒有售賣。實際情況下,零售客戶一般以賣煙為主業(yè),不營業(yè)的概率很低。
(3)指標3:掃碼條數(shù)為整數(shù),且前一天也為整數(shù)
連續(xù)兩天掃碼條數(shù)為10的整數(shù)倍數(shù)的客戶占比僅為1%,如果出現(xiàn),則認為該客戶后期整條整條地補充掃碼。
(4)指標4:近3天離均差率大于1倍
其中,近3天離均差率=|(當天掃碼條數(shù)-近3天日均掃碼條數(shù))|/近3天日均掃碼條數(shù)≥1,且排除當天有購進情況。近3天離均差率衡量的是當天掃碼條數(shù)偏離近3天平均水平多少。如果近3天離均差率≥1,說明當天掃碼條數(shù)要么出現(xiàn)0或者負數(shù),要么大于等于近3天日均掃碼條數(shù)的2倍,這等同于出現(xiàn)了極大值,被視為掃碼不正常,需要及時關注。
(5)指標5:從6日開始,當月離均差率大于1倍
其中,當月離均差率=|(當天掃碼條數(shù)-當月日均掃碼條數(shù))|/當月日均掃碼條數(shù)≥1,且排除當天有購進情況。當月離均差率衡量的是當天掃碼條數(shù)偏離當月平均水平的多少。如果當月離均差率≥1,說明當天掃碼條數(shù)要么出現(xiàn)0或者負數(shù),要么大于等于當月日均掃碼條數(shù)的2倍,這等同于出現(xiàn)了極大值,即被視為掃碼不正常,需要及時關注。
(6)指標6:從6日開始,客戶庫存可銷天數(shù)大于60天
客戶庫存可銷天數(shù)為客戶當天期末庫存/當月日均掃碼條數(shù),即庫存周轉(zhuǎn)天數(shù)。也就是說,按當月平均銷售水平,客戶當前的庫存還能賣多少天。如果該值大于60天,則認為客戶的系統(tǒng)數(shù)據(jù)出現(xiàn)異常,需要及時關注。
(7)指標7:掃碼條數(shù)小于當月次均購進數(shù)/α
這里,客戶購進頻率不同,α取值也不同,周訪α為50,半月訪α為70,月訪α為90。如果客戶掃碼條數(shù)小于當月次均購進數(shù)/α,則客戶賣得少,或者說掃碼少,但進貨很多,導致在下一次進貨時,積壓了大量庫存,系統(tǒng)庫存很大。這說明系統(tǒng)數(shù)據(jù)很可能出現(xiàn)了異常,或者掃碼不正常,需要及時關注。
從七大指標的定義來看,異常預警是通過判斷掃碼數(shù)是否異常(負數(shù)、0或整數(shù))、掃碼數(shù)是否極大(與近期掃碼量比)、掃碼數(shù)與庫存或購進數(shù)的對比等方面來對信采點客戶進行預警。
3.3 結(jié)果計算與應用
對每個信采點客戶,異常預警模型根據(jù)指標1-7判斷其是否觸發(fā)預警,并標記出對應的異常原因。每個信采點客戶可能會出現(xiàn)多個指標預警,也可能不會觸發(fā)任何預警。
為了讓預警效果發(fā)揮出應有的作用,營銷部門或客戶經(jīng)理需要很好地理解每個預警指標背后的業(yè)務含義,而且針對不同的異常原因,預先指定對應的干預措施或方案??蛻粢坏┌l(fā)生預警,客戶經(jīng)理可以快速根據(jù)模型給出的異常原因采取針對性的干預措施,無需花費時間深挖其異常原因和明確相應的干預措施,從而提升工作效率。
圖2.異常預警模型
4 綜合預測
4.1明確目標
在云POS系統(tǒng)中,每個客戶的庫存、銷售量、購進量三者之間是相互作用、相互影響的關系。客戶系統(tǒng)數(shù)據(jù)不準確,與實際情況存在偏差,是由日常經(jīng)營過程中不掃碼、漏掃碼或多掃碼引起的,直觀反映在系統(tǒng)中就體現(xiàn)為掃碼量與實際有偏差。而購進量一般情況下是被真實記錄的,因此,掃碼量出現(xiàn)偏差,等同于認為客戶的系統(tǒng)庫存與實際庫存不一致。
本研究構(gòu)建的綜合預測模型,運用深度學習算法,根據(jù)客戶的基本信息以及近期經(jīng)營表現(xiàn)或波動,來推斷客戶未來系統(tǒng)庫存與實際庫存是否不一致,實現(xiàn)對客戶數(shù)據(jù)準確性的監(jiān)測。
但是,如果系統(tǒng)庫存與實際庫存完全一致才被認定數(shù)據(jù)準確,這樣定義過于嚴格,考慮適當放寬。根據(jù)廣西區(qū)局《自動采集管理辦法》要求,總量、品規(guī)實物庫存準確率>=90%,則認為準確率達標。
據(jù)此,本研究構(gòu)建的綜合預測模型的目標定義(即目標變量)為:
如果零售客戶的系統(tǒng)庫存與實際庫存的偏差大于10%,則認為系統(tǒng)庫存不準確。其中,系統(tǒng)庫存與實際庫存的偏差=|系統(tǒng)庫存-實際庫存|/系統(tǒng)庫存*100%
4.2 原因分析與指標設計
如上所述,客戶系統(tǒng)數(shù)據(jù)不準確,表面上是日常經(jīng)營過程中不掃碼、漏掃碼或多掃碼引起的。深入調(diào)研后,我們總結(jié)以下幾方面可能導致系統(tǒng)庫存不準確的真實原因或表現(xiàn)特征,并設計相應的分析指標。
不同客戶有不同的原因和特征,在不同時間也可能有不同的原因和特征。
經(jīng)過上述原因分析,在充分了解源數(shù)據(jù)的基礎上,設計出合理的分析指標,構(gòu)建用于訓練樣本數(shù)據(jù)集。分析指標的設計,要考慮到源數(shù)據(jù)真實、準確且易得。本研究設計的分析指標見下表。
表1.指標設計
4.3 模型建立
4.3.1 模型簡介
本研究構(gòu)建的綜合預測模型解決的是預測類的問題,是從已知結(jié)果的數(shù)據(jù)挖掘提煉出隱藏在數(shù)據(jù)背后的規(guī)則或知識,對未知結(jié)果的數(shù)據(jù)應用這些規(guī)則或知識可以有效地推測出可能出現(xiàn)的結(jié)果。對本研究來說,我們即是要從已經(jīng)知道庫存準不準確(即系統(tǒng)庫存與實際庫存是否一致)的樣本數(shù)據(jù)中提煉出某些規(guī)則或知識,并將之應用于其它樣本數(shù)據(jù),判斷這些樣本的庫存準不準確。
可見,預測模型的建立需要有已知結(jié)果的真實數(shù)據(jù)(即訓練樣本)。為獲取真實樣本數(shù)據(jù)用以建模,來賓煙草公司于2022年4月組織安排客戶經(jīng)理每周對730個信采點進行盤點庫存,記錄每個信采點的系統(tǒng)庫存和實際庫存,持續(xù)進行4-5周,共收集2900條數(shù)據(jù)(含實際庫存)。去掉無效數(shù)據(jù)后得到2770條數(shù)據(jù),這將作為訓練樣本的數(shù)據(jù)基礎。
依據(jù)上述的目標定義和分析指標,計算得到每個訓練樣本的目標變量(Y)和分析指標(X,即分析指標x1、x2…xn的統(tǒng)稱)。建立預測模型,則是通過對訓練樣本不斷學習、訓練,最終確定出目標變量Y和分析指標X之間的關聯(lián)關系(可用公式f(X)→Y來表示)。那么,對于已知X但未知Y的樣本,就可以用f(X)→Y來計算出可能的Y(即Y的預測值,記為)。
應業(yè)務要求,綜合預測模型將進行每天預測,預測未來1天的庫存準不準確。
要做到提前預測,需要合理設計時間窗,即訓練樣本中的目標變量Y的時間粒度是一天,其日期應在分析指標X的日期之后的第二天。例如,如果訓練樣本的目標變量Y的日期是6月2日,那么分析指標X所使用的數(shù)據(jù)則是5月31日及其之前的數(shù)據(jù)。
模型每天預測時,今天做預測,使用的是客戶昨天及其之前的數(shù)據(jù),而預測的則是明天庫存準不準。這樣的話,客戶經(jīng)理就能在今天采取行動,提前預防明天可能發(fā)生的事情。
圖3.時間窗口設計
4.3.2算法介紹
本研究構(gòu)建的綜合預測模型采用深度學習中的TabNet算法,這是2020年Google 提出的一種用于處理表格數(shù)據(jù)的深度學習網(wǎng)絡模型。它通過類似于加性模型的順序注意力機制實現(xiàn)了特征選擇和自監(jiān)督學習,集合了DNN(深度神經(jīng)網(wǎng)絡)和決策樹的優(yōu)點,既有決策樹的優(yōu)點(可解釋性和稀疏特征選擇),又有DNN的優(yōu)點(表征學習和端對端訓練)。
表格數(shù)據(jù)是日常用到最多的數(shù)據(jù)類型,即我們常說的結(jié)構(gòu)化數(shù)據(jù),包含類別數(shù)據(jù)(或特征)和數(shù)值數(shù)據(jù)。TabNet使用原始的數(shù)值數(shù)據(jù),并用可訓練的embedding將類別特征映射為數(shù)值特征。TabNet不使用全局歸一化的特征,而是使用批正則化(BN)。TabNet采用序列化多步處理實現(xiàn)自上而下的注意力機制,每次決策輸入相同B×D的特征矩陣,BN后得到新的特征表示(仍為B×D),B是每次處理的數(shù)據(jù)量,D是特征維度。第i次決策的特征選擇由第i-1次所傳遞的信息決定,并對所選特征進行處理,最后將所有結(jié)果進行融合,根據(jù)任務類型連接相應的激活函數(shù)輸出。
圖4.TabNet網(wǎng)絡結(jié)構(gòu)
下面對幾個重要部分進行說明。
(1)Attentive transformer(注意力轉(zhuǎn)移器)——特征選擇
圖5. Attentive transformer
在注意力轉(zhuǎn)移器中產(chǎn)生的Mask(掩碼)矩陣的計算公式為:
M[i]=Sparsemax(P[i-1]·hi(a[i-1]))
其中,i代表當前決策,a[i-1]是上一次決策中通過切分得到的特征信息B×Na,hi(·)代表FC+BN層。P[i-1]是先驗尺度項,公式為,表示特征在之前決策中的使用程度。其中,γ是稀疏正則項權(quán)重,用于對特征稀疏性添加約束,γ越小,則特征選擇越稀疏。
Sparsemax函數(shù)類似于Softmax函數(shù),但Sparsemax可以得到更稀疏的結(jié)果(取值集中于0或1附近,中間取值狀態(tài)少),因此M[i]值分布比較稀疏,集中在0或1附近,從而起到了特征選擇的目的。
Sparsemax對每個樣本b的每個特征j實現(xiàn)了權(quán)重的分配,并使每個樣本的所有特征的權(quán)重和為1,從而實現(xiàn)特征選擇[8]。
為了控制所選特征的稀疏性,引入一個稀疏正則項,公式如下:
其中,是個很小的數(shù)值,用來保證數(shù)值的穩(wěn)定性,Lsparse會以權(quán)重λsparse作為系數(shù)加入到最終損失函數(shù)中。加入此項是為了讓M[i]的分布盡量趨近于0或1??紤]到
,正則項Lsparse反映的是M[i]的稀疏程度,Lsparse越小,M[i]越稀疏。
(2)Feature Transformer(特征轉(zhuǎn)換器)——特征處理
圖6.Feature Transformer
特征轉(zhuǎn)換器由兩部分組成,前半部分為參數(shù)共享層(在所有決策中參數(shù)共享),用于提取特征的共性,這種設計參數(shù)更新量少,學習更加魯棒;后半部分為參數(shù)獨立層(在每次決策中參數(shù)不共享),用于提取每次決策中的特征,參數(shù)獨立使得每次決策可能具有不同的特征處理能力,特征處理更加有效。兩部分均采用FC+BN+GLU的單元方式,其中FC為全連接層,BN為批正則化,GLU為x*sigmoid(x)。每個單元之間乘以進行殘差連接,是為了防止模型方差發(fā)生劇烈變化,從而穩(wěn)定訓練過程。
(3)TabNet模型的可解釋性
假設輸入樣本,維度為B×D,當樣本b在第i次決策時,經(jīng)過特征轉(zhuǎn)換器得到維度B×D,然后切分得到1×Na、1×Nd,其中1×Nd記為db[i],然后db[i]將經(jīng)過ReLU函數(shù)后求和得到,用如下公式來表示樣本b在第i次決策內(nèi)的貢獻:
其中,j為Nd中的一個維度。可以看出,當db,j<0時對最終的輸出無貢獻。
樣本b在第i次決策中的貢獻值與其特征重要性矩陣Mb,j[i]相乘,然后將樣本b在每次決策的結(jié)果求和。當越大,對模型的影響越顯著,可以作為在第i次決策中對特征重要性矩陣Mb,j[i]的加權(quán),利用如下公式來定義樣本b的各個特征j的重要性:
然后將Magg-b,j按行進行歸一化,即除以樣本b在所有特征的重要性之和,公式如下:
4.3.3 數(shù)據(jù)預處理
(1)預處理
由于樣本數(shù)據(jù)中可能還存在著噪音數(shù)據(jù)、無用數(shù)據(jù)、異常數(shù)據(jù)等問題,如果直接使用樣本數(shù)據(jù),則必然會影響模型的訓練質(zhì)量與預測精度。因此,訓練模型之前需要進行數(shù)據(jù)預處理。本模型的數(shù)據(jù)預處理工作包括缺失值填充、異常值處理、數(shù)據(jù)標準化以及離散變量處理。其中,缺失值填充主要使用眾數(shù)、均值或某個常數(shù)來替換缺失值,根據(jù)指標不同而使用的值有所不同;異常值處理是針對數(shù)值型指標進行的,如掃碼條數(shù),其值大于極大值(即Q3+k*IQR)則用極大值替換,小于極小值(即Q1-k*IQR)則用極小值替換,Q1、Q3分別為1/4、3/4分位數(shù),IQR=Q3-Q1,這里k為3;數(shù)據(jù)標準化則通過TabNet算法內(nèi)置的特征正則化和局部歸一化來進行;離散變量處理,則對銷售環(huán)境、經(jīng)營業(yè)態(tài)、銷售規(guī)模、品牌寬度、經(jīng)營人員數(shù)量、年齡、學歷等這些離散變量的值進行編碼,對其值用1、2、3……等數(shù)字進行轉(zhuǎn)換,編碼保持了值之間的次序或大小關系。
(2)數(shù)據(jù)增強
本模型的訓練樣本少,只有2770條數(shù)據(jù),且正樣本比例僅為6.5%,存在類別不均衡問題。一般情況下,如果類別不平衡比例超過4:1(即正樣本比例<10%),那么預測模型會大大地因為數(shù)據(jù)不平衡性而無法達到預測目的[2.4],因此,需要處理這種類別不平衡問題。
訓練樣本少也會帶來這樣的問題,即雖然有些指標的一些值的正樣本比例很高,但這些值的數(shù)據(jù)量很少,并不足以支撐其在模型訓練過程中發(fā)揮出重要的影響作用,極易被忽視。例如,訓練樣本中,昨天掃碼條數(shù)為負數(shù)的樣本,僅有19條,正樣本比例高達78%,而昨天掃碼條數(shù)不為負數(shù)的樣本中包含正樣本的比例僅為6.0%,這表明,昨天掃碼條數(shù)為負數(shù)這一先驗條件對正樣本的預測區(qū)分能力很強。但是,由于數(shù)據(jù)量少,昨天掃碼條數(shù)為負數(shù)這一先驗條件被忽略了。
因此,我們采用數(shù)據(jù)增強的方法,適當復制或擴充某些指標中正樣本比例很高的值的樣本數(shù)據(jù),從而確保這些指標能被模型有效地訓練學習到。最終得到的訓練樣本共3267條,正樣本比例為21.76%。
表1.具體指標的樣本分布
4.3.4 模型訓練
本研究主要使用Python進行數(shù)據(jù)處理和建模分析,使用Pytorch_tabnet庫中的TabNetClassifier()來訓練模型。
(1)拆分數(shù)據(jù)集
為防止過擬合,我們將訓練樣本拆分成兩個數(shù)據(jù)集,隨機抽取70%的數(shù)據(jù)作為訓練集,用于訓練模型參數(shù);其余的30%作為測試集,用于驗證模型效果。
模型訓練則是對訓練集進行訓練學習,得到模型,并使用測試集數(shù)據(jù)進行預測,然后利用訓練集和測試集上的數(shù)據(jù)結(jié)果,計算出評估指標,對預測效果進行評估。如果經(jīng)過評估后,認為模型效果理想,則將模型進行部署起來,用于預測新的數(shù)據(jù)。如果模型效果不理想,則需要持續(xù)迭代優(yōu)化模型。整體流程如下:
圖7.模型訓練
(2)變量選擇
本研究設計的分析指標較多,指標之間可能存在著很大相關性。我們也不知道各指標對模型的影響程度如何。如果所有變量都用來訓練模型,耗費較多時間,而且容易出現(xiàn)過擬合。因此,我們會預先從設計的指標中篩選出較為顯著的指標,進入模型,降低特征維度,避免維度災難。
指標選擇最常用的方法有相關系數(shù)、主成分分析、直方圖、單變量回歸、變量聚類等。另外,如上所述,TabNet模型訓練過程中也會進行指標選擇。
在本模型中,我們先根據(jù)指標的統(tǒng)計分布情況,排除分布極為不均的指標,其次根據(jù)指標之間的相關系數(shù),相關系數(shù)>0.6的兩個指標,僅選擇其一,然后利用主成分分析法將多個原始指標變換成少數(shù)綜合指標(即主成分,多個原始指標的線性組合),這些綜合指標有9個,涉及21個原始指標,累計方差貢獻率達到85%以上。
(3)訓練學習
我們采用TabNetClassifier()來構(gòu)建TabNet模型,利用訓練集進行訓練學習。模型采用Adam算法進行迭代優(yōu)化,最多執(zhí)行100次迭代訓練,直到損失函數(shù)最小。損失函數(shù)使用默認的Cross-entropy損失函數(shù)。
TabNet模型參數(shù)設置如下:
圖8.TabNet模型實現(xiàn)代碼(部分)
如下圖所示,模型訓練在第58次迭代時停止,而在第48次迭代時達到最優(yōu),對正樣本的預測準確率達到0.89301。
圖9.模型訓練過程信息
4.3.5 模型評估
(1)總體預測準確率
我們將概率>0.5判斷為正樣本(即1),概率<0.5為負樣本(即0),分別統(tǒng)計實際0、1被分別預測為0、1的樣本數(shù)各多少,如下表2、3所示,本模型在訓練集、測試集上的總體預測準確率比較接近,分別為87.8%、85.4%。
表2.混淆矩陣(訓練集)
表3.混淆矩陣(測試集)
備注:0-負樣本(即庫存準確),1-正樣本(即庫存不準確)
(2)正樣本的預測區(qū)分能力
根據(jù)概率由高到低對樣本進行排序,等量分為20個箱(每箱樣本數(shù)相等),第一個箱概率最高,最后一個箱概率最低。對第i個箱來說,
累計命中率=前i個箱的正樣本數(shù)/前i個箱的樣本總數(shù),表示模型給出概率最高前i個箱的樣本,實際“命中”多少比例的正樣本;
累計提升率=前i個箱的正樣本比例/總體正樣本比例,表示模型給出概率最高前i個箱的正樣本比例是從總體隨機抽取的正樣本比例的多少倍,即使用模型比不使用模型要“好”多少;
累計召回率=前i個箱的正樣本數(shù)/總體正樣本數(shù),表示模型給出概率最高前i個箱的樣本實際“召回”多少正樣本,占全部正樣本的多少。
訓練集和測試集每個箱的評估指標結(jié)果如下所示,在前幾個箱上,訓練集的累計命中率、累計提升率、累計召回率均略高于測試集,說明模型在訓練集上的表現(xiàn)略優(yōu)于測試集,存在一定的過擬合,但模型在測試集上的表現(xiàn)良好,預測效果總體上較為理想,可以接受。
表4.模型預測效果
如下圖所示,訓練集和測試集的累計命中率、累計提升率曲線均隨著箱號遞增(或概率遞減)而單調(diào)下降,累計召回率曲線則隨著箱號遞增而單調(diào)上升。
概率排名前10%(即箱0-1)的命中率均在70%以上,提升率在3.3以上。這說明模型給出概率前10%的名單中將有七成以上的樣本系統(tǒng)庫存確實不準確。如果從總體中隨機抽取同樣多的名單,僅有兩成左右的樣本系統(tǒng)庫存不準確。
概率排名前30%(即箱0-1)的召回率在80%以上。如果希望跟進的名單能覆蓋到80%系統(tǒng)庫存不準確的客戶,則僅需要對總體30%的客戶進行跟進,而不使用模型,則需要對總體80%的客戶進行跟進才達到同樣的效果。因此,使用本模型可有效提升工作效率。
圖8.評估指標曲線圖
(3)模型指標
模型最終選擇了21個指標,各指標對模型的重要性如下圖所示。
從中看出,掃碼條數(shù)是否負數(shù)、整體或0,對模型的影響很大。一旦客戶的掃碼條數(shù)為負數(shù)、整數(shù)或0,模型很可能認為該客戶系統(tǒng)庫存不準確,這也與此前業(yè)務經(jīng)驗判斷較為一致,符合預期。
掃碼時段數(shù)、掃碼集中度、掃碼時段是否達8時段這三個指標,重要性排名靠前,說明客戶集中掃碼,容易發(fā)生少掃或漏掃,從而導致系統(tǒng)庫存不準確。
掃碼條數(shù)近3日離均差率,反映客戶的經(jīng)營波動情況,如果客戶出現(xiàn)較大的波動,也有可能是系統(tǒng)庫存不準確。
近3次購進條數(shù)與掃碼條數(shù)之比、近7次購進條數(shù)與掃碼條數(shù)之比、昨天庫存與近30天日均掃碼條數(shù)之比等指標,即購銷比、存銷比如果異常,也有可能被模型預判為系統(tǒng)庫存不準確。
另外,檔位、經(jīng)營業(yè)態(tài)、銷售規(guī)模等偏靜態(tài)指標,對模型也有一定的影響。
總體上看,模型最終選擇的指標及重要性,與上述提到的業(yè)務原因或表現(xiàn)特征頗為吻合,符合預期。
表5.模型指標及重要性
4.4 模型應用
模型訓練好了之后,可以將模型部署起來,實現(xiàn)每日自動預測,預測客戶明天的系統(tǒng)庫存不準確的概率,并將概率>0.5的客戶標記為風險客戶,即系統(tǒng)庫存不準確的客戶。
表6. 模型預測結(jié)果(示例)
針對模型提供的風險客戶名單來開展客戶維護工作,重點跟進和維護名單中的客戶,可以讓工作更加聚焦,提高工作效率。通過將模型預測結(jié)果在合山局(營銷部)測試使用,分4個周期對預測概率大于0.5的5戶客戶現(xiàn)場核查系統(tǒng)與實物庫存偏差情況,有18戶次總量、單品規(guī)格準確率低于90%,預測準確率達到90%。
針對每個客戶,除預測概率外,模型還給出了各個指標影響預測概率的重要性排名。這將幫助客戶經(jīng)理進一步深入了解客戶系統(tǒng)不準確的可能原因,采取合適的跟進措施,讓工作更加有針對性,有的放矢。
由于業(yè)務場景、商業(yè)環(huán)境、客戶自身等多種因素會隨著時間的推移而發(fā)生變化,業(yè)務數(shù)據(jù)及其特征也會相應地發(fā)生變化,繼續(xù)沿用原來的模型,必然會出現(xiàn)預測越來越不準確的情況。因此,模型不是一成不變的,可視情況而定,重新訓練模型,實現(xiàn)動態(tài)優(yōu)化或調(diào)整模型及其參數(shù),以保證良好的模型預測效果。
5 業(yè)務應用
有了“異常預警”、“綜合預測”兩大內(nèi)核驅(qū)動器之后,本研究也在此基礎上配置了相關的應用功能,打造出數(shù)字化產(chǎn)品——信采點監(jiān)測,使之真正有效賦能于營銷部門的信息采集質(zhì)量監(jiān)管工作。
本研究所開發(fā)的信采點監(jiān)測系統(tǒng),內(nèi)嵌在企業(yè)微信中,以企業(yè)微信為載體和渠道,將監(jiān)測數(shù)據(jù)開發(fā)給內(nèi)部各級人員,“隨時隨地看數(shù)”,不同層級的人員擁有不同的數(shù)據(jù)權(quán)限。除了監(jiān)測數(shù)據(jù)展現(xiàn),信采點監(jiān)測系統(tǒng)還提供消息推送、線上反饋等功能,目的是為了加快推動營銷部門建設關于信息采集監(jiān)管工作的閉環(huán)流程。
(1)零售客戶
在零售客戶側(cè),信采點監(jiān)測系統(tǒng)可以助力建立“監(jiān)測-提醒-處置-反饋”的閉環(huán)流程機制。系統(tǒng)對每個零售客戶定時監(jiān)測,一旦發(fā)生預警或被預測高風險,則通過企業(yè)微信窗口向客戶發(fā)送消息,提醒客戶核查數(shù)據(jù),當客戶核查完畢后,可在消息頁面填寫核查情況,完成線上反饋。
(2)客戶經(jīng)理
對客戶經(jīng)理來說,信采點監(jiān)測系統(tǒng)可以助力建立“監(jiān)測-提醒-跟進-處置-反饋”的閉環(huán)流程機制。系統(tǒng)對每個零售客戶定時監(jiān)測,并通過企業(yè)微信窗口向客戶經(jīng)理發(fā)送監(jiān)測統(tǒng)計信息,客戶經(jīng)理被動接受并及時關注,登錄系統(tǒng)了解相關情況,確定跟進措施,然后通過微信、電話、實地走訪等方式接觸客戶,了解實際情況,并進行處置,督促客戶改進,最后在系統(tǒng)中填寫跟進情況,完成線上反饋。
(3)管理層
零售客戶、客戶經(jīng)理兩側(cè)的閉環(huán)流程機制需要持續(xù)長期的建設。對管理人員來說,最關心的應該是閉環(huán)流程機制所帶來的持續(xù)變化,應該是在此基礎上信息采集監(jiān)管工作效率的提高以及信息采集數(shù)據(jù)質(zhì)量的提升。
因此,信采點監(jiān)測系統(tǒng)還整合了反饋數(shù)據(jù)和監(jiān)測數(shù)據(jù),進行反饋統(tǒng)計分析,向各級人員展現(xiàn)客戶跟進工作的開展情況以及客戶改進情況。具體說來,包括以下幾方面:
?各級營銷部、客戶經(jīng)理每天、每周、每月是否及時對預警客戶或風險客戶進行跟進/干預;
?發(fā)生預警或預測高風險的客戶,有哪些沒有及時跟進或反饋;
?哪些客戶持續(xù)多天發(fā)生預警或預測高風險,但沒有任何跟進或反饋;
?哪些客戶持續(xù)多天發(fā)生預警或預測高風險,跟進或反饋之后仍然發(fā)生預警或預測高風險,情況沒有得到改善。
當然,也可以將客戶經(jīng)理或零售客戶的反饋情況(是否及時反饋、反饋內(nèi)容是否準確、詳盡等,反饋后情況是否改善)納入對客戶經(jīng)理的業(yè)績考核之中,納入對零售客戶的監(jiān)管指標之中。
6、總結(jié)
本研究針對零售客戶信息采集數(shù)據(jù)準確性問題深入探討與分析,提出了自己的解決方案,構(gòu)建了“異常預警”、“綜合預測”兩大核心驅(qū)動器,實現(xiàn)了對零售客戶信息采集數(shù)據(jù)質(zhì)量的每日監(jiān)測?!爱惓nA警”模型做法簡單,易于被業(yè)務人員所理解和應用。但“異常預警”模型依據(jù)業(yè)務經(jīng)驗和感知而建立,描述的只是簡單、線性的關聯(lián)關系,有很多深層、復雜的特征沒有被描述出來。
“綜合預測”模型是“異常預警”模型的有效補充,運用前言的深度學習算法,建立系統(tǒng)庫存準確性模型,具有一定的應用創(chuàng)新性和先進性。模型從訓練數(shù)據(jù)中提煉出更為復雜、全面的關聯(lián)關系,利用這種關系,可以根據(jù)零售客戶近期經(jīng)營表現(xiàn)來更為準確地預測未來系統(tǒng)庫存不準確的概率。
本研究在應用上也將兩大模型進行了融合,發(fā)生異預警的客戶可以通過預測概率進行排名,可以根據(jù)排名先后進行合理配置資源來安排跟進/干預。對于未發(fā)生預警但預測概率高的客戶,也可以深挖其真實原因和特征,進一步完善預警指標體系建設。當然,也支持客戶經(jīng)理對預測概率高的客戶進行提前跟進/干預。
在借鑒學習同業(yè)做法的基礎上,庫存準確性模型主要在以下方面進行優(yōu)化與創(chuàng)新:
(1)分析樣本的真實性與數(shù)據(jù)量較大程度上決定著能否開發(fā)出有效且可落地應用的模型。本研究通過組織客戶經(jīng)理深入業(yè)務一線記錄零售客戶的實際庫存,累計獲取2900條樣本數(shù)據(jù),有效保證了樣本數(shù)據(jù)的真實性,為后續(xù)建模分析提供了可靠的數(shù)據(jù)來源;
未來客戶經(jīng)理在客戶盤庫時,也可在信采點監(jiān)測系統(tǒng)記錄下客戶的實際庫存,方便快捷,這樣可以積累越來越多的真實樣本,模型也會越來越精準。
(2)分析指標的豐富性、有效性也在一定程度影響模型的有效性以及預測效果的優(yōu)劣。本研究在前期進行了詳細的調(diào)研,深入分析可能引起系統(tǒng)庫存不準確的原因和特征,根據(jù)已有數(shù)據(jù)設計出有效、合理、可行的分析指標,多達150個,盡可能涵蓋所有可能的業(yè)務場景;
(3)分析算法的選擇也會直接影響著模型的預測效果以及結(jié)果的可解釋性。本研究引入了深度學習中用于分析表格數(shù)據(jù)的TabNet算法,建立庫存準確性模型,具有一定的應用創(chuàng)新性。基于TabNet算法的庫存準確性模型,既有決策樹的優(yōu)點(可解釋性和稀疏特征選擇),又繼承了深度學習網(wǎng)絡的優(yōu)點 (表征學習和端對端訓練),可以更深入挖掘出指標之間復雜的影響關系(而不是簡單的線性關系),從而得到更優(yōu)的預測效果,預測準確率達85%以上。同時,模型給出了每個指標對模型的重要性,并且在預測每個客戶系統(tǒng)庫存不準確的概率時,也給出了每個指標對預測該客戶的概率的重要性,這讓模型具有可解釋性,也讓模型結(jié)果落地應用更有針對性,業(yè)務可操作空間更大。
為使模型監(jiān)測數(shù)更好地應用于業(yè)務,賦能業(yè)務,本研究專門開發(fā)了數(shù)字化產(chǎn)品——信采點監(jiān)測。信采點監(jiān)測系統(tǒng)內(nèi)嵌于企業(yè)微信中,以企業(yè)微信為載體和渠道,除監(jiān)測數(shù)據(jù)展現(xiàn)外,還配置了消息推送、跟進/反饋等應用功能,推動建設面向零售客戶和客戶經(jīng)理的閉環(huán)流程機制,“讓數(shù)據(jù)多跑路”,讓客戶經(jīng)理的工作變得高效。
為了讓各級人員更好地對零售客戶和客戶經(jīng)理的工作進行監(jiān)管,信采點監(jiān)測系統(tǒng)還將監(jiān)測數(shù)據(jù)和反饋數(shù)據(jù)結(jié)合起來,統(tǒng)計并展現(xiàn)各級營銷部門、客戶經(jīng)理和零售客戶的反饋和改進情況。
參考文獻
1. 期刊等連續(xù)出版物類的析出文獻:
[1]李向龍,楊貴福,劉淑霞,高遠博,段曉睿,夏一鳴. 基于置信區(qū)間進行零售客戶店鋪管理系統(tǒng)機異常檢測算法的設計[J]. 電腦與信息技術(shù),第29卷第2期, 2021.4.
2. 書籍、學位論文、標準、文集匯編等專著類文獻:
[1]祖浩,潘知恒. 淺論如何提升現(xiàn)代零售終端數(shù)據(jù)采集準確率[J]. 廣西煙草2015年年會論文集.
[2]馬杰. 淺析提高農(nóng)村零售終端“進銷存”系統(tǒng)實時掃碼準確率[J]. 寧夏煙草學會2016年學術(shù)年會.
[3]黃敏之,莫小莎,藍志翔. 基于樸素貝葉斯分類算法的卷煙零售終端信息系統(tǒng)數(shù)據(jù)準確率預測[J]. 廣西煙草學會2020年優(yōu)秀論文集.
[4]周志華.機器學習[M].北京:清華大學出版社,2016-26,66.
[5]Arik, S.O.,&Pfister,T.(2019). Tabnet: Attentive interpretable tabular learning.arXiv preprint arXiv:1908.07442.
?[6]Martins,A.,&Astudillo,R.(2016,June).From softmax to sparsemax: A sparse model of attention and multi-label classification.In International Conference on Machine Learning (pp.1614-1623). PMLR.
3. 網(wǎng)絡文章等電子資源文獻:
[1]段易通.《數(shù)據(jù)挖掘競賽利器—TabNet模型淺析》[Z].知乎文章.
[2]百分點大數(shù)據(jù)團隊.《百分點數(shù)據(jù)科學實驗室:煙草行業(yè)市場信息采集數(shù)據(jù)質(zhì)量評估體系研究探索》. InfoQ寫作平臺, 2021.6.11.
原創(chuàng)聲明:本文系煙草在線用戶原創(chuàng),所有觀點、分析及結(jié)論均代表作者個人立場,與本平臺及其他關聯(lián)機構(gòu)無關。文中內(nèi)容僅供讀者參考交流,不構(gòu)成任何形式的決策建議或?qū)I(yè)指導。本平臺不對因依賴本文信息而產(chǎn)生的任何直接或間接后果承擔責任。
版權(quán)聲明:未經(jīng)作者書面明確授權(quán),任何單位或個人不得以任何形式(包括但不限于全文/部分轉(zhuǎn)載、摘編、復制、傳播或建立鏡像)使用本文內(nèi)容。若需轉(zhuǎn)載或引用,請?zhí)崆奥?lián)系煙小蜜客服(微信號tobacco_yczx)獲得許可,同時注明作者姓名及原文出處。違反上述聲明者,作者將依法追究其法律責任。
2025中國雪茄(四川)博覽會暨第七屆“中國雪茄之都”全球推介之旅