我們?cè)谶M(jìn)行數(shù)據(jù)分析的時(shí)候,大部分時(shí)間都在使用趨勢(shì)分析、比較分析、細(xì)分分析這三類方法,但其實(shí)還有一個(gè)方法我們也會(huì)經(jīng)常使用——交叉分析,尤其是在排查數(shù)據(jù)異常的問(wèn)題時(shí),交叉分析就能展現(xiàn)其強(qiáng)大的威力,
多維交叉分析
。另外要跟大家說(shuō)聲抱歉的是博客的更新頻率可能沒(méi)有那么頻繁了,但是盡量每個(gè)月至少能發(fā)布一篇,希望文章的質(zhì)量有所保證,還是歡迎大家留言討論,能夠發(fā)起一些有趣的話題,一起拓展在網(wǎng)站數(shù)據(jù)分析方面的思路。什么是交叉分析?
交叉分析是指對(duì)數(shù)據(jù)在不同維度進(jìn)行交叉展現(xiàn),進(jìn)行多角度結(jié)合分析的方法,彌補(bǔ)了獨(dú)立維度進(jìn)行分析沒(méi)法發(fā)現(xiàn)的一些問(wèn)題。
交叉分析以多維模型和數(shù)據(jù)立方為基礎(chǔ),也可以認(rèn)為是一種特殊的細(xì)分方式,但跟細(xì)分的概念有點(diǎn)差異,如果有興趣可以先閱讀下之前的文章——數(shù)據(jù)立方體與OLAP。細(xì)分的方法更多的是基于同一維度的縱深展開(kāi),也就是OLAP中的鉆。―rill-down),比如從月匯總的數(shù)據(jù)細(xì)分來(lái)看每天的數(shù)據(jù),就是在時(shí)間維度上的細(xì)分,或者從省份的數(shù)據(jù)細(xì)分查看省份中各城市的數(shù)據(jù),是基于地域維的下鉆。交叉分析不再局限于一個(gè)維度,就像數(shù)據(jù)立方體與OLAP文章中的立方體,是基于不同維度的交叉,時(shí)間維、地域維和產(chǎn)品維交叉在一起分析每個(gè)小立方的數(shù)據(jù)表現(xiàn),可以通過(guò)OLAP的切片(Slice)和切塊(Dice)操作查看例如上海市在3月份的電子產(chǎn)品的銷售情況,這會(huì)幫助我們發(fā)現(xiàn)很多在單個(gè)維度中無(wú)法發(fā)現(xiàn)的問(wèn)題。所以,交叉分析是基于不同維度橫向地組合交叉,而不是細(xì)分在同一維度的縱向展開(kāi)。
交叉分析的展現(xiàn)形式
交叉分析涉及多維度的組合,雖然圖表和表格都可以進(jìn)行展現(xiàn),但因?yàn)閳D表所能表達(dá)的數(shù)據(jù)有限,且比較不容易把多個(gè)維度的交叉關(guān)系展現(xiàn)出來(lái),在交叉分析中不太常用,通常以表格為主。我們平常在看的表格通常被叫做二維表,一般第一列放置一個(gè)維度,如日期,表頭羅列各類指標(biāo)(其實(shí)所有指標(biāo)也可以被認(rèn)為是一種特殊的維度——指標(biāo)維),這樣行列的兩個(gè)維就組成了最常見(jiàn)的二維表。二維表可以進(jìn)行擴(kuò)展,進(jìn)而展現(xiàn)更加豐富的維度:
如上圖就是典型的基于表格的多維度交叉分析的布局,在行列中分層次放置多個(gè)維度,如果我們只顯示一個(gè)指標(biāo),那么這里的指標(biāo)維就沒(méi)有顯示的必要了。其實(shí)Excel的數(shù)據(jù)透視表(Pivot Table)就是交叉分析的利器,我在數(shù)據(jù)的報(bào)表和報(bào)告這篇文章中提到過(guò)數(shù)據(jù)透視表,這里還是基于那篇文章截圖的原始數(shù)據(jù),如果我們將各維度按照上面的布局形式進(jìn)行展現(xiàn)的話,會(huì)是怎么樣的效果:
看起來(lái)還不錯(cuò),顯示的信息非常豐富,左邊包含了以天為單位時(shí)間維和產(chǎn)品維,可以使用展開(kāi)按鈕進(jìn)行匯總和展開(kāi),就像是細(xì)分的操作;上面的表頭部分分兩層羅列了地域維和指標(biāo)維,Excel的透視表提供了豐富的設(shè)置,默認(rèn)展現(xiàn)基于各個(gè)維度的匯總數(shù)據(jù),讓我們可以從“總-分”的角度觀察數(shù)據(jù),這對(duì)數(shù)據(jù)分析非常有用。假如我們使用上面的透視表進(jìn)行交叉分析發(fā)現(xiàn)數(shù)據(jù)是否存在異常?
使用從總體到細(xì)節(jié)的分析方法,首先可以從查看每天銷售額和轉(zhuǎn)化率的匯總數(shù)據(jù)開(kāi)始,折疊產(chǎn)品維之后觀察最右側(cè)的指標(biāo)匯總列就可以看到每日匯總數(shù)據(jù);如果某一天的銷售額或轉(zhuǎn)化率出現(xiàn)了大幅的下滑,我們就可以結(jié)合各種維度尋找問(wèn)題的原因,就是基于各種維度的細(xì)節(jié)數(shù)據(jù),展開(kāi)產(chǎn)品維觀察當(dāng)天的哪類產(chǎn)品銷售出現(xiàn)了問(wèn)題,然后結(jié)合地域維的交叉數(shù)據(jù),可以定位哪類商品在哪個(gè)省份的銷售出現(xiàn)了問(wèn)題,這樣就有效地將問(wèn)題定位到了細(xì)節(jié)的層面,能夠更好地發(fā)現(xiàn)問(wèn)題,進(jìn)而解決問(wèn)題。所以交叉分析其實(shí)正是體現(xiàn)了分析“分而析之”的本意。
上面的方法一般是比較常用的基于問(wèn)題的分析方法,但我們很少可以一次就定位到問(wèn)題,往往我們會(huì)根據(jù)推測(cè)多次查詢數(shù)據(jù)庫(kù)或查看Dashboard上的各類報(bào)表來(lái)定位問(wèn)題。而結(jié)合透視表的交叉分析,我們使用一張報(bào)表就快速地定位了問(wèn)題所在,從總體到細(xì)節(jié),邏輯非常清晰,問(wèn)題的定位也非常準(zhǔn)確和到位,所以合理地利用交叉分析可以幫助我們更加高效地排查問(wèn)題。
交叉分析的基礎(chǔ)
這里不得不再說(shuō)一下交叉分析基于的底層基礎(chǔ)數(shù)據(jù)模型,因?yàn)槿绻麤](méi)有設(shè)計(jì)好底層的數(shù)據(jù)模型,上層的交叉分析是很難實(shí)現(xiàn)的,或者多維的交叉受到限制而使分析存在局限性,
管理資料
《多維交叉分析》(http://www.szmdbiao.com)。從技術(shù)層面來(lái)看,交叉分析基于多維模型,數(shù)據(jù)的維度越豐富,所能實(shí)現(xiàn)的交叉也越豐富和靈活,通過(guò)各種交叉分析能夠更加有效地發(fā)現(xiàn)問(wèn)題;但相應(yīng)的,如果要盡可能地豐富各維度的交叉分析,對(duì)基層模型的要求也就越高。所以如何設(shè)計(jì)好數(shù)據(jù)的底層模型非常關(guān)鍵,還是引用數(shù)據(jù)立方體與OLAP文中的那個(gè)數(shù)據(jù)立方看個(gè)簡(jiǎn)單的例子:
如果一張網(wǎng)站分析的報(bào)表只包含以月度為單位的日期維和相應(yīng)的指標(biāo),那么數(shù)據(jù)的存儲(chǔ)就是每個(gè)月一條記錄,但顯然這種高度聚合的數(shù)據(jù)不利于分析,我們需要構(gòu)建如上圖的數(shù)據(jù)立方體來(lái)獲取更加細(xì)節(jié)的數(shù)據(jù)。用數(shù)據(jù)立方來(lái)拓展數(shù)據(jù)細(xì)節(jié)有兩種方向,一類是縱深拓展,也就是基于一個(gè)維度的細(xì)分,比如將一個(gè)月細(xì)分到每一天,那么一條記錄將會(huì)被拓展成30條;還有一種是橫向的拓展,就是多個(gè)維度的交叉,就像上面立方中添加了產(chǎn)品維和地域維。這樣存儲(chǔ)的數(shù)據(jù)就從原本單一的時(shí)間維度擴(kuò)展成了時(shí)間、產(chǎn)品和地域三個(gè)維度,也就是三維立方體所能展現(xiàn)的形式,當(dāng)然維度可以繼續(xù)擴(kuò)展,四個(gè)五個(gè)直到N個(gè),理論上都是可行的,這里只要以三個(gè)維度進(jìn)行舉例就可以。對(duì)于數(shù)據(jù)存儲(chǔ)而言,橫向的拓展與縱深拓展的影響是一樣的,記錄數(shù)都是以倍乘的方式增長(zhǎng),假設(shè)這里產(chǎn)品維是產(chǎn)品大類,有20個(gè)產(chǎn)品大類,再加上32個(gè)省份或直轄市,那么經(jīng)過(guò)縱深和橫向拓展之后,原先每月的1條記錄就變成了:
1 × 30 × 20 × 32 = 19200
而我們?cè)跇?gòu)建多維模型的時(shí)候很多維度中包含的數(shù)據(jù)量絕對(duì)不像上面例舉的那么小,想象一下網(wǎng)站的商品或者頁(yè)面的數(shù)量可能是成百上千甚至成千上萬(wàn)的,那么一旦以倍乘的形式擴(kuò)展之后,數(shù)據(jù)量就會(huì)一下子劇增。雖然豐富的多維立方能夠給分析帶來(lái)便利,但也同時(shí)給數(shù)據(jù)的存儲(chǔ)和查詢帶來(lái)的壓力。
所以,更加豐富和靈活的分析需求的實(shí)現(xiàn)基于更加復(fù)雜的多維模型或者數(shù)據(jù)立方,同時(shí)會(huì)帶來(lái)更大的系統(tǒng)開(kāi)銷。Google Analytics很好地權(quán)衡了靈活的數(shù)據(jù)分析與復(fù)雜數(shù)據(jù)模型之間的關(guān)系,這也是Google Analytics強(qiáng)大功能的基本保障,GA的高級(jí)細(xì)分(Advanced Segments)和自定義Dashboard是其他同類免費(fèi)網(wǎng)站分析工具所無(wú)法比擬的,這也正是為什么我們將GA劃分到網(wǎng)站數(shù)據(jù)分析工具,而其他的大部分只能算作網(wǎng)站數(shù)據(jù)統(tǒng)計(jì)工具的原因。而GA正是基于其構(gòu)建的強(qiáng)大的底層數(shù)據(jù)模型和高效的數(shù)據(jù)計(jì)算和響應(yīng)能力,使很多分析功能可以得到擴(kuò)展,其中很多就涉及交叉分析,這里截圖了其中的兩個(gè)功能,Secondary Dimension和Pivot:
Google Analytics新版本增加了很多令人心動(dòng)的功能,Secondary dimension的功能從老版本得到了延續(xù),上圖在Content模塊的Page報(bào)表中選擇了流量來(lái)源作為第二維度,這樣我們就可以查看每個(gè)頁(yè)面的流量是從何而來(lái),每個(gè)流量來(lái)源在該頁(yè)面的數(shù)據(jù)表現(xiàn),同時(shí)可能還可以發(fā)現(xiàn)一些有趣的現(xiàn)象,比如某些頁(yè)面的流量基本都是一個(gè)來(lái)源帶來(lái)的,比如我的博客的某些文章基本都是通過(guò)搜索引擎進(jìn)來(lái)的,而另外一些文章基本通過(guò)直接流量帶來(lái)。
在GA的各類報(bào)表中可以在右上角選擇展現(xiàn)的形式,最后的一種就是Pivot,Pivot的形式對(duì)表格的表頭進(jìn)行了擴(kuò)展,可以分層次放置另外的維度,如上圖還是使用了頁(yè)面與流量來(lái)源的交叉,將Source維度放到了指標(biāo)的上方。同時(shí)GA支持在兩個(gè)維度的基礎(chǔ)上最多選擇兩個(gè)度量Metric,我這里選擇了Pageviews和Bounce Rate,來(lái)衡量每個(gè)頁(yè)面中各類流量來(lái)源所帶來(lái)的“量”和“質(zhì)”,同樣對(duì)于分析非常有價(jià)值。
多維的交叉分析我們?cè)谌粘V袧撘颇亟?jīng)常會(huì)用到,交叉分析對(duì)于問(wèn)題的排查和定位額外有效,所以我們需要想辦法用更好的形式去展現(xiàn)數(shù)據(jù),以便于更有利于進(jìn)行交叉分析,其實(shí)這里介紹的透視表的方式是最常用的,也是比較好用的,但這類方式太少,不知道大家有沒(méi)有其他更加有效的交叉分析展現(xiàn)方式。