一種基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法
【專利摘要】本發(fā)明公開(kāi)了一種基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法,包括步驟:1)用戶行為數(shù)據(jù)采集;2)崩潰分析;3)關(guān)鍵路徑轉(zhuǎn)化率分析;4)頻繁序列挖掘;5)聚類分析。本發(fā)明根據(jù)移動(dòng)互聯(lián)網(wǎng)特點(diǎn),研究移動(dòng)用戶的群體使用行為,協(xié)助開(kāi)發(fā)者設(shè)計(jì)更加完美的軟件應(yīng)用并提高程序調(diào)試效率,從而提升移動(dòng)應(yīng)用開(kāi)發(fā)質(zhì)量。可對(duì)大型社交、電商、電子政務(wù)等移動(dòng)互聯(lián)網(wǎng)行業(yè)平臺(tái)應(yīng)用的數(shù)據(jù)內(nèi)容搜集與獲取提供良好而廣泛的共性技術(shù)支撐。
【專利說(shuō)明】
一種基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)的技術(shù)領(lǐng)域,尤其是指一種基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法。
【背景技術(shù)】
[0002]近年來(lái),隨著智能手機(jī)、平板電腦等移動(dòng)終端設(shè)備逐漸普及,依托3G、4G網(wǎng)絡(luò)和強(qiáng)大云端服務(wù)支持的移動(dòng)互聯(lián)網(wǎng)行業(yè)成長(zhǎng)迅速。據(jù)2015年《第35次互聯(lián)網(wǎng)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》統(tǒng)計(jì),中國(guó)網(wǎng)民規(guī)模達(dá)6.49億,手機(jī)網(wǎng)民規(guī)模達(dá)5.57億,手機(jī)上網(wǎng)已經(jīng)逐漸成為上網(wǎng)的首選方式,達(dá)到上網(wǎng)總?cè)藬?shù)的85.8%。作為移動(dòng)互聯(lián)網(wǎng)的核心內(nèi)容,移動(dòng)應(yīng)用正在人們的日常工作和生活中扮演著越來(lái)越重要的角色,移動(dòng)應(yīng)用在為用戶帶來(lái)豐富的體驗(yàn)的同時(shí),更帶來(lái)了網(wǎng)絡(luò)時(shí)代新型的營(yíng)銷方式。移動(dòng)終端多樣性、接入靈活性、智能與傳感的特性也對(duì)軟件應(yīng)用及其服務(wù)質(zhì)量提出了更高要求,一個(gè)應(yīng)用在某類手機(jī)平臺(tái)上穩(wěn)定而正常工作,換款手機(jī),升級(jí)操作系統(tǒng)往往會(huì)帶來(lái)閃退,黑屏等諸多問(wèn)題,研究移動(dòng)應(yīng)用可靠性保障技術(shù)比傳統(tǒng)基于PC應(yīng)用需求更為迫切;此外智能手機(jī)與個(gè)人信息的深度綁定,通過(guò)對(duì)各種類型移動(dòng)應(yīng)用的用戶使用行為數(shù)據(jù)進(jìn)行挖掘和分析,不僅能挖掘出更為個(gè)性化的信息,使得業(yè)務(wù)開(kāi)展更具針對(duì)性,更能挖掘行業(yè)痛點(diǎn),在極短時(shí)間有可能實(shí)現(xiàn)業(yè)務(wù)的爆發(fā)式拓展。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法,根據(jù)移動(dòng)互聯(lián)網(wǎng)特點(diǎn),研究移動(dòng)用戶的群體使用行為,協(xié)助開(kāi)發(fā)者設(shè)計(jì)更加完美的軟件應(yīng)用并提高程序調(diào)試效率,從而提升移動(dòng)應(yīng)用的開(kāi)發(fā)質(zhì)量。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明所提供的技術(shù)方案為:一種基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法,包括以下步驟:
[0005]I)用戶行為數(shù)據(jù)采集
[0006]在保證移動(dòng)應(yīng)用源代碼的邏輯完整性的基礎(chǔ)上,在程序中插入可定制的數(shù)據(jù)收集代碼,這部分工作在編譯期完成,不污染源代碼,通過(guò)觸發(fā)插粧代碼的執(zhí)行來(lái)獲取程序運(yùn)行的相關(guān)數(shù)據(jù),并通過(guò)自定義事件和自定義指標(biāo)的跟蹤和分析,獲得程序的控制流和數(shù)據(jù)流信息,從而實(shí)現(xiàn)數(shù)據(jù)收集的目的;其中,主要收集應(yīng)用的新增用戶、活躍用戶、啟動(dòng)次數(shù)、版本分布、用戶地域分布這些行業(yè)指標(biāo)數(shù)據(jù),以及每個(gè)用戶在使用移動(dòng)應(yīng)用時(shí)頁(yè)面的瀏覽順序,每個(gè)頁(yè)面的平均加載時(shí)間、逗留時(shí)間這些用戶行為數(shù)據(jù);
[0007]2)崩潰分析
[0008]研究各主流操作系統(tǒng)不可檢測(cè)異常的調(diào)用過(guò)程和工作原理,通過(guò)重寫操作系統(tǒng)底層的異常捕獲機(jī)制來(lái)實(shí)現(xiàn)個(gè)性化的崩潰信息收集和分析,從而達(dá)到在移動(dòng)應(yīng)用發(fā)生異常時(shí)能實(shí)時(shí)收集開(kāi)發(fā)者定制的異常信息,包括:I)移動(dòng)設(shè)備的硬件信息:操作系統(tǒng)類型、操作系統(tǒng)版本、移動(dòng)設(shè)備廠商、SDK版本信息,從而能夠判斷崩潰現(xiàn)象的發(fā)生是否由于硬件不兼容而導(dǎo)致;2)移動(dòng)設(shè)備的運(yùn)行時(shí)信息:移動(dòng)設(shè)備的總CPU使用率、內(nèi)存占用率、溫度以及該應(yīng)用的CPU占用率、內(nèi)存占用率,從而能夠斷崩潰現(xiàn)象的發(fā)生是否由于移動(dòng)設(shè)備性能原因或者應(yīng)用消耗設(shè)備資源過(guò)大而導(dǎo)致;3)異常堆棧的具體信息,幫助開(kāi)發(fā)者判斷崩潰現(xiàn)象是否由于代碼出現(xiàn)Bug而導(dǎo)致,并提供線索定位解決異常;最后通過(guò)收集并歸類崩潰類型,提供錯(cuò)誤管理及數(shù)據(jù)分析工具,從而提高解決崩潰問(wèn)題的效率;
[0009]3)關(guān)鍵路徑轉(zhuǎn)化率分析
[0010]關(guān)鍵路徑轉(zhuǎn)化率分析使用漏斗模型進(jìn)行建模,幫助開(kāi)發(fā)商確定某個(gè)流程的設(shè)計(jì)是否合理,各步驟間的組織是否存在優(yōu)化的空間;假設(shè)漏斗定義的關(guān)鍵路徑是A-B-C-D-E,則如下:
[00?1 ] ①用戶完成了 A-B-C-D-E,那么認(rèn)為這個(gè)用戶成功完成了 A-B_C-D_E;
[0012]②用戶完成了A-B-C-F-D-E,那么認(rèn)為這個(gè)用戶成功完成了A-B-C-D-E,只不過(guò)是按松散的順序完成的;
[0013]③用戶完成了A-B-C-E,那么認(rèn)為這個(gè)用戶成功完成了 A-B-C和一次E;
[0014]④用戶完成了 A-B-C-A-B-C-D-D-E,那么認(rèn)為這個(gè)用戶成功完成了一次A-B-C-D-E,完成了一次 A-B-C-D;
[0015]⑤用戶完成了 A-A-B-B-C-C-D-D-E-E,那么認(rèn)為這個(gè)用戶成功完成了兩次A-B-C-D-E ;
[0016]⑥用戶完成了 A-A-B-B-C-D-D-E-E,那么認(rèn)為這個(gè)用戶成功完成了一次A-B-C-D-E,完成了一次A-B和一次D-E;
[0017]⑦用戶完成了 A-B-C-B-A-A-B-C-D-D-E,那么會(huì)認(rèn)為這個(gè)用戶成功完成了一次A-B-C-D-E,完成了 一次 A-B-C-D,和一次 A,一次 B ;
[0018]采用上述模型能夠分析得到移動(dòng)應(yīng)用各頁(yè)面之間的轉(zhuǎn)化率,通過(guò)自定義關(guān)鍵路徑,就能夠得到該關(guān)鍵路徑各頁(yè)面之間的轉(zhuǎn)化率;
[0019]4)頻繁序列挖掘
[°02°] 采用MFSGrowth方法進(jìn)行用戶數(shù)據(jù)的頻繁序列挖掘,該方法以FPTree和TriedTree算法為基礎(chǔ);其中,將MFSGrowth方法用于頻繁序列挖掘有以下兩個(gè)步驟:
[0021]4.1)生成MFSTree;
[0022]4.2)生成以某個(gè)頻繁項(xiàng)為根節(jié)點(diǎn)的InvTree;
[0023]5)聚類分析
[0024]用戶聚類根據(jù)用戶的使用行為,生成相應(yīng)特征并聚類,通過(guò)用戶聚類能夠幫助開(kāi)發(fā)商了解各用戶群體的整體使用情況,并根據(jù)各用戶群體的使用規(guī)律提供個(gè)性化服務(wù);
[0025]采用雙層聚類算法實(shí)現(xiàn)對(duì)用戶使用行為的聚類分析:
[0026]第一層聚類即基于序列相似度的聚類DBScan:該層主要使用DBScan聚類算法,基于用戶的訪問(wèn)序列以及訪問(wèn)時(shí)間的相似度,對(duì)用戶會(huì)話進(jìn)行聚類,得到的結(jié)果為多個(gè)序列類集;
[0027]第二層聚類即基于用戶行為相似度的聚類k-means:該層主要使用k-means聚類算法,在第一層聚類的結(jié)果上根據(jù)用戶在每個(gè)序列類集中的使用比例對(duì)用戶進(jìn)行聚類。
[0028]DBScan是一種基于密度的聚類算法,它有一個(gè)核心點(diǎn)的概念:如果一個(gè)點(diǎn),在距它Eps的范圍內(nèi)有不少于MinPts個(gè)點(diǎn),則該點(diǎn)就是核心點(diǎn),核心和它Eps范圍內(nèi)的鄰居形成一個(gè)簇,在一個(gè)簇內(nèi)如果出現(xiàn)多個(gè)點(diǎn)都是核心點(diǎn),則以這些核心點(diǎn)為中心的簇要合并。
[0029]所述的Kmeans算法,包括以下步驟:
[0030]第一步:隨機(jī)取K個(gè)中心點(diǎn);
[0031]第二步:所有點(diǎn)分別求到這K個(gè)中心點(diǎn)的距離,并將其劃分到最近的中心點(diǎn)的簇中;
[0032]第三步:根據(jù)每個(gè)簇中的樣本點(diǎn)更新K個(gè)中心點(diǎn);
[0033]第四步:反復(fù)執(zhí)行第二、第三步,直到K個(gè)中心點(diǎn)都不發(fā)生移動(dòng)。
[0034]本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)與有益效果:
[0035]1、本發(fā)明從用戶行為分析方面對(duì)移動(dòng)應(yīng)用的質(zhì)量保證提出了有效的解決方案,為提高軟件質(zhì)量,改善用戶體驗(yàn)提供了有效保障。
[0036]2、在用戶行為分析方面提供用戶行為挖掘功能幫助移動(dòng)應(yīng)用開(kāi)發(fā)商了解App的整體運(yùn)營(yíng)情況及隱藏在大量用戶行為數(shù)據(jù)背后的規(guī)則、模式、規(guī)律,從而定制相應(yīng)的改進(jìn)策略。
[0037]3、本發(fā)明采用的基于FPTree算法和TriedTree算法實(shí)現(xiàn)的極大頻繁序列挖掘方法能夠根據(jù)用戶行為數(shù)據(jù)生成用戶頻繁訪問(wèn)的序列,為運(yùn)營(yíng)人員推廣移動(dòng)應(yīng)用和開(kāi)發(fā)人員提高用戶體驗(yàn)提供了有價(jià)值的參考數(shù)據(jù)。
【附圖說(shuō)明】
[0038]圖1為基于程序插粧的用戶行為數(shù)據(jù)收集框架圖。
[0039]圖2為電商購(gòu)物流程漏斗模型。
[0040]圖3為關(guān)鍵路徑轉(zhuǎn)化率模型。
[0041 ]圖4為構(gòu)建的MFSTree ο
[0042]圖5為E的前序逆路徑。
[0043]圖6為D的前序逆路徑。
[0044]圖7為基于用戶序列相似度聚類(DBScan)。
[0045]圖8為基于用戶行為相似度聚類(Kmeans)。
【具體實(shí)施方式】
[0046]下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0047]本實(shí)施例所述的基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法,具體情況如下:
[0048](一)用戶行為數(shù)據(jù)采集
[0049]不同與Web日志的收集,移動(dòng)應(yīng)用需要根據(jù)不同類型的操作系統(tǒng)設(shè)計(jì)不同的數(shù)據(jù)收集方法,如1S系統(tǒng)上使用Ob ject-C進(jìn)行應(yīng)用開(kāi)發(fā),Ob ject-C是解釋型語(yǔ)言,可在應(yīng)用運(yùn)行時(shí)做代碼的修改和熱替換,為原有的類與方法添加收據(jù)收集功能,Android系統(tǒng)可使用AOP思想來(lái)實(shí)現(xiàn)用戶數(shù)據(jù)的收集。Android的上層開(kāi)發(fā)采用的是Java語(yǔ)言,Android應(yīng)用開(kāi)發(fā)需要先將Java語(yǔ)言源文件先編譯成字碼文件。本發(fā)明將利用Java字節(jié)碼特性,采用靜態(tài)插粧技術(shù),設(shè)計(jì)一套統(tǒng)一的數(shù)據(jù)收集方案。如圖1所示,在保證移動(dòng)應(yīng)用源代碼的邏輯完整性的基礎(chǔ)上,在程序中插入一些可定制的數(shù)據(jù)收集代碼,這部分工作在編譯期完成,不污染源代碼,通過(guò)觸發(fā)插粧代碼的執(zhí)行來(lái)獲取程序運(yùn)行的相關(guān)數(shù)據(jù),并通過(guò)自定義事件和自定義指標(biāo)的跟蹤和分析,獲得程序的控制流和數(shù)據(jù)流信息,從而實(shí)現(xiàn)數(shù)據(jù)收集的目的。本平臺(tái)主要收集應(yīng)用的新增用戶,活躍用戶,啟動(dòng)次數(shù),版本分布,用戶地域分布等行業(yè)指標(biāo)數(shù)據(jù),以及每個(gè)用戶在使用移動(dòng)應(yīng)用時(shí)頁(yè)面的瀏覽順序,每個(gè)頁(yè)面的平均加載時(shí)間,逗留時(shí)間等用戶行為數(shù)據(jù)。
[0050](二)崩潰分析
[0051]移動(dòng)應(yīng)用在發(fā)生崩潰或者閃退現(xiàn)象時(shí)會(huì)拋出異常,異常類型主要有兩種:可檢測(cè)異常和不可檢測(cè)異常,開(kāi)發(fā)者意識(shí)到前者可能會(huì)發(fā)生異常從而使用異常捕獲機(jī)制來(lái)顯示的捕獲,而后者是開(kāi)發(fā)者未意識(shí)到的異常,它通常在程序發(fā)布后才會(huì)出現(xiàn)從而導(dǎo)致程序崩潰、停止。本發(fā)明深入研究各主流操作系統(tǒng)不可檢測(cè)異常的調(diào)用過(guò)程和工作原理,通過(guò)重寫操作系統(tǒng)底層的異常捕獲機(jī)制來(lái)實(shí)現(xiàn)個(gè)性化的崩潰信息收集和分析,從而達(dá)到在移動(dòng)應(yīng)用發(fā)生異常時(shí)能實(shí)時(shí)收集開(kāi)發(fā)者定制的異常信息,包括I)移動(dòng)設(shè)備的硬件信息:操作系統(tǒng)類型、操作系統(tǒng)版本、移動(dòng)設(shè)備廠商、SDK版本等信息,從而可以判斷崩潰現(xiàn)象的發(fā)生是否由于硬件不兼容而導(dǎo)致;2)移動(dòng)設(shè)備的運(yùn)行時(shí)信息:移動(dòng)設(shè)備的總CPU使用率、內(nèi)存占用率、溫度以及該應(yīng)用的CPU占用率、內(nèi)存占用率等,從而可以判斷崩潰現(xiàn)象的發(fā)生是否由于移動(dòng)設(shè)備性能原因或者應(yīng)用消耗設(shè)備資源過(guò)大而導(dǎo)致;3)異常堆棧的具體信息,幫助開(kāi)發(fā)者判斷崩潰現(xiàn)象是否由于代碼出現(xiàn)Bug而導(dǎo)致,并提供更多線索定位解決異常。最后通過(guò)收集并歸類崩潰類型,提供錯(cuò)誤管理及數(shù)據(jù)分析工具,從而提高解決崩潰問(wèn)題的效率。
[0052](三)關(guān)鍵路徑轉(zhuǎn)化率
[0053]關(guān)鍵路徑轉(zhuǎn)化率分析使用漏斗模型進(jìn)行建模,幫助開(kāi)發(fā)商確定某個(gè)流程的設(shè)計(jì)是否合理,各步驟間的組織是否存在優(yōu)化的空間。
[0054]漏斗模型如圖2所示(以電商購(gòu)物流程示例):
[0055]1.加入購(gòu)物車一>2.提交購(gòu)物車一>3.創(chuàng)建訂單一>4.支付訂單一>5.完成訂單。
[0056]假設(shè)漏斗定義的關(guān)鍵路徑是A-B-C-D-E:
[0057](I)用戶完成了 A-B-C-D-E,那么認(rèn)為這個(gè)用戶成功完成了 A-B-C-D-E。
[0058](2)用戶完成了A-B-C-F-D-E,那么認(rèn)為這個(gè)用戶成功完成了A-B-C-D-E,只不過(guò)是按松散的順序完成的。
[0059 ] (3)用戶完成了 A-B-C-E,那么認(rèn)為這個(gè)用戶成功完成了 A_B_C和一次E。
[0060 ] (4)用戶完成了 A-B-C-A-B-C-D-D-E,那么認(rèn)為這個(gè)用戶成功完成了一次A-B-C-D-E,完成了一次 A-B-C-D。
[0061 ] (5)用戶完成了 A-A-B-B-C-C-D-D-E-E,那么認(rèn)為這個(gè)用戶成功完成了兩次A-B-C-D-E0
[0062 ] (6)用戶完成了 A-A-B-B-C-D-D-E-E,那么認(rèn)為這個(gè)用戶成功完成了一次A-B-C-D-E,完成了一次A-B和一次D-E。
[0063](7)用戶完成了 A-B-C-B-A-A-B-C-D-D-E,那么會(huì)認(rèn)為這個(gè)用戶成功完成了一次A-B-C-D-E,完成了一次 A-B-C-D,和一次 A,一次 B。
[0064]采用該模型可以分析得到移動(dòng)應(yīng)用各頁(yè)面之間的轉(zhuǎn)化率,通過(guò)自定義關(guān)鍵路徑,可以得到該關(guān)鍵路徑各頁(yè)面之間的轉(zhuǎn)化率。如定義一個(gè)APPStart—Main—NewsDetail —null的關(guān)鍵路徑,得到如圖3所示的轉(zhuǎn)化率模型。
[0065](四)頻繁序列挖掘
[0066]頻繁序列挖掘借鑒FPGrowth和TriedTree的思想,其中,F(xiàn)PGrowth算法是用于挖掘頻繁項(xiàng)集的算法,它利用了一種特殊的數(shù)據(jù)結(jié)構(gòu),加快了整個(gè)挖掘過(guò)程;TriedTree是哈希樹(shù)的變種,它利用字符串的公共前綴來(lái)減少查詢時(shí)間,最大限度地減少無(wú)謂的字符串比較,查詢效率比哈希樹(shù)高;通過(guò)結(jié)合FPGr ο wth和Tr i e dTr e e提出一種高效的頻繁序列挖掘算法,其挖掘結(jié)果可以反映用戶的一般使用流程和瀏覽興趣,幫助開(kāi)發(fā)者改善App頁(yè)面的組織結(jié)構(gòu)。
[0067]本發(fā)明采用MFSGrowth方法進(jìn)行用戶數(shù)據(jù)的頻繁序列挖掘。該方法以FPTree和TriedTree算法為基礎(chǔ)。
[0068]將MFSGrowth方法用于頻繁序列挖掘有以下兩個(gè)步驟:
[0069]I)生成MFSTree,如圖4所示;
[0070]數(shù)據(jù)集如下(3條訪問(wèn)記錄),假設(shè)支持度閾值為2:
[0071]Sequencel:A,B,D,E
[0072]Sequence2:A,B,D,F
[0073]Sequence3:C,D,E
[0074]2)生成以某個(gè)頻繁項(xiàng)為根節(jié)點(diǎn)的InvTree。以節(jié)點(diǎn)D和E為例,如圖5和圖6所示。
[0075](五)聚類分析
[0076]用戶聚類根據(jù)用戶的使用行為,生成相應(yīng)特征并聚類,通過(guò)用戶聚類可以幫助開(kāi)發(fā)商更好地了解各用戶群體的整體使用情況,并根據(jù)各用戶群體的使用規(guī)律提供個(gè)性化服務(wù)。
[0077]本發(fā)明采用雙層聚類算法實(shí)現(xiàn)對(duì)用戶使用行為的聚類分析。
[0078]第一層聚類(基于序列相似度的聚類):該層主要使用DBScan聚類算法,基于用戶的訪問(wèn)序列以及訪問(wèn)時(shí)間的相似度,對(duì)用戶會(huì)話進(jìn)行聚類,得到的結(jié)果為多個(gè)序列類集。
[0079]DBScan是一種基于密度的聚類算法,它有一個(gè)核心點(diǎn)的概念:如圖7所示,如果一個(gè)點(diǎn),在距它Eps的范圍內(nèi)有不少于MinPts個(gè)點(diǎn),則該點(diǎn)就是核心點(diǎn)。核心和它Eps范圍內(nèi)的鄰居形成一個(gè)簇。在一個(gè)簇內(nèi)如果出現(xiàn)多個(gè)點(diǎn)都是核心點(diǎn),則以這些核心點(diǎn)為中心的簇要合并。
[0080]第二層聚類(基于用戶行為相似度的聚類):該層主要使用k-means聚類算法,在第一層聚類的結(jié)果上根據(jù)用戶在每個(gè)序列類集中的使用比例對(duì)用戶進(jìn)行聚類。
[00811 如圖8所示,Kmeans算法步驟如下:
[0082]第一步:隨機(jī)取K個(gè)中心點(diǎn)。
[0083]第二步:所有點(diǎn)分別求到這K個(gè)中心點(diǎn)的距離,并將其劃分到最近的中心點(diǎn)的簇中。第三步:根據(jù)每個(gè)簇中的樣本點(diǎn)更新K個(gè)中心點(diǎn)。
[0084]第四步:反復(fù)執(zhí)行第二、第三步,直到K個(gè)中心點(diǎn)都不發(fā)生移動(dòng)。
[0085]以上所述實(shí)施例只為本發(fā)明之較佳實(shí)施例,并非以此限制本發(fā)明的實(shí)施范圍,故凡依本發(fā)明之形狀、原理所作的變化,均應(yīng)涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法,其特征在于,包括以下步驟: 1)用戶行為數(shù)據(jù)采集 在保證移動(dòng)應(yīng)用源代碼的邏輯完整性的基礎(chǔ)上,在程序中插入可定制的數(shù)據(jù)收集代碼,這部分工作在編譯期完成,不污染源代碼,通過(guò)觸發(fā)插粧代碼的執(zhí)行來(lái)獲取程序運(yùn)行的相關(guān)數(shù)據(jù),并通過(guò)自定義事件和自定義指標(biāo)的跟蹤和分析,獲得程序的控制流和數(shù)據(jù)流信息,從而實(shí)現(xiàn)數(shù)據(jù)收集的目的;其中,主要收集應(yīng)用的新增用戶、活躍用戶、啟動(dòng)次數(shù)、版本分布、用戶地域分布這些行業(yè)指標(biāo)數(shù)據(jù),以及每個(gè)用戶在使用移動(dòng)應(yīng)用時(shí)頁(yè)面的瀏覽順序,每個(gè)頁(yè)面的平均加載時(shí)間、逗留時(shí)間這些用戶行為數(shù)據(jù); 2)崩潰分析 研究各主流操作系統(tǒng)不可檢測(cè)異常的調(diào)用過(guò)程和工作原理,通過(guò)重寫操作系統(tǒng)底層的異常捕獲機(jī)制來(lái)實(shí)現(xiàn)個(gè)性化的崩潰信息收集和分析,從而達(dá)到在移動(dòng)應(yīng)用發(fā)生異常時(shí)能實(shí)時(shí)收集開(kāi)發(fā)者定制的異常信息,包括:I)移動(dòng)設(shè)備的硬件信息:操作系統(tǒng)類型、操作系統(tǒng)版本、移動(dòng)設(shè)備廠商、SDK版本信息,從而能夠判斷崩潰現(xiàn)象的發(fā)生是否由于硬件不兼容而導(dǎo)致;2)移動(dòng)設(shè)備的運(yùn)行時(shí)信息:移動(dòng)設(shè)備的總CHJ使用率、內(nèi)存占用率、溫度以及該應(yīng)用的CPU占用率、內(nèi)存占用率,從而能夠斷崩潰現(xiàn)象的發(fā)生是否由于移動(dòng)設(shè)備性能原因或者應(yīng)用消耗設(shè)備資源過(guò)大而導(dǎo)致;3)異常堆棧的具體信息,幫助開(kāi)發(fā)者判斷崩潰現(xiàn)象是否由于代碼出現(xiàn)Bug而導(dǎo)致,并提供線索定位解決異常;最后通過(guò)收集并歸類崩潰類型,提供錯(cuò)誤管理及數(shù)據(jù)分析工具,從而提高解決崩潰問(wèn)題的效率; 3)關(guān)鍵路徑轉(zhuǎn)化率分析 關(guān)鍵路徑轉(zhuǎn)化率分析使用漏斗模型進(jìn)行建模,幫助開(kāi)發(fā)商確定某個(gè)流程的設(shè)計(jì)是否合理,各步驟間的組織是否存在優(yōu)化的空間;假設(shè)漏斗定義的關(guān)鍵路徑是A-B-C-D-E,則如下: ①用戶完成了A-B-C-D-E,那么認(rèn)為這個(gè)用戶成功完成了 A-B-C-D-E; ②用戶完成了A-B-C-F-D-E,那么認(rèn)為這個(gè)用戶成功完成了A-B-C-D-E,只不過(guò)是按松散的順序完成的; ③用戶完成了A-B-C-E,那么認(rèn)為這個(gè)用戶成功完成了 A-B-C和一次E; ④用戶完成了A-B-C-A-B-C-D-D-E,那么認(rèn)為這個(gè)用戶成功完成了 一次A-B-C-D-E,完成 了一次 A-B-C-D; ⑤用戶完成了A-A-B-B-C-C-D-D-E-E,那么認(rèn)為這個(gè)用戶成功完成了兩次A-B-C-D-E ; ⑥用戶完成了A-A-B-B-C-D-D-E-E,那么認(rèn)為這個(gè)用戶成功完成了 一次A-B-C-D-E,完成了一次A-B和一次D-E; ⑦用戶完成了A-B-C-B-A-A-B-C-D-D-E,那么會(huì)認(rèn)為這個(gè)用戶成功完成了 一次A-B-C-D-E,完成 了 一次 A-B-C-D,和一次 A,一次 B ; 采用上述模型能夠分析得到移動(dòng)應(yīng)用各頁(yè)面之間的轉(zhuǎn)化率,通過(guò)自定義關(guān)鍵路徑,就能夠得到該關(guān)鍵路徑各頁(yè)面之間的轉(zhuǎn)化率; 4)頻繁序列挖掘 采用MFSGrowth方法進(jìn)行用戶數(shù)據(jù)的頻繁序列挖掘,該方法以FPTree和TriedTree算法為基礎(chǔ);其中,將MFSGrowth方法用于頻繁序列挖掘有以下兩個(gè)步驟: 4.1)生成MFSTree; 4.2)生成以某個(gè)頻繁項(xiàng)為根節(jié)點(diǎn)的InvTree; 5)聚類分析 用戶聚類根據(jù)用戶的使用行為,生成相應(yīng)特征并聚類,通過(guò)用戶聚類能夠幫助開(kāi)發(fā)商了解各用戶群體的整體使用情況,并根據(jù)各用戶群體的使用規(guī)律提供個(gè)性化服務(wù); 采用雙層聚類算法實(shí)現(xiàn)對(duì)用戶使用行為的聚類分析: 第一層聚類即基于序列相似度的聚類DBScan:該層主要使用DBScan聚類算法,基于用戶的訪問(wèn)序列以及訪問(wèn)時(shí)間的相似度,對(duì)用戶會(huì)話進(jìn)行聚類,得到的結(jié)果為多個(gè)序列類集; 第二層聚類即基于用戶行為相似度的聚類k-means:該層主要使用k-means聚類算法,在第一層聚類的結(jié)果上根據(jù)用戶在每個(gè)序列類集中的使用比例對(duì)用戶進(jìn)行聚類。2.根據(jù)權(quán)利要求1所述的一種基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法,其特征在于:DBScan是一種基于密度的聚類算法,它有一個(gè)核心點(diǎn)的概念:如果一個(gè)點(diǎn),在距它Eps的范圍內(nèi)有不少于MinPts個(gè)點(diǎn),則該點(diǎn)就是核心點(diǎn),核心和它Eps范圍內(nèi)的鄰居形成一個(gè)簇,在一個(gè)簇內(nèi)如果出現(xiàn)多個(gè)點(diǎn)都是核心點(diǎn),則以這些核心點(diǎn)為中心的簇要合并。3.根據(jù)權(quán)利要求1所述的一種基于移動(dòng)應(yīng)用的互聯(lián)網(wǎng)用戶數(shù)據(jù)分析方法,其特征在于,所述的Kmeans算法,包括以下步驟: 第一步:隨機(jī)取K個(gè)中心點(diǎn); 第二步:所有點(diǎn)分別求到這K個(gè)中心點(diǎn)的距離,并將其劃分到最近的中心點(diǎn)的簇中; 第三步:根據(jù)每個(gè)簇中的樣本點(diǎn)更新K個(gè)中心點(diǎn); 第四步:反復(fù)執(zhí)行第二、第三步,直到K個(gè)中心點(diǎn)都不發(fā)生移動(dòng)。
【文檔編號(hào)】G06Q30/02GK105959372SQ201610298884
【公開(kāi)日】2016年9月21日
【申請(qǐng)日】2016年5月6日
【發(fā)明人】陸璐, 黎燦燦
【申請(qǐng)人】華南理工大學(xué)