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