時丹蕾 杜寶軍
(蘭州交通大學,甘肅 蘭州 730070)
近年來,隨著支付寶、微信等第三方支付平臺的流行和經濟體制改革的深化,銀行同業間的競爭出現了惡化的趨勢,客戶流失率的與日俱增也使得銀行機構的經營變得緊張。其次,在“互聯網+”盛行的21 世紀,互聯網金融服務與金融產品猶如雨后春筍般層出不窮,加速了客戶對銀行機構的忠實度和依賴性的降低,如何處理客戶流失問題儼然成了擺在各大銀行面前的一大挑戰。
隨著市場競爭的加劇和銀行規模經濟效應的逐步下降,銀行同業間的產品或服務差異越來越小,而對于銀行來說,客戶顯然是最具有價值的資產和最大財富,越來越多的事實證明“以客戶為中心”的銀行往往能在市場中獲得更大收益[1]。
伴隨越來越明顯的國際金融一體化的趨勢以及全世界網絡經濟的不斷進步,我國銀行業面臨著越來越大的挑戰,與此同時,銀行業的競爭也越來越激烈,如果商業銀行想要持續健康發展,爭取在這個大規模競爭趨勢下的更大利潤,就需要采用合理競爭的手段,留住理想客戶,從而來增加企業的收益,這無疑對于各個銀行來說都是至關重要的。同時,很多銀行都會把過多的精力放在挖掘新型客戶上,認為增加客戶的數量,增大銀行受眾的規模就可以提高銀行本身的利潤效益,但是往往這樣就會忽略了對于原有客戶資源類型的分析,進而無法總結出現在客戶的真實需求,從而造成大量客戶流失的現象,在新客戶轉化為老客戶后同樣的問題再次出現。由此可以看出,對于銀行客戶流失進行有效的分析,留住老客戶,并且不斷增加新客戶的數量,才能從根本上提高銀行的競爭力,使得銀行在現今激烈的競爭中爭取一席之地。本文通過建立客戶流失模型,預測客戶流失情況,從而幫準銀行調整服務和經營策略,給銀行帶來更大的效益[2]。
對于銀行客戶流失案例的研究已經有非常多的先例,這方面的研究也涉及到了各種各樣的研究方法,鄧穎凡在對于大數據驅動下的用戶行為分析中展開了客戶細分和流失預測兩個方面的研究, 同時還引入了縱貫其中的兩大保障體系:“數據挖掘技術”以及“科學評估指標”來進行分析,其采用理論結合實踐的方式同時解決了銀行客戶細分問題將自適應權重的雙級聚類算法推進應用、深化和驗證。[3]謝斌則主要進行了基于大數據挖掘的N 銀行客戶流失分析,分析N 銀行基于大數據的客戶現狀分析, 基于大數據分析對目前N 銀行的客戶整體現狀進行介紹并總結了貴賓客戶個性化產品設計和營銷、強化大數據開發與應用、提升客戶體驗、優化營銷體系的營銷啟示。[4]而林睿,遲學芝則利用BP 神經網絡對于銀行客戶流失問題進行分析,利用BP 人工神經網絡網絡穩定、學習能力強的特點,通過輸入變量和輸出變量之間的相關性分析,建立銀行客戶流失分析模型,以此獲取即將流失的客戶,以便銀行做出經營決策,挽留有關用戶,確保銀行效益不受影響。[5]大部分的研究都是基于數據挖掘的基本方法,其分類的方式主要是基于客戶的基本特征,本文的改進之處主要是對于神經網絡模型進行進一步的運用。
3.1.1 多層感知機
多層感知機(MLP,Multilayer Perceptron)也被稱作人工神經網絡(ANN,Artificial Neural Network),其除了輸入輸出層,它中間可以有多個隱層,最簡單的MLP 只含一個隱層,即三層的結構。
多層感知機層與層之間是全連接的。多層感知機最底層是輸入層,中間是隱藏層,最后是輸出層。
3.1.2 隱藏單元及ReLU 函數
大部分的隱藏單元可以描述為接受輸入向量x,通過計算仿射變換z=wTx+b,然后使用一個逐元素的非線性函數g(z)。大多數隱藏單元的區別僅僅在于激活函數g(z)的形式。
整流線性單元(Rectified Linear Unit, ReLU)是隱藏單元極好的默認選擇。許多其它類型的隱藏單元也是可用的。整流線性單元使用激活函數g(z)=max{0,z}。在z=0 處不可微。這意味著相比于引入二階效應的激活函數來說,它的梯度方向對于學習來說更加有用。
3.1.3 softmax 激活函數
Softmax 函數常在神經網絡輸出層作為激活函數,將輸出層的值通過激活函數映射到0-1 區間,從而將神經元輸出構造成概率分布,用于多分類問題中,Softmax 激活函數映射值越大,則真實類別可能性越大,下面先給出Softmax 函數計算公式:

本文模型建立采用深度前饋網絡模型,首先對于數據標簽進行處理,標簽取1 代表客戶流失,標簽取0 代表正常客戶。輸入層到第一隱層的結構,第一隱層256 個神經元,使用sigmod函數,并且使用截斷正態分布,為了避免過擬合采用了漏失的操作,第一隱層到第二隱層的結構同樣包含256 個神經元,并且采用sigmod 函數,第二隱層到輸出層的的結構中,將輸出層設置成兩個神經元并且使用softmax 函數作為輸出函數。
3.1.4 反向傳播算法
反向傳播算法在眾多算法中應用較為廣泛,通常運用反向傳播算法來訓練人工網絡,在這方面該算法十分有效。該算法主要應用的思想是:首先將訓練集獲取的數據傳播到ANN 的輸入層,然后就是通過隱藏層的計算,最后到達輸出之后完成整個算法的傳播,輸出一個算法計算的結果,上述描述的就是ANN 前向傳播的過程,一般情況下,輸出結果和實際結果一般存在誤差,在算法完成后誤差往往會很難處理,因此我們要對誤差提前進行計算,而后該誤差從輸出層向隱藏層反向傳播,最終傳播到輸入層,這就是反向傳播的關鍵,同時誤差也是我們不斷調整參數的依據,通過對于誤差大小的計算和判斷,我們不斷對參數調整,而后重復以上的步驟不斷進行迭代和擬合,一直到收斂為止。
TNS 之前對于中國銀行業進行調查,主要針對的是北京、上海已經廣州三個發展較好的城市,調查的內容主要是1500 名零售銀行客戶以及900 名信用卡用戶,根據調查結果可以看出,目前中國銀行業的客戶維系系數是低于全球平均水平的,由此可以看出,在老客戶保留以及客戶分析發展方面,我國在各方面還有待提高,并且根據調查可以發展,我國商業銀行的客戶流失率竟然高達30%,在現今社會高速發展之下,我們可以猜測銀行客戶流失的原因是多方面的,如何把握住老客戶,有效對于客戶的流失率進行降低已經成為現今銀行業發展最為重要的問題,只有針對銀行客戶流失這一現象提出根本性的改革措施,才能保證我國銀行業在全球更加具有競爭力。為了達到這一目的,銀行需要建立客戶分析模型,這個模型的作用主要歸結于以下兩個方面:
(1)通過對客戶數據的分析,探究客戶信息中的關鍵因素和客戶流失之間的必然關系, 在這種關系的基礎上對于客戶流失的原因進行有效分析,同時提出改變這個狀況的根本性措施。
(2)對可能會流失的客戶進行預警,提前采取相關措施。
BP 人工神經網絡是Rumelhart 和McCelland 為首的科學家小組在1986 提出的一種神經網絡算法,這是一種按照逆傳播算法訓練的多層前饋網絡,在眾多的神經網絡算法中,該算法的應用相對十分廣泛,這是由于該算法本身具有自適應和學習能力強的特點,因此該算法在一些分析中應用起來十分方便快捷,并且能得到相對準確的分析結果,在對于客戶流失的分析中,引入這一個算法,對于獲取的樣本數據進行學習和分類,從而建立客戶流失模型,分析客戶的特點,抓住客戶的關鍵特征,把握客戶的喜好和心態,從而在完成對于客戶偏好進行分類的同時,對于銀行業如果避免客戶過度流失提出有效的措施,來提高銀行的競爭力,保證銀行的長遠發展。
3.3.1 數據獲取
數據主要包括行號、地理位置、性別、客戶ID、年齡、收入估計、產品數量、信用積分、開戶時長、有無信用卡、是否活躍、是否流失(即目標變量)。顯然其中行號、客戶Id、姓氏對流失情況的分析預測意義不大,可以忽略,其余字段可分為分類變量和數值變量,在數據處理環節再做變換等操作。另外,剔除少量異常數據。本文測試集選取8150 個,訓練集選擇1000 個。建立多層感知機模型,利用訓練集對于模型擬合準確度進行訓練,并且利用測試集對于模型的訓練能力進行測試。
3.3.2 數據預處理
由于獲取的銀行客戶數據屬性變量比較多, 并且各個屬性變量之間存在著不可公度性和矛盾性,另一方面,各屬性變量的量綱、數量級和指標類型也不完全相同。以上兩個方面的存在都會對于我們的分析結果以及模型的建立產生影響,因此為了避免上述情況的發展, 在建立模型以及評價時要將訓練樣本的向量歸一化處理,使網絡的訓練樣本的值都位于[0,1]范圍內,從而使得模型能夠建立的更加完善,分析結果更加準確。在預先處理方面我們一般都是采用最大最小函數的方法, 獲取神經網絡的輸入值,并且期望輸出的值0 或1,建立兩種可能的情況,如果樣本數據中客戶沒有流失,輸出為0,否則為1。
3.3.3 模型的建立
搭建模型, 使得模型包括10 個輸入單元, 存在1 個輸出單元。具有非線性函數的逼近的特點是BP 人工神經網絡一個重要特征,通過測算我們可以發現只含有一個隱藏層的BP 網絡就可實現模型的建立, 所以模型的建立無需過于復雜,根據模型中輸入層數據的取值范圍, 模型中在每個隱含節點和輸出節點的值都是用Sigmoid 轉移函數計算獲得。
3.3.4 BP 神經網絡訓練過程
對于BP 人工網絡進行訓練,我們將訓練的樣本分為兩類,訓練集和測試集,第一隱層256 個神經元,使用sigmoid 激活函數,使用截斷正態分布,標準差為0.1,對256 個節點偏置進行初始化,第一隱層到第二隱層的結構,第二隱層同樣256 個神經元,使用sigmoid 激活函數,第二隱層到輸出層的結構,輸出層兩個神經元,使用softmax 輸出,輸出節點的偏置也要初始化,輸出層使用概率化函數,使得每個輸出都在0-1 之間,并且加和等于1。
3.3.5 結果分析
epoch:0 train_acc:0.74 test_acc:0.50006133 loss:0.60425085
epoch:50 train_acc:0.74 test_acc:0.50006133 loss:0.57326245
epoch:1000 train_acc:0.74 test_acc:0.50006133 loss:0.5732621
epoch:9950 train_acc:0.806 test_acc:0.637747 loss:0.50620866
epoch:10000 train_acc:0.807 test_acc:0.6390968 loss:0.5060288
本文將訓練集每50 為以小組,打亂順序并且不斷進行迭代和訓練,根據訓練結果可以看出,經過該模型的訓練,測試集和訓練集的準確率均不斷提高,損失值一直不斷減少,由此可以看出該模型的建立是合適的。
將訓練結果轉化為圖像體現的形式,可以看出,隨著迭代次數的增加,損失和準確度的結論和之前完全一致。

圖1 結果線形圖
本文將人工神經網絡技術應用于銀行客戶流失分析預測,不僅建立了基于人工神經網絡的客戶流失分析模型, 并對模型中的關鍵問題進行分析和處理;關鍵屬性變量的選取, 數據處理、流失模型建立分析、人工神經網絡的訓練過程等進行了重點研究, 通過測試結果我們可以看到這個模型對于客戶流失進行分析是非常可行的。通過對于模型結果的觀察使得銀行決策者能夠及時了解客戶流失情況發生,從而制定相應的經營決策,挽留有關的用戶,確保銀行效益不受影響。
對于銀行業,利用Python 技術中的神經網絡分類方法建立預測客戶流失模型來支持決策是最直接且較為理性的選擇。本文通過對客戶流失數據的探索與預處理來建立基于Python 的BP 神經網絡模型,目的在于對于模型的優良性以及對于銀行客戶的分類訓練情況進行進一步的探索。