iT邦幫忙

2022 iThome 鐵人賽

DAY 7
1
AI & Data

那些在科技公司和 app 背後的資料科學系列 第 7

[Day 7] Netflix(一)- 為什麼我看到的和你的不同?你被 A/B Testing 了嗎?

  • 分享至 

  • xImage
  •  

今天是颱風天,Skylar 無處可去,只好懶散地躺在沙發上(他哪天不是呢?),遙控器轉來轉去,都沒有自己想要看的節目。他嘆了口氣,將畫面切到 Netflix,決定挑選一部好電影,和太太 Kristina 一同觀賞。他忽然發現電視中的 Netflix 多了一排 Top 10 的節目推薦清單,之前未曾看過。「這是新功能嗎?」他在心裡想著。但是,Kristina 查看手機中自己帳號的 Netflix,卻沒有這個排名清單,而且許多節目的縮圖也和電視上的不同。

他們兩個面面相覷,明明是同個時間打開 Netflix,只是使用不同帳號,為什麼會有如此差異呢?


Skylar 和 Kristina 今天發現的差異,其實是在各大公司很常見的一種測試方法 A/B Testing。

A/B Testing 簡單來說,就是讓不同使用者,在同一個時間點,看到不同畫面。在搜集並分析一段時間的用戶行為後,比對不同組別的數據,觀察用戶是否會因為頁面改變,而有不同行為,進而推論用戶比較偏好哪一種頁面。

在 Netflix 的初期,他們的首頁是靜態的,不像是現今會有動態影片。然而,他們是怎麼知道用戶是否偏好喜歡新設計?公司裡面是誰在做決策?高層?工程師?還是設計師?答案都不是。Netflix 認為最好的方式是利用科學方法,例如 A/B testing 和 quasi-experiment。在建構假說、做實驗並收資料,再驗證假說之後,才能最客觀地決定產品走向。


讓我們進一步聊聊 A/B testing 的實作細節吧。

控制組和實驗組

在最簡單的狀況,實驗者會將受試者分成兩組:控制組和實驗組。

以 Netflix 想要測試「在首頁增加每個地區的前十名,是否會使用戶體驗更好」的例子而言,Kristina 是控制組,她看到舊的畫面;而 Skylar 在實驗組,他看到新的「Top 10」功能。

在分組時要是具有隨機性的,要確保除了想要觀測的新功能以外,兩組在其他方面都是完全相同的。無論是註冊 Netflix 的時間、年齡、語言、喜歡觀看的節目類型等等。

實驗指標

另外,在此實驗要關注的指標也需要事先設想好,因為不同實驗中想要研究的目標不同。

以下列幾個情境為例:

  1. 實驗情境:在比較 UI 設計時,確認使用者是否會因為新功能而有不同的參與度。
    指標:參與度。
  2. 實驗情境:希望增加關聯性較高的搜尋結果。
    指標:指標則會是用戶是否搜尋到更多他們想要觀看的內容。
  3. 實驗情境:在不同網路狀況下,影片的品質。
    指標:app 的載入時間。

另外,也需要在制定指標時,避免選擇容易被誤導的指標。
例如在觀測新按鈕的點擊率(Click through rate)時,要如何分辨用戶是因為 (1) 必須點擊,才能繼續使用,抑或是 (2) 因為被新的 UI 吸引?除了單純考慮點擊率外,也可以同時考慮用戶是否有再玩一下新的按鈕。

Netflix

或是,也可以考慮視角更廣的指標:「用戶是否整體而言有花更多時間投入於 Netflix,當作他們的休閒娛樂呢?」Netflix 發現用戶的參與度,以長期而言,跟是否會繼續訂閱有相關,和營收有很大的關聯,相當重要。

而了主要指標之外,Netflix 也會訂定一些次要指標,並觀測次要指標是如何被主要指標影響。觀測所謂的 causal chain,以確定主要指標是改變用戶行為的主要原因,而非其他沒有控制的因素。

以此例而言,主要指標:用戶參與度
次要指標:查看列在 Top 10 的節目標題、用戶觀看 Top 10 的節目和其他節目的比例。

倘若新設計能夠成功參加用戶參與度,即代表實驗組的用戶傾向花更多時間觀看 Top 10 清單中的標題(兩個次要指標都會是高的)。

當然,在制定新功能時,並不會永遠成功,因此也會設置一些「護欄」指標,確保新功能沒有反而造成更差的結果。例如觀測用戶聯絡客服的數量並沒有提升、訂閱數沒有下降等等。

如何判定兩組是否有差異?

在制定好指標、蒐集完數據後,資料科學家要如何決定統計組和對照組的差異要多大,才是有差異?一個組要有多少人?又要如何更有效率地分析資料呢?

我們先退一步來思考,為什麼要使用 A/B testing 呢?我們不能單純將一個月切成一半,在前半個月讓所有使用者使用 A 頁面,在後半個月使用 B 頁面。若後半個月的用戶參與度的確明顯比前半個月好,是否就可以推論出 B 頁面比 A 更吸引用戶呢?

答案是否定的,因為這樣會受到除了實驗畫面以外的因素影響結果。

舉例而言,也許實驗的月份剛好是 12 月,下半月有耶誕假期,用戶相較於上半月花費更多時間在收看 Netflix;也許下半月 Netflix 推出一部萬眾矚目的影集,例如 Better Call Saul 的最後一季。因此,我們有多於一種潛在的解釋原因,可能是因為新功能、但也有可能是因為其他原因,究竟要如何確定?

img

為了避免外在的不可控因素,使用 A/B testing 能讓我們做出 causal statement,除了新功能以外,其他面向完全相同,因此使用者的行為改變只會受到新功能的影響。

至於究竟要如何判定兩組有差異呢?我們在明天一起聊聊這個主題吧!


謝謝讀到最後的你,如果喜歡這系列,別忘了按下喜歡和訂閱,才不會錯過最新更新。
也歡迎到我的 medium 逛逛!


Reference


上一篇
[Day 6] Instagram 藉由 Suggested Post,讓用戶「Feels Like Home」
下一篇
[Day 8] Netflix(二)- 如何判讀 A/B testing 的結果?淺談 False Positive
系列文
那些在科技公司和 app 背後的資料科學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言