領先指標

不知道如何優化你的網站嗎?你需要屬於你的「領先指標」

「下單轉換率」未必適用於你所提供的商品/服務

一般的電商網站,如果想要衡量電商網站的表現與業績,通常都有幾個很明確的指標能夠使用 e.g. 下單轉換率、加入購物車數量…,不過,萬一你的網站提供的是服務、是客製化商品,屬於沒辦法在電商網站上直接結單特性的服務,那該怎麼衡量你的電商網站表現呢?

以旅行社網站為例,照道理來說,一套要價數萬甚至近十萬元的旅遊行程,一般消費者通常都會貨比三家,看看哪間旅行社的品質比較好,甚至進一步親自聯絡幾間自己有興趣的旅行社,詢問行程的細節以及特別報價等等,從上面可以發現,消費者的決策過程會拉的非常長,如果單以一般電商網站常用的”下單轉換率”來衡量整體網站的表現,那勢必將永遠慢一步發現問題,因為”下訂單”這個結果,對這幾種特定的服務來說,是經過好幾週,甚至是好幾個月考慮後的結果,所以”下訂單”這個指標在這個行業中為落後指標;如果你突然發現”下訂單”次數開始減少了,才開始警覺有問題發生,很抱歉,你已經慢了好幾週甚至是好幾個月了。

如何找到屬於你商品/服務的領先指標

為了避免出現前一段所提到的狀況,問題已經持續了一段時間才發現,接下來要跟大家分享,如何找到屬於你網站的領先指標,讓你在問題一發生的時候就能夠有所警覺;首先,你必須要找出能夠明確做為你公司業績的指標,譬如一般電商網站可能是看”下單數”;如果是以旅行社的網頁來看,可能是”下單數”或是”聯絡次數”,雖然我前面說這些指標是落後指標,不過這些落後指標在協助我們尋找領先指標的時候會派上非常大的用場。

那我們要利用這些指標來做什麼事情呢?這邊必須要先提一個假設,我們假設會來我們網站上下單的人都有一些類似的行為,這些行為是什麼不知道,必須要一步一步來驗證;如果你同意這個假設,接下來我們就要來進一步挖掘這些人的相同行為。

我們以旅行社來做例子,我這邊選用”是否進行聯絡”來做為我們的標準指標,所以我可以從GA上面透過「區隔」來篩選出曾經透過網站上”聯絡我們”頁面來聯絡我們的使用者,在建立好你GA的區隔之後,接著點選到「目標對象」中的「使用者多層檢視」報表

從上圖可以發現,每一個有達成”聯絡我們”這項目標的使用者在我們網站的使用數據,譬如平均工作階段時間長度、跳出率…等等,由於我這邊使用的範例是旅行社的網站,所以”交易次數”、”收益”等等指標不太適用於這個網站;直觀地想,如果希望顧客達成”聯絡我們”這項目標,是不是代表他已經看過我們的網站一段時間,了解完行程過後而進一步聯絡,基於這樣的想像,我這邊決定先使用”平均工作階段時間長度”來進行分析,希望了解這些有達成”聯絡我們”目標的客戶的”平均工作階段時間長度”的平均值是否與那些沒有達成”聯絡我們”目標的客戶的”平均工作階段時間長度”的平均值有顯著差異。

看到這邊你可能會有疑問,如果想要看平均值有沒有顯著差異,為什麼不直接從其他GA報表得出平均工作階段時間長度的平均值然後直接比較就好呢?原因是因為,我們不能保證在這些達成目標以及未達成目標的使用者中出現極值或是異常值而直接影響了平均值,如果我們直接使用其他報表的平均值來比較,在一定程度上,平均值勢必會受到這些極值影響,但藉由使用者多層檢視報表,我們可以看到每一個使用者的使用情況,進而去排除那些雖然有達成目標,但可能是極值的情況。
舉例來說,從使用者多層檢視報表中我發現,有少數幾位使用者的到達頁面直接是該旅行社網站的”聯絡我們”頁面,並且在該頁面停留不到10秒就離開網站了(p.s. 該目標設定為只要點選至該網站就算達成目標),雖然定義上,這些使用者是達成了我們在GA所設定上的目標沒錯,但是這些使用者並沒有像我前面所說的,已經瀏覽過其他商品頁面才點擊至”聯絡我們”頁面,所以應該要把這些人的資料給排除,避免影響我們的最終結果。

統計檢驗:Student’s t test

為了統計上能夠更真實地反映資料的情況,建議大家樣本數量越大越好,不過也要考量自己的資料狀況,假設你在某個時間點將你的網站做重大的改版或更新,那麼你就要評估一下,這個改版或更新有沒有可能改變使用者的行為,如果有可能的話,建議依照時間點來切分資料,再分別用這兩份不同的資料去做檢驗。

這邊我們會採用”Student’s t test”來驗證兩筆資料的”平均工作階段時間長度”的平均值是否有顯著差異,如果有顯著差異,那我們就能夠用這項指標來衡量一個使用者是否有可能達成我們前面所提到的目標-“聯絡我們”,以及如果希望使用者達成”聯絡我們”這個目標,我們可以優先做哪些事情等等。

由於大多統計軟體都需要付費,所以我們這邊使用Python來進行統計分析,如果你不會Python也沒關係,只要把最基本的Python安裝好,以及安裝我們這邊會用到的插件幾可,剩下的部分只要改參數就可以囉!不過本篇文章重點並不是在教大家如何使用Python,所以這邊就不帶到太多Python的部份。

首先,你必須先將有達成目標的使用者以及沒有達成目標的使用者的使用者多層檢視報表資料以副檔名.xlsx下載下來,如果你不熟悉電腦的檔案位置以及Python相關讀取檔案的使用方法,這邊建議你直接將這兩個檔案上傳到Jupyter Notebook上,與待會你新建的Python 3檔案同個路徑即可,就不用多去煩惱路徑的問題。基本上程式碼的地方照著複製貼上就可以,如果有需要修改或是注意的地方我會特別提到。

1.這邊我們分別會用到兩個套件,分別是pandas以及scipy.stats的ttest_indpython_1

2.接下來讀取從GA下載下來的兩檔案python_2
pd.read_excel()當中的””部分,中間替換成檔案的名稱;如果你沒有去動這兩個xlsx檔案,資料通常會在第二張工作表,所以我們這邊sheet_name的參數輸入1

3.將資料中需要的部分擷取出來
python_3

4.student’s t test
python_4

如果大家有興趣了解更多student’s t test,可以上網搜尋了解;當然他有更加嚴謹的定義,像是資料必須要符合3個假設等等,由於繼續深入會寫不完QQ,所以我點到為止,有興趣的大家歡迎自己Google

5.結果
python_5

結果顯示,這兩筆資料的”平均工作階段時間”的平均值有顯著差異,也就是說我們可以使用這個指標來區別有達成目標以及沒達成目標的使用者的行為。

不過!雖然他們有顯著差異,但並不能說這項指標就能夠決定使用者會不會達成目標,因為使用者的行為決策是由多項變因構成的,譬如他使用的裝置、他的瀏覽器、性別…等等,在這邊我們只是找到其中一項可以參考的指標。
python_6

從上圖我們可以發現有達成目標的使用者平均工作階段時間為461秒,未達成目標的使用者平均工作階段為226秒,經過前面的統計檢驗也發現,這兩者確實有顯著差異,因此我們可以說,這些達成目標的使用者有一個共同的特徵,而且跟未達成目標使用者有很明顯的差異,那就是他們的平均工作階段時間為461秒,代表什麼意思呢?如果你希望使用者達成目標-“聯絡我們”,那你可以先嘗試提高使用者的平均工作階段時間至461秒,如果使用者的平均工作階段時間達到或是超過461秒,他會有更高的可能性達成目標-“聯絡我們”。

當然,影響使用者平均工作階段時間的因素有很多,不過這個指標相較於達成目標次數這個指標來說,已經能夠更快速地反映使用者有沒有機會進一步聯絡我們,因此我們就可以開始測試怎麼樣的設計、排版或是商品內容能夠提高使用者的平均工作階段時間,進而達成目標-“聯絡我們”。

本文為了方便了解,只檢驗一種指標而已,基本上所有指標都可以用同樣的方法來做測試,只要依照資料型別的不同做一些資料清理以及使用不同的統計檢驗方法即可,希望大家都能夠找到適合自己網站的領先指標!

為了排版美觀,這邊就不另外貼上code了,如果自己懶得打這些code,想要code的原檔,麻煩再email給我告訴我你要這邊文章的code

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *