「一起學」Udaicty 數據分析(入門)P4 項目總結
P4 項目背景
需要基於 Udacity 的一次真實迭代,設計一個 A/B 測試,包括測試時使用的度量和測試的運行時長等。同時根據運行 A/B 測試後的結果(部分數據有修改),來判斷是否全員執行此設計。
我的答案
一、試驗設計
1.1 指標選擇
對於每個指標,解釋你為什麼使用或不使用它作為不變指標或評估指標。此外,說明你期望從評估指標中獲得什麼樣的試驗結果。
- 不變指標
- cookie 的數量。因為我們修改的是點擊「開始免費試學」後的子頁面,相應的影響的也是後面子頁面的數據,不會影響首頁的數據,所以對於首頁的 cookie 數量並不會改變。期望結果:不變。
- 點擊次數。同理,對於首頁的「開始免費試學」點擊次數也不會改變。期望結果:不變。
- 點進概率。因為點擊「開始免費試學」點的次數以及 cookie 的數量都不變,所以點進概率也不變。期望結果:不變。
- 總轉化率。因為修改了點擊「開始免費試學」按鈕後的界面,同時會根據用戶所設的時間長短,走不同的用戶路徑。對於大於5小時的用戶,就會走登陸填寫信用卡的流程,小於5小時的用戶則會走完全免費的路徑,那麼這個環節裡面相較於原方案,會導致登陸用戶 id 數減少。同時因為點擊開始「開始免費試學」按鈕的用戶不變,分母不變分子減少,則期望結果為:變小。
- 留存率。同理,因為實驗期望「不會在很大程度上減少繼續通過免費試學和最終完成課程的學生數量」,分子不變的情況下,分母變小,則期望結果為:變大。
- 凈轉換率。因為實驗期望「不會在很大程度上減少繼續通過免費試學和最終完成課程的學生數量」,且點擊開始「開始免費試學」按鈕的用戶不變,分母不變,分子不變,那麼期望結果應該為:不變。
1.2 測量標準偏差
對於每個評估指標,說明你是否認為分析估計與經驗變異是類似還是不同(如果不同,在時間允許的情況下將有必要進行經驗估計)。簡要說明每個情況的理由。
- 總轉化率
- P = 0.20625
- N = 5000 * 0.08 = 400
- Std dev = sqrt(0.20625 * (1 - 0.20625) / 400) = 0.0202
- 因為總轉化率 = 用戶 id 的數量 / 點擊「開始免費學」按鈕的唯一 cookie 數,所以作為分母的 cookie 數既是轉移單位也是分析單位,所以分析估計與經驗變異類似。
- P = 0.53
- N = 5000 * 0.20625 = 82.5
- Std dev = sqrt(0.53 * (1 - 0.53) / 82.5) =0.0549
- 因為留存率 = 14天期限後仍然參加課程的用戶 id 數量 / 完成登陸的用戶 id 數,轉移單位是 cookie 數量,而分母是 id 數,分析單位和轉移單位不相似,所以分析估計與經驗變異不相似。
- P = 0.1093125
- N = 5000 * 0.08 = 400
- Std dev = sqrt(0.1093125 * (1 - 0.1093125) / 400) =0.0156
- 因為凈轉化率 = 14天期限後仍然參加課程的用戶 id 數量 / 點擊「開始免費學」按鈕的唯一 cookie 數,所以作為分母的 cookie 數既是轉移單位也是分析單位,所以分析估計與經驗變異類似。
1.3 規模
1.3.1 樣本數量和功效
說明你是否會在分析階段使用 Bonferroni 校正,並給出實驗正確設計所需的頁面瀏覽量。(這些應是來自「計算頁面瀏覽量」小測試中的答案。)
不使用 Bonferroni 校正。
因為 alpha = 0.05, beta = 0.2,根據在線計算器計算所得:
1. 總轉換率:
- Baseline conversion rate = Probability of enrolling, given click = 0.20625 = 20.625%
- Minimum Detectable Effect = 1%
- 樣本數量 = 25835
- 總瀏覽量 = 25835/0.08 * 2 = 645875
2. 留存率:
- Baseline conversion rate = Probability of enrolling, given click = 0.53 = 53%
- Minimum Detectable Effect = 1%
- 樣本數量 =39115
- 總瀏覽量 =39115/0.20625/0.08 * 2 =4741212
3. 凈轉換率:
- Baseline conversion rate = Probability of enrolling, given click = 0.1093125= 10.93125%
- Minimum Detectable Effect = 0.75%
- 樣本數量 = 27413
- 總瀏覽量 =27413/0.08 * 2 = 685325
取上面最大的數字作為樣本,留存率樣本總數為 4741212。
1.3.2 持續時間和暴光比例
說明你會將多少百分比的頁面流量轉入此試驗,以及鑒於此條件,你需要多少天來運行試驗。(這些應是來自「選擇持續時間和曝光」小測試中的答案。)說明你選擇所轉移流量部分的原因。你認為此試驗對優達學城來說有多大風險?
我會選擇竟可能多的頁面流量轉入此實驗,因為從風險上看此實驗對優達學城來說風險較小:
- 因為只改變了一個彈窗,對後面的學習等步驟並沒有影響,所以不會影響用戶的使用習慣。
- 該試驗沒有關於資料庫及後台的改變,不用擔心數據的丟失及由於後台的失誤導致網頁奔潰用戶無法訪問網頁等大問題。
- 因為此實驗只記錄操作數據,不記錄用戶的個人隱私數據。
- 不會對被試者造成生理及心理傷害。
- 本實驗不存在道德風險。
樣本總數為 4741212,日流量為 40000,所以 100% 流量的話,實驗天數為 119 天。但是該實驗天數太長,考慮修改樣本總數,取第二大瀏覽量 —— 685325 。然後根據此數,100% 流量的話,實驗天數為 18 天,此數較為合理。
二、試驗分析
2.1 完整性檢查
對於每個不變指標,對你在95%置信區間下期望觀察到的值、實際觀察的值及指標是否通過完整性檢查給出結論。(這些應是來自「完整性檢查」小測試中的答案)對於任何未通過的完整性檢查,根據每日數據解釋你覺得最有可能的原因。在所有合理性檢查通過前,不要開始其他分析工作。
三、結果分析
3.1 效應大小檢驗
對於每個評估指標,對試驗和對照組之間的差異給出 95% 置信區間。說明每個指標是否具有統計和實際顯著性。(這些應是來自「效應大小檢驗」小測試的答案。)
3.2 符號檢驗
對於每個評估指標,使用每日數據進行符號檢驗,然後報告符號檢驗的 p 值以及結果是否具有統計顯著性。(這些應是「符號檢驗」小測試中的答案。)
3.3 匯總
說明你是否使用了 Bonferroni 校正,並解釋原因。若效應大小假設檢驗和符號檢驗之間存在任何差異,描述差異並說明你認為導致差異的原因是什麼。
沒有使用 Bonferroni 校正。因為Bonferroni校正適用於n次獨立檢驗,所以使用Bonferroni校正過於保守。
此外,如果要進行Bonferroni校正的話,除了判斷指標是否相互獨立,我們還要判斷幾個評估度量之間是與還是或的關係。(我們期望這幾個指標同時滿足還是滿足其中之一)如果指標之間是相互獨立的,但是得出最終結論時是與的關係,這樣我們進行Bonferroni校正也會過於保守。
四、建議
提供建議並簡要說明你的理由。
我不建議啟動這個實驗,原因如下:
- 從總轉換率來看,我們有 95% 的信心實驗結果落在(-0.0291,-0.0120)之間,說明總轉化率是下降的,符合我們前面定下來的實驗期望。
- 但是從凈轉換率來看,我們有理由相信它會落在(-0.01160,0.001857)之間,說明此數據可能會下降。並不符合我們的「同時不會在很大程度上減少繼續通過免費試學和最終完成課程的學生數量」期望。從企業的角度看,還是期望更多的付費用戶,以及完成學業的用戶。所以對於優達學城來說核心指標應該是留存率以及凈轉換率,這兩個指標是不能影響且最需要提要提高的值。
- 雖然此實驗的確減少了總轉換率,但是此實驗啟動將會影響凈轉換率,所以不建議啟動此實驗。
五、後續試驗
對你會開展的後續試驗進行概括說明,你的假設會是什麼,你將測量哪些指標,你的轉移單位將是什麼,以及做出這些選擇的理由。
首先明確一下改版目標(KPI)是什麼?減少因為沒有足夠的時間而離開免費試學,並因此受挫的學生數量,同時不會在很大程度上減少繼續通過免費試學和最終完成課程的學生數量。
根據這一點我們再來看看原來的流程:
- 用戶點擊「開始免費試學」
- 登陸/註冊
- 登記信用卡
- 進行第一天的學習
- ….
- 堅持14天學習
- 完成學習
各個環節用戶都會跳出,而跳出率最高的應該是第四步,堅持14天的學習對於很多人來說還是非常難的。原實驗最大問題在於,當用戶想要點擊試學的時候,就證明用戶已經有意願去學習,在這種情況可能會出現過於自信,而輸入大於 5 小時,即使過濾出了那些小於 5 小時的用戶,那些過於自信的用戶也依然會流失。
同時即使真的可以每周花費 5 小時在學習上,也會由於其他原因而跳出,比如課程過難等。所以基於此我想在二次登陸的環節進行小調整:
- 用戶點擊「開始免費試學」
- 登陸/註冊
- 登記信用卡
- 進行第一天的學習
- 進行第二天的學習時,彈出一篇「勵志雞湯文」
- …
- 堅持14天學習,每天彈出一篇「勵志雞湯文」
- 完成學習
為了保證能夠在盡量的少的變數中進行實驗,沒有區分第幾天會推文章,而是每天都退文章。
- 所以我的假設是:當學員看了雞湯文後,提高了學員最終付費率。
- 測量指標:留存率。因為假設是提升最終付費率,所以選擇留存率。
- 轉移單位:用戶 id,因為測試實在登陸之後進行的,所以使用 id ,而且 id 也便於跟蹤一些。
推薦閱讀: