黎建文+王銳深+李成奇
【摘 ? ?要】對東莞移動數據套餐的現狀進行了分析,通過離散型系統建模方法,建立了用戶數據流量需求預測模型、單個標準月套餐推薦模型以及基于標準月套餐和疊加套餐的推薦模型,并設計了相關的數據結構和算法。實施推薦后,數據流量經營指標顯著提升,投訴指標明顯改善。
【關鍵詞】數據套餐推薦 ? ?數據流量需求預測 ? ?數學建模 ? ?數據流量經營
中圖分類號:TP399 ? ?文獻標識碼:B ? ?文章編號:1006-1010(2014)-22-0082-05
Design and Implementation of Recommended Model for Data Traffic Combo in Mobile Communications
LI Jian-wen, WANG Rui-shen, LI Cheng-qi
(China Mobile Group Guangdong Co., Ltd., Dongguan Branch, Dongguan 523129, China)
[Abstract]This paper firstly analyzes the current status of data traffic combo in Dongguan branch of China Mobile, as well as builds the prediction model of user data traffic demands, the recommended combo model of single month and the recommended model of superposed combos through discrete system modeling. Then, related data structures and algorithms are designed. Through implementing the recommended models, operating indicators of data traffic are highly enhanced and complaints indicators are significantly improved.
[Key words]recommended data traffic combo ? ?demands on data traffic ? ?prediction mathematical modeling ? ?data business
1 ? 現狀分析
1.1 ?業務規則簡介
東莞移動的GPRS套餐分為基本套餐、標準月套餐、閑時套餐和疊加套餐。其中,基本套餐是指動感地帶網聊卡、全球通新商旅等已捆綁包含流量的套餐[1];標準月套餐是指不限使用時段和地域,全品牌均可辦理的套餐,用戶每月只能使用1個標準月套餐;閑時套餐限定用戶使用時間,用戶1個月只能辦理1個閑時套餐;疊加套餐也有多檔,但每檔疊加包用戶在1個月內只能辦理1個,同一個月可以辦理多個不同檔的數據流量疊加套餐。對于套餐外的數據流量,每1MB收費1元。
1.2 ?數據流量經營和用戶投訴現狀
隨著智能手機的普及,用戶對數據流量的需求越來越大,但是大部分用戶對自己的數據流量需求都缺乏較好的感知。如用戶只辦理10元70MB的標準月套餐,但當月消耗的流量達到100MB,用戶需為套餐外的流量支付額外的30元。東莞移動數據套餐現狀如表1所示:
表1 ? ?東莞移動數據套餐現狀統計數據
統計指標 6月 7月 8月
數據套餐投訴用戶數/有效上網用戶數 7.75% 7.36% 8.26%
產生套餐外流量用戶數/有效上網用戶數 10.87% 9.21% 11.70%
產生套餐外流量并投訴的用戶數/產生套餐外流量用戶數 26.57% 29.77% 26.28%
產生套餐外流量下月升級套餐的用戶數/產生套餐外流量用戶數 2.76% 3.10% 2.73%
辦理了疊加包的用戶數/有效上網用戶數 11.63% 11.04% 12.39%
根據每個用戶的數據流量使用情況,推薦適合其使用的數據流量套餐組合,有利于減少其套餐外數據流量,降低用戶支付的費用,提升用戶滿意度。
2 ? 數據流量套餐推薦模型
2.1 ?用戶數據流量需求預測模型
手機上網產生的數據流量受用戶使用習慣、資費、營銷推廣、手機終端等多因素的影響,其中用戶的使用習慣是最主要的因素[2]。有些用戶套餐內流量越多使用也越多,而有些用戶使用的流量則相對固定。
為了區別日常使用的月份,定義M=1表示1970年1月份,M=2表示1970年2月份,以此類推。針對M月份,用L(M)表示用戶使用的流量,A(M)表示用戶可用的套餐數據流量,定義套餐數據流量使用飽和度G(M)來評價該月用戶的使用習慣,則有:
G(M)=L(M)/A(M) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)endprint
例如,用戶2013年8月份套餐內可用流量為30MB,使用了6MB的數據流量,則M=524,G(M)=0.2。對連續3個月均未產生套餐外流量但每日均有流量產生的用戶的流量數據做統計,發現月平均飽和度為93.63%,這可視為一個合理的飽和度,既滿足每日的上網需求,又在合理的范圍內。取過去m個月的G(M)的平均值作為用戶M+1月份G(M+1)的預測值,m的值越大預測就越準確,則有:
(2)
如果用戶仍然使用M月份的套餐配置,則可以預期該用戶M+1月份的數據流量需求為:
L(M+1)=A(M)G(M+1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
2.2 ?推薦模型1:單個標準月套餐推薦模型
參考離散系統的建模方法[3],先考慮一種最簡單的場景:用戶只使用標準月套餐,沒有基本套餐、也不辦理閑時套餐和數據流量疊加套餐。用x表示標準月套餐的檔,x=1,2,…,n。P(x)、Q(x)分別表示x檔的資費和包含的流量。對于i
預測用戶M+1月份的數據流量需求為L(M+1),用戶選擇套餐為x,如果x包含的流量不小于L(M+1),則用戶支付的費用為x的資費;否則,還要超出套餐外流量,L(M+1)-Q(x)。用公式表示用戶的費用如下:
(4)
向用戶做標準月套餐的推薦就是尋找一個x,使得P(L(M+1))取得最小值。下面給出求解的方法:
設1≤k
如果向用戶推薦k檔和i檔,用戶需要支付的費用分別為P(k)+K[L(M+1)-Q(k)]和P(i)+K[L(M+1)-Q(i)]。顯然,當滿足:
[P(i)-P(k)]/[Q(i)-Q(k)]≤K ? ? ? ? ? ? ? ? ? ? ? (5)
推薦i檔比推薦k檔用戶需支付的費用更少。在當前資費標準下,所有滿足1≤k
使P(i)+K[L(M+1)-Q(i)]≤P(i+1)+K[L(M+1)-Q(i+1)]成立的條件,即推薦i檔的條件為L(M+1)≤
KQ(i)+P(i+1)-P(i);否則,推薦i+1檔。
考慮到邊界條件,取P(0)=0,Q(0)=0,則當1≤i≤n時,向用戶推薦i檔套餐的條件是:
KQ(i-1)+P(i)-P(i-1)
表2展示了在當前資費標準下根據上述模型制定的推薦方案:
表2 ? ?當前資費標準下的GPRS標準月套餐推薦方案
L(M+1) 推薦x 套餐費/元 包含流量/MB
5
35
80
180
550
550
2.3 ?推薦模型2:基于標準月套餐和疊加套餐的推
薦模型
據統計,90%以上的有效上網用戶都會選擇標準月套餐和疊加套餐的組合作為自己的套餐配置。因此,設計基于標準月套餐和疊加套餐的推薦模型更具應用價值。
用變量x表示標準月套餐的檔,共n檔;用變量y表示疊加套餐的檔,共m檔。設有d1,d2,…,dm,如果用戶選擇第i檔數據流量疊加套餐,則di=1;否則,di=0。
對某一選擇組合z={x,d1,d2,…,dm},用戶的總費用為,總流量為。假設用戶選擇的組合為z,則有:
(7)
基于標準月套餐和疊加套餐的推薦就是尋找一個組合z,使得P(LNEED(M+1))取得最小值。對比式(4)和(7),它們具有類似的結構,因此求解問題的方法也類似。
用戶選擇一個標準月套餐共有種選法。再選擇一個或多個數據流量疊加套餐,但每檔數據流量疊加套餐最多選擇一個,選擇的方法有種。那么所有的組合方法就有n2m種。在當前的資費標準下,n=6,m=7,則所有可能的套餐組合為768種。對于這種離散結構且計算量較大的問題,可以借助計算機求解。
3 ? 基于標準月套餐和疊加套餐的推薦模
型的程序實現
3.1 ?數據結構設計
如圖1所示,定義結構體struct GPRSPackage來表示一個標準月套餐和數據流量疊加套餐的組合。所有的可用組合以雙向鏈表的形式連接起來[4-5],特別定義鏈表的Head節點(包含0MB價格為0元)和Tail節點(包含無限大的數據流量和無限高的價格)。
圖1 ? ?一個套餐組合節點的數據結構
3.2 ?算法實現
算法第一步:產生所有適合向用戶推薦的套餐組合
雖然根據上文的計算,在當前的資費標準下所有可能的套餐組合為768種,但并非這些組合都適合向用戶推薦。例如,有組合A和組合B,A包含的總數據流量比B多,但總價格比B低,那么推薦A會比推薦B對用戶來說更劃算,這時B就需要剔除。另外,當滿足2個前提:A.z_Total_P
(1)從Head到Tail方向各節點按照包含的總流量從小到大排序。
(2)對于鏈表中任意2個節點A和B,如果A.z_Total_Q
(3)對于A往Head方向的前一個節點C,有(A.z_Total_P-C.z_Total_P) ≤K*(A.z_Total_Q-C.z_Total_Q)。endprint
產生每種標準月套餐和數據流量疊加套餐的可能組合方式并以鏈表節點存儲,這使用一個多重循環便可實現,最重要的是如何將節點插入到鏈表中正確的位置。如圖2所示,對每個新產生的組合可通過6個步驟將其插入到鏈表合適的位置。
(1)從Head到Tail方向逐個區間掃描,確定left和right滿足條件left. z_Total_Q
(2)new與right比較,如果new的價格不低于right,則舍棄new。結束。
(3)從left開始往Head方向搜索,標注所有滿足包含流量比new少但價格比new高的節點,直到不滿足該條件為止。back為包含流量比new少但價格比new低的流量最大的節點。
(4)將back-left段(不含back但含left)從鏈表中刪除,推薦new比推薦這些節點更劃算。
(5)new與back比較,如果不滿足條件(new. z_Total_P-back. z_Total_P)≤K*(new. z_Total_Q-back. z_Total_Q),則舍棄new,將back與right重新鏈接。結束。
(6)如果滿足條件(new. z_Total_P-back. z_Total_P)≤K*(new. z_Total_Q-back. z_Total_Q),則將back、new和right鏈接起來。結束。
算法第二步:生成推薦方案
由式(6)可得,推薦的每檔套餐都對應一個流量的左邊界值和右邊界值。如圖3所示,定義結構體類型struct GPRSRecomended來表示一個推薦方案。其中,Left_Q、Right_Q分別表示一個推薦方案的左邊界值和右邊界值。申請一個動態數組來存放推薦方案,遍歷算法第一步生成的套餐組合鏈表,設置數組各元素的Package域。然后再從頭掃描動態數組,分別設置各個推薦組合的左邊界值和右邊界值。
表3展示了當前資費標準下的標準月套餐和流量疊加套餐組合推薦方案的一部分。
顯然,根據算法求解出來的推薦方案可能包含個數太多的套餐,要求用戶接受這種推薦方案是不切實際的。一個折中的方案是:在套餐組合生成時,按照一定的閥值,將數目多于該閥值的套餐組合剔除,再進行推薦。取3組流量使用習慣相似的用戶,分別進行2、3和4個套餐的推薦,發現推薦2個套餐時接受推薦的用戶數占總推薦用戶數的比例約為75.4%,推薦3個套餐時比例降到66.7%,推薦4個套餐時比例迅速降到29.2%。由此可見,就推薦效果而言,向用戶推薦的套餐個數最好不超過3個。
4 ? 總結
在2013年8月末基于標準月套餐和疊加套餐的推薦模型實施了大規模的套餐推薦。經統計,推薦效果明顯,目標用戶進行套餐升級基本符合推薦套餐,有效地減少了用戶超數據流量使用的情況并減低該主題的萬用戶投訴率。
4.1 ?推薦效果分析
如表4所示,對比8、9月份的流量經營指標和投訴指標都得到了顯著改善。產生套餐外流量和流量投訴的用戶明顯減少,升級月套餐和辦理疊加包的用戶明顯增多??紤]到東莞移動巨大的用戶數,指標每提升1個百分點都意味著上萬到十萬的用戶受益。
表4 ? ?東莞移動數據套餐現狀統計數據推薦效果分析
統計指標 8月 9月 指標改善
數據套餐投訴用戶數/有效上網用戶數 8.26% 5.36% 減少2.90%
產生套餐外流量用戶數/有效上網用戶數 11.70% 9.17% 減少2.53%
產生套餐外流量并投訴的用戶數/產生套餐外流量用戶數 26.28% 20.10% 減少6.18%
產生套餐外流量下月升級套餐的用戶數/產生套餐外流量用戶數 2.73% 8.06% 增多5.33%
辦理了疊加包的用戶數/有效上網用戶數 12.39% 16.52% 增多4.13%
4.2 ?創新點
(1)定義了套餐數據流量使用飽和度,采用套餐數據流量使用飽和度來評估用戶對數據流量的使用習慣,并提出了基于套餐數據流量使用飽和度的用戶數據流量需求預測模型。
(2)基于用戶數據流量需求預測模型,先設計了單個標準月套餐的推薦模型,再設計了基于標準月套餐和疊加套餐的推薦模型,該模型經計算機編程后可方便求解。
參考文獻:
[1] 中國移動廣東有限公司官網. 手機流量套餐資費標準[EB/OL]. (2014-02-01)[2014-05-10]. http://gd.10086.cn/commodity/options/detail/GPRS_FUNCTION_10.shtml.
[2] 網易科技. 專欄:應用流量包月將改變手機使用習慣[EB/OL]. (2013-04-24)[2014-05-10]. http://tech.163.com/13/0424/05/8T6VNC0D00094N0U.html.
[3] 費培之,程中瑗層. 數學模型實用教程[M]. 四川: 四川大學出版社, 1998.
[4] 嚴蔚敏,吳偉民. 數據結構(C語言版)[M]. 北京: 清華大學出版社, 2008.
[5] 譚浩強. C語言程序設計[M]. 2版. 北京: 清華大學出版社, 2002.endprint
產生每種標準月套餐和數據流量疊加套餐的可能組合方式并以鏈表節點存儲,這使用一個多重循環便可實現,最重要的是如何將節點插入到鏈表中正確的位置。如圖2所示,對每個新產生的組合可通過6個步驟將其插入到鏈表合適的位置。
(1)從Head到Tail方向逐個區間掃描,確定left和right滿足條件left. z_Total_Q
(2)new與right比較,如果new的價格不低于right,則舍棄new。結束。
(3)從left開始往Head方向搜索,標注所有滿足包含流量比new少但價格比new高的節點,直到不滿足該條件為止。back為包含流量比new少但價格比new低的流量最大的節點。
(4)將back-left段(不含back但含left)從鏈表中刪除,推薦new比推薦這些節點更劃算。
(5)new與back比較,如果不滿足條件(new. z_Total_P-back. z_Total_P)≤K*(new. z_Total_Q-back. z_Total_Q),則舍棄new,將back與right重新鏈接。結束。
(6)如果滿足條件(new. z_Total_P-back. z_Total_P)≤K*(new. z_Total_Q-back. z_Total_Q),則將back、new和right鏈接起來。結束。
算法第二步:生成推薦方案
由式(6)可得,推薦的每檔套餐都對應一個流量的左邊界值和右邊界值。如圖3所示,定義結構體類型struct GPRSRecomended來表示一個推薦方案。其中,Left_Q、Right_Q分別表示一個推薦方案的左邊界值和右邊界值。申請一個動態數組來存放推薦方案,遍歷算法第一步生成的套餐組合鏈表,設置數組各元素的Package域。然后再從頭掃描動態數組,分別設置各個推薦組合的左邊界值和右邊界值。
表3展示了當前資費標準下的標準月套餐和流量疊加套餐組合推薦方案的一部分。
顯然,根據算法求解出來的推薦方案可能包含個數太多的套餐,要求用戶接受這種推薦方案是不切實際的。一個折中的方案是:在套餐組合生成時,按照一定的閥值,將數目多于該閥值的套餐組合剔除,再進行推薦。取3組流量使用習慣相似的用戶,分別進行2、3和4個套餐的推薦,發現推薦2個套餐時接受推薦的用戶數占總推薦用戶數的比例約為75.4%,推薦3個套餐時比例降到66.7%,推薦4個套餐時比例迅速降到29.2%。由此可見,就推薦效果而言,向用戶推薦的套餐個數最好不超過3個。
4 ? 總結
在2013年8月末基于標準月套餐和疊加套餐的推薦模型實施了大規模的套餐推薦。經統計,推薦效果明顯,目標用戶進行套餐升級基本符合推薦套餐,有效地減少了用戶超數據流量使用的情況并減低該主題的萬用戶投訴率。
4.1 ?推薦效果分析
如表4所示,對比8、9月份的流量經營指標和投訴指標都得到了顯著改善。產生套餐外流量和流量投訴的用戶明顯減少,升級月套餐和辦理疊加包的用戶明顯增多。考慮到東莞移動巨大的用戶數,指標每提升1個百分點都意味著上萬到十萬的用戶受益。
表4 ? ?東莞移動數據套餐現狀統計數據推薦效果分析
統計指標 8月 9月 指標改善
數據套餐投訴用戶數/有效上網用戶數 8.26% 5.36% 減少2.90%
產生套餐外流量用戶數/有效上網用戶數 11.70% 9.17% 減少2.53%
產生套餐外流量并投訴的用戶數/產生套餐外流量用戶數 26.28% 20.10% 減少6.18%
產生套餐外流量下月升級套餐的用戶數/產生套餐外流量用戶數 2.73% 8.06% 增多5.33%
辦理了疊加包的用戶數/有效上網用戶數 12.39% 16.52% 增多4.13%
4.2 ?創新點
(1)定義了套餐數據流量使用飽和度,采用套餐數據流量使用飽和度來評估用戶對數據流量的使用習慣,并提出了基于套餐數據流量使用飽和度的用戶數據流量需求預測模型。
(2)基于用戶數據流量需求預測模型,先設計了單個標準月套餐的推薦模型,再設計了基于標準月套餐和疊加套餐的推薦模型,該模型經計算機編程后可方便求解。
參考文獻:
[1] 中國移動廣東有限公司官網. 手機流量套餐資費標準[EB/OL]. (2014-02-01)[2014-05-10]. http://gd.10086.cn/commodity/options/detail/GPRS_FUNCTION_10.shtml.
[2] 網易科技. 專欄:應用流量包月將改變手機使用習慣[EB/OL]. (2013-04-24)[2014-05-10]. http://tech.163.com/13/0424/05/8T6VNC0D00094N0U.html.
[3] 費培之,程中瑗層. 數學模型實用教程[M]. 四川: 四川大學出版社, 1998.
[4] 嚴蔚敏,吳偉民. 數據結構(C語言版)[M]. 北京: 清華大學出版社, 2008.
[5] 譚浩強. C語言程序設計[M]. 2版. 北京: 清華大學出版社, 2002.endprint
產生每種標準月套餐和數據流量疊加套餐的可能組合方式并以鏈表節點存儲,這使用一個多重循環便可實現,最重要的是如何將節點插入到鏈表中正確的位置。如圖2所示,對每個新產生的組合可通過6個步驟將其插入到鏈表合適的位置。
(1)從Head到Tail方向逐個區間掃描,確定left和right滿足條件left. z_Total_Q
(2)new與right比較,如果new的價格不低于right,則舍棄new。結束。
(3)從left開始往Head方向搜索,標注所有滿足包含流量比new少但價格比new高的節點,直到不滿足該條件為止。back為包含流量比new少但價格比new低的流量最大的節點。
(4)將back-left段(不含back但含left)從鏈表中刪除,推薦new比推薦這些節點更劃算。
(5)new與back比較,如果不滿足條件(new. z_Total_P-back. z_Total_P)≤K*(new. z_Total_Q-back. z_Total_Q),則舍棄new,將back與right重新鏈接。結束。
(6)如果滿足條件(new. z_Total_P-back. z_Total_P)≤K*(new. z_Total_Q-back. z_Total_Q),則將back、new和right鏈接起來。結束。
算法第二步:生成推薦方案
由式(6)可得,推薦的每檔套餐都對應一個流量的左邊界值和右邊界值。如圖3所示,定義結構體類型struct GPRSRecomended來表示一個推薦方案。其中,Left_Q、Right_Q分別表示一個推薦方案的左邊界值和右邊界值。申請一個動態數組來存放推薦方案,遍歷算法第一步生成的套餐組合鏈表,設置數組各元素的Package域。然后再從頭掃描動態數組,分別設置各個推薦組合的左邊界值和右邊界值。
表3展示了當前資費標準下的標準月套餐和流量疊加套餐組合推薦方案的一部分。
顯然,根據算法求解出來的推薦方案可能包含個數太多的套餐,要求用戶接受這種推薦方案是不切實際的。一個折中的方案是:在套餐組合生成時,按照一定的閥值,將數目多于該閥值的套餐組合剔除,再進行推薦。取3組流量使用習慣相似的用戶,分別進行2、3和4個套餐的推薦,發現推薦2個套餐時接受推薦的用戶數占總推薦用戶數的比例約為75.4%,推薦3個套餐時比例降到66.7%,推薦4個套餐時比例迅速降到29.2%。由此可見,就推薦效果而言,向用戶推薦的套餐個數最好不超過3個。
4 ? 總結
在2013年8月末基于標準月套餐和疊加套餐的推薦模型實施了大規模的套餐推薦。經統計,推薦效果明顯,目標用戶進行套餐升級基本符合推薦套餐,有效地減少了用戶超數據流量使用的情況并減低該主題的萬用戶投訴率。
4.1 ?推薦效果分析
如表4所示,對比8、9月份的流量經營指標和投訴指標都得到了顯著改善。產生套餐外流量和流量投訴的用戶明顯減少,升級月套餐和辦理疊加包的用戶明顯增多??紤]到東莞移動巨大的用戶數,指標每提升1個百分點都意味著上萬到十萬的用戶受益。
表4 ? ?東莞移動數據套餐現狀統計數據推薦效果分析
統計指標 8月 9月 指標改善
數據套餐投訴用戶數/有效上網用戶數 8.26% 5.36% 減少2.90%
產生套餐外流量用戶數/有效上網用戶數 11.70% 9.17% 減少2.53%
產生套餐外流量并投訴的用戶數/產生套餐外流量用戶數 26.28% 20.10% 減少6.18%
產生套餐外流量下月升級套餐的用戶數/產生套餐外流量用戶數 2.73% 8.06% 增多5.33%
辦理了疊加包的用戶數/有效上網用戶數 12.39% 16.52% 增多4.13%
4.2 ?創新點
(1)定義了套餐數據流量使用飽和度,采用套餐數據流量使用飽和度來評估用戶對數據流量的使用習慣,并提出了基于套餐數據流量使用飽和度的用戶數據流量需求預測模型。
(2)基于用戶數據流量需求預測模型,先設計了單個標準月套餐的推薦模型,再設計了基于標準月套餐和疊加套餐的推薦模型,該模型經計算機編程后可方便求解。
參考文獻:
[1] 中國移動廣東有限公司官網. 手機流量套餐資費標準[EB/OL]. (2014-02-01)[2014-05-10]. http://gd.10086.cn/commodity/options/detail/GPRS_FUNCTION_10.shtml.
[2] 網易科技. 專欄:應用流量包月將改變手機使用習慣[EB/OL]. (2013-04-24)[2014-05-10]. http://tech.163.com/13/0424/05/8T6VNC0D00094N0U.html.
[3] 費培之,程中瑗層. 數學模型實用教程[M]. 四川: 四川大學出版社, 1998.
[4] 嚴蔚敏,吳偉民. 數據結構(C語言版)[M]. 北京: 清華大學出版社, 2008.
[5] 譚浩強. C語言程序設計[M]. 2版. 北京: 清華大學出版社, 2002.endprint