如何基于時(shí)序分析,預(yù)測(cè)余額寶的申贖金額?
編輯導(dǎo)語:很多人都用過支付寶中的余額寶功能,可以將資金轉(zhuǎn)入余額寶后產(chǎn)生收益,如果我們對(duì)余額寶的申贖進(jìn)行預(yù)測(cè),可以是業(yè)務(wù)的理解更加的精準(zhǔn);本文是作者分享了關(guān)于如何基于時(shí)序分析,預(yù)測(cè)余額寶的申贖金額,我們一起來了解一下吧。
“統(tǒng)計(jì)模型用好了,預(yù)測(cè)準(zhǔn)確性也很高?!?/p>
今天和大家分享一個(gè)14年下半年作者獨(dú)立負(fù)責(zé)的、基于時(shí)間序列模型的預(yù)測(cè)項(xiàng)目:余額寶的申贖預(yù)測(cè)。
一、項(xiàng)目背景
大家都用過余額寶。
用戶將資金轉(zhuǎn)入余額寶,在行業(yè)上叫“申購(gòu)”;將資金轉(zhuǎn)出余額寶,或者用余額寶進(jìn)行轉(zhuǎn)賬、購(gòu)買等,在行業(yè)上叫做“贖回”。
總的贖回量大于申購(gòu)量,對(duì)于余額寶來講,就是凈流入;反之是凈流出。
好幾億余額寶用戶,每天都會(huì)發(fā)生巨量的申購(gòu)贖回行為;15年的時(shí)候,每天流入流出的規(guī)模都在百億級(jí)別;且隨著余額寶用戶的活躍度不斷提升,申贖的規(guī)模也不斷擴(kuò)大。
這給余額寶的資金管理帶來了巨大的難題。
第一個(gè)問題就是,今天(或者近期)余額寶是凈流入還是凈流出?如果是凈流入,基金經(jīng)理需要將凈流入的資金盡可能投資出去,避免滯留手中導(dǎo)致基金收益率下降;如果是凈流出,基金經(jīng)理則需要提前預(yù)留到賬資金,應(yīng)對(duì)資金贖回壓力。
其次的問題是,到底凈流入或者凈流出的規(guī)模有多大?這就是一個(gè)典型的預(yù)測(cè)問題;如果預(yù)測(cè)的精準(zhǔn),基金經(jīng)理可以預(yù)留比較少的資金安全墊,提升收益率。
因此,我基于余額寶的歷史數(shù)據(jù),建立了時(shí)序模型,預(yù)測(cè)未來一段時(shí)間(7天、14天、30天)以及當(dāng)天的申贖金額。
隨著對(duì)業(yè)務(wù)理解的不斷加深,預(yù)測(cè)模型的精準(zhǔn)度也不斷提升;最終實(shí)現(xiàn)當(dāng)天預(yù)測(cè)當(dāng)天的精準(zhǔn)度在99%左右,預(yù)測(cè)未來7天時(shí)間的精準(zhǔn)度平均95%以上,預(yù)測(cè)未來30天的精準(zhǔn)度在90%以上。
有意思的是,在15年的5月份,阿里的天池大賽也搞了一個(gè)賽題,就是預(yù)測(cè)余額寶的申贖金額,如下圖:
二、余額寶申贖的一些規(guī)律
首先講講業(yè)務(wù)在數(shù)據(jù)上的一些規(guī)律,這對(duì)建模過程至關(guān)重要;每個(gè)因素、每個(gè)業(yè)務(wù)規(guī)律,都是影響預(yù)測(cè)準(zhǔn)確性的因子,也是模型的業(yè)務(wù)解釋方向。
1. 關(guān)于申購(gòu)
先看申購(gòu),先看一個(gè)總體轉(zhuǎn)入金額的走勢(shì):
申購(gòu)層面,影響的因素主要有星期周期因素、工資發(fā)放因素、阿里活動(dòng)因素、節(jié)假日因素、收益率因素、支付寶的自動(dòng)轉(zhuǎn)入等。
星期周期:這個(gè)是比較明顯的因素,由于受到基金特點(diǎn)的影響,在每天15點(diǎn)以后申購(gòu)的行為將記為次交易日申購(gòu);因此周五15點(diǎn)以后的申購(gòu)將與周一的申購(gòu)一樣,白白浪費(fèi)周末兩天的收益損失,因此周六周日申購(gòu)很少。
月度工資發(fā)放:這個(gè)主要和工資的發(fā)放有直接關(guān)聯(lián),很多用戶會(huì)在發(fā)工資后直接轉(zhuǎn)入余額寶,因此工資發(fā)放日會(huì)帶來更多申購(gòu);日期往往是1號(hào)、10號(hào)、15號(hào)、月末。
阿里系活動(dòng):這個(gè)和阿里經(jīng)常做的活動(dòng)密切相關(guān)。
節(jié)假日:和星期因素類似,大型節(jié)假日期間申購(gòu)會(huì)喪失收益,因此轉(zhuǎn)入很少,用戶會(huì)在節(jié)假日之前轉(zhuǎn)入。
余額自動(dòng)轉(zhuǎn)入:很多支付寶用戶開通了余額自動(dòng)轉(zhuǎn)入余額寶,每天凌晨到9點(diǎn)會(huì)系統(tǒng)自動(dòng)轉(zhuǎn)入。
收益率:余額寶收益率的高低會(huì)影響大家轉(zhuǎn)入的多少。
為了便于分享,關(guān)于影響因素的拆解,主要羅列以上這些。
2. 關(guān)于贖回
再看贖回,以下是贖回的金額走勢(shì):
在贖回層面,影響的因素主要有星期因素、還信用卡、節(jié)假日、消費(fèi)活躍情況、阿里活動(dòng)、收益率(及資本市場(chǎng)情況)、轉(zhuǎn)出到卡轉(zhuǎn)賬等。
- 星期因素:和申購(gòu)類似,周末的贖回是延期到賬的。因此整體周末的贖回是要遠(yuǎn)少于申購(gòu)的;
- 還信用卡:還信用卡日期經(jīng)常固定在每個(gè)月幾個(gè)比較大的日期,尤其是下旬的還卡金額較多;
- 節(jié)假日:在很多節(jié)假日前用戶會(huì)有較多資金需求,傾向轉(zhuǎn)出;
- 消費(fèi)活躍:很多用戶是用余額寶進(jìn)行支付的??傮w消費(fèi)的活躍上升,會(huì)帶來余額寶的贖回也上升;
- 阿里活動(dòng):主要就是雙十一等大促,對(duì)余額寶的贖回影響巨大;
- 資本市場(chǎng):在股市瘋漲、IPO重啟的時(shí)候,打新資金、流入股市的資金對(duì)余額寶贖回產(chǎn)生不小影響。
關(guān)于余額寶的申贖影響因素,以上是比較主要的一些,暫時(shí)分享到這里。
三、模型的建立
模型的核心邏輯,采用的是時(shí)間序列的分解法,將每日的申贖結(jié)果,認(rèn)為是四個(gè)因素影響的:長(zhǎng)期趨勢(shì)因素、季節(jié)因素、星期因素、其他因素。
最后用乘法模型,將每個(gè)因素參數(shù)相乘:
具體建模過程如下:
1. 數(shù)據(jù)的預(yù)處理
首先進(jìn)行申購(gòu)和贖回?cái)?shù)據(jù)的預(yù)處理,進(jìn)行異常值的剔除,主要包括大額機(jī)構(gòu)的申贖、雙十一大促等。
白名單機(jī)構(gòu)的大額申贖,往往單筆金額就好幾億,對(duì)模型是有影響的,因此首先要剔除;另外雙十一的活動(dòng),由于過于低頻,且每年情況不一樣,也進(jìn)行數(shù)據(jù)的剔除。
另外,由于13年余額寶處于飛速發(fā)展期,在數(shù)據(jù)使用上,我直接用14年的數(shù)據(jù)開始建模,排除業(yè)務(wù)爆發(fā)期的影響,因此大約有8個(gè)月的數(shù)據(jù)作為建模數(shù)據(jù)。
2. 長(zhǎng)期趨勢(shì)因素的確定
這里的長(zhǎng)期因素,其實(shí)主要就是上文分析中提到的收益率因素、用戶余額寶使用活躍情況等。
從上面的截圖中也可以看出,余額寶的申贖金額總體都在上漲趨勢(shì)中;這里要預(yù)測(cè)的,就是該趨勢(shì)。
具體實(shí)現(xiàn)上,在做完數(shù)據(jù)預(yù)處理的基礎(chǔ)上,進(jìn)行線性回歸模型的建立。
上圖其實(shí)是個(gè)示意圖了,數(shù)據(jù)已經(jīng)到了17年了。在當(dāng)時(shí)的建模情況下,我使用的數(shù)據(jù)就是近半年的數(shù)據(jù)作為長(zhǎng)期趨勢(shì)的預(yù)測(cè)。
過長(zhǎng)的數(shù)據(jù)做預(yù)測(cè),將失去意義,并不能很好反映當(dāng)前的狀況,因?yàn)闅v史數(shù)據(jù)會(huì)有較大干擾。
3. 周期因素的確定
長(zhǎng)期趨勢(shì)因素確定后,用每天數(shù)據(jù)與長(zhǎng)期因素做除法,排除掉長(zhǎng)期因素的影響,只剩下周期因素等因素。
這里的周期因素,其實(shí)包括了星期和月度因素。
星期因素影響因子的確定,有很多辦法,我是將歷史同周期進(jìn)行了求動(dòng)態(tài)均值,即最近3個(gè)月平均值。
獲得星期的參數(shù)后,再次用排除長(zhǎng)期趨勢(shì)的參數(shù)除以星期參數(shù),排除星期的影響因素,此時(shí)主要是月份的影響因素了。
針對(duì)月份的因素做同樣的處理,則得到月度的因子參數(shù),如下是申購(gòu)的:
從這個(gè)圖中明顯看出,1號(hào)、10號(hào)、15號(hào)確實(shí)是申購(gòu)的小高峰。
申購(gòu)、贖回,基本都是基于相似的邏輯,進(jìn)行處理。
4. 其他因素的確定
到這里,我們獲得了長(zhǎng)期趨勢(shì)因素、月度因素、星期因素的因子。但根據(jù)第二章節(jié)中提到的,影響申贖的因素,還有節(jié)假日、活動(dòng)等;這對(duì)節(jié)假日,需要再進(jìn)行專門性的參數(shù)獲取。
根本方法和之前也是一致的,用排除長(zhǎng)期趨勢(shì)、周期因素的數(shù)據(jù)后,專門講節(jié)假日(國(guó)慶、春節(jié)等)前后的數(shù)據(jù)拿出來,做參數(shù);但是由于當(dāng)初是14年,可用的數(shù)據(jù)不多,因此對(duì)于長(zhǎng)假的預(yù)測(cè)效果不是很好,但是3天小長(zhǎng)假的數(shù)據(jù)表現(xiàn)還可以。
5. 預(yù)測(cè)過程
到這里,基本各類參數(shù)的計(jì)算,就算完成了。在做預(yù)測(cè)的時(shí)候,按照上述的過程,用各個(gè)因素進(jìn)行乘法計(jì)算,即可獲得未來一段時(shí)間的預(yù)測(cè)結(jié)果。
另外,在實(shí)踐中,其實(shí)還有一個(gè)場(chǎng)景更高頻一些,就是當(dāng)天預(yù)測(cè)當(dāng)天。比如目前是上午11點(diǎn),預(yù)測(cè)今天截止下午3點(diǎn)的申贖;針對(duì)這個(gè)場(chǎng)景,在原來的模型基礎(chǔ)上,做了一些調(diào)整,主要是加上了當(dāng)日的數(shù)據(jù)走勢(shì)。
由于能看到實(shí)時(shí)數(shù)據(jù),而且只是預(yù)測(cè)當(dāng)天數(shù)據(jù),輸入模型的數(shù)據(jù)采用了昨日數(shù)據(jù)以及當(dāng)天的情況,因此這個(gè)預(yù)測(cè)精度極高,往往達(dá)到99.5%以上。
關(guān)于余額寶的申贖預(yù)測(cè),就先分享到這里,很多細(xì)節(jié)內(nèi)容一方面我已經(jīng)沒有原始數(shù)據(jù)了,另一方面確實(shí)寫不完;所以就先把預(yù)測(cè)的思路框架寫這些,歡迎各位小伙伴繼續(xù)關(guān)注~
本文由 @冬至 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
這個(gè)冬至不是我,同名緣~
“首席數(shù)據(jù)科學(xué)家”作者:厲害了。我:膜拜了。
回復(fù)別人信息回復(fù)錯(cuò)位置了
“總的贖回量大于申購(gòu)量,對(duì)于余額寶來講,就是凈流入;” 贖回是用戶行為,對(duì)支付寶來說不應(yīng)該是“凈流出”嗎
寫反了……忘改了
看不懂啊
數(shù)據(jù)小白提問:您這屬于驗(yàn)證性因子假設(shè)吧?盡管因子的選擇于情于理,但是沒有進(jìn)行因子分析的驗(yàn)證,沒有數(shù)據(jù)支撐呀?
厲害了