Categories: AB Testing

邁向專家的第一步── Firebase AB Testing 的運用 EP.1 認識 AB Testing

哈囉大家好~我是Sunny,這次為大家帶來一系列的 AB Testing 教學,讓大家更知道什麼是 AB Testing,又該怎麼運用它向專家邁進一步!本系列文章內容是整理自 Firebase 的 Youtube 影片教學,那麼就廢話不多說,讓我們往下看下去吧!

什麼是A/B Testing

A/B Testing,顧名思義即是測試A決策與B決策的兩個 Testing,通常發生於想要比較哪個決策在實際運用上是更有用的、更有效益的。當團隊有兩個或是多個以上的點子與決策想要實踐、卻不知道哪個為最佳選擇時,A/B Testing 是幫助篩選出最適合選項的一種測驗方式。

為什麼要做A/B Tesing

以一間軟體公司為例,製作出一項好用 app 時,必須要考慮到 app 裡面的按鈕設計、文字內容、廣告頻率等等各項非常細微卻佔據很大影響力的細節之處,他們的安排是否得宜往往會深刻地影響一項產品是否可以成功;一個非常優秀的 app 和一個平庸的 app 往往在一線之隔,其中的差距往往都是這些看似小到可以忽視,卻是佔據了關鍵之處的細節集合而來的。

但我們該如何知道我們做出了最佳選擇呢?很常發生的謬誤在於,我們往往只專注於典型使用者(Typical Users)的使用行為,或是只詢問周遭親朋好友們的意見,而這些意見有時候也沒辦法與他們使用者實際上的行為有所對應。這些看似合理的調查,往往有樣本偏差的可能性發生,這是不夠充足、且無法有效拿來支持做出適當決策的來源依據。

儘管真實在 app 上實施實驗,做出了些許改變,在發布新版本的 app並等待一段時間以後,也無法確認那些後來改變的使用者行為,它是不是真實是因為先前做出的改變而改變的。換句話說,我們無法預期先前做出的改變是不是真的為我們達來了預期上的效益。而且,這種實際上在 app 上做出改變的實驗,往往是非常耗時的。

A/B Testing 正是為了解決上述的問題所出現的一種方法。總結以上,到底我們為什麼要做 A/B Testing 呢?

  1. 避免樣本偏差可能性,做出最佳選擇
  2. 較為省時
  3. 可以準確得出某項改變是否能真正達到效益

如何做A/B Testing

我們在實施 A/B Testing 時,將會選用一部份用戶出來,並將他們隨機指派到不同的群體劃分內,而不同的群體將會使用不同的 app 版本(通常這些不同版本的 app 之間只有些微差異),並衡量不同群體的用戶是如何和我們的 app 互動。在這種測驗方法下,任何外部環境的干擾將會被排除──因為我們不同群體間的用戶都面臨一樣的外在環境的變化。這將可以讓我們更容易觀察是否因為某項變數的改變,讓我們的使用者行為也跟著改變了。

運用Firebase進行A/B Testing的事前準備

Firebase 在 A/B Testing 上的服務做出許多改善。除了讓使用者們可以更容易開始 A/B Testing 以外,同時協助使用者們衡量測驗結果是否具有意義。Firebase系統開放了兩項對A/B Testing的接觸點:Firebase Notifications 和 Firebase Remote Config,以下將針對 Firebase Remote Config 做進一步解釋,Firebase Notifications 將會在之後的章節進行敘述。

1.將 app 與 Remote Config 做連結

想要運行良好的 A/B Testing,需要先將 app 連結上 Remote Config。Remote Config 可以想像成一個存在在雲端世界中的關鍵價值儲存商店,我們的app可以透過這個商店下載資料,並且可以依據我們所指定的價值去改變行為。

運用 Remote Config 時,我們會先需要提供許多默認值(default values)給 Remote Config。當我們 app 的使用者開始使用 app 時,Remote Config 會開始連上網路,抓取我們從 Firebase Console 定義的任一新值(Values),並在舊的默認值之上應用這些新值。當我們要從 Remote Config 查詢特定值,它會給你一個你已經於雲端指定的更新值(如果存在),或是默認值(如果不存在)。因此,一般推薦去獲取我們可能想要改變的任何值,例如每一個文字、每一個顏色、每一個遊戲平衡變量等等,並把它們與 Remote Config 做連線。因為我們只下載我們改變的值,實際上產生出來的網路呼叫(network calls)還是很小,但我們仍然可以自由更改以後可能需要的任何值。

2.運用 Google Analytics for Firebase 衡量實驗結果

連上 Remote Config 並做出調整後,還需要決定我們的改變是否成功,這時候需要一些分析工具來幫助我們,像是 Google Analytics for Firebase。Google Analytics for Firebase  會運用 SDK 自動記錄發生在我們 app 上的事件,像是在 app 裡面的購買、廣告點擊這些可以決定收益的行為,並可以決定如顧客參與、顧客保留率等。我們也會想記錄發生在 app 裡面的客製化事件,因為這可以讓我們知道人們是如何和 app 互動,也可以用來衡量我們所應用的 A/B Testing 是否成功。

當在 Firebase 運行 A/B Testing 時,部分實驗的方式可以告訴 Firebase 哪項是我們認為成功的結果,這些成功結果有可能是我們透過app賺了更多的錢,也有可能是更多顧客花更多時間在我們的app上,或是更常使用我們的app,也有可能是最大化特定事件的發生機率。

最後,我們必須確認我們的 Remote Config 是最新版本,這樣才能確保它會將我們所運行的實驗告訴給 Analytics。

現在,我們知道我們可以透過 Remote Config 改變 app 裡面的參數並創建實驗,也知道可以透過 Google Analytics for Firebase 衡量我們的實驗結果,並查看一些被自動記錄的值或是查看某些特定事件。這就是我們在運行實驗之前,應該要事前準備完成的事情。

以上就是我們這一期針對 Firebase Web AB Testing做的簡單介紹,下一期會進一步說明如何創立實驗,以及該注意什麼事項。那麼我們下一期見啦~

#Reference

ref1.

https://www.youtube.com/watch?v=ph-gNsKX2oA&list=RDCMUCP4bf6IHJJQehibu6ai__cg&start_radio=1&t=271&ab_channel=Firebase

ref2.

https://medium.com/it-digital-%E4%BA%92%E8%81%AF%E7%B6%B2/a-b-%E6%B8%AC%E8%A9%A6-a-b-testing-%E4%BB%8B%E7%B4%B9-website-optimization-%E5%85%A5%E9%96%80-42fbec813e11

sunny

Share
Published by
sunny

Recent Posts

三個你不能錯過的教學資訊

疫情之下,原本實體活動全都改成線上,活動分享全都在網路上很容易錯過,這邊整理了幾個跟數位教學相關的活動資訊給大家參考,分享順序為活動時間⏰ 1. Google Workspace技術整合術 Google Workspace for Education (原 G Suite 教育版) 能透過 Gmail、Google Drive、Google Calender、Google Meet 和 Classroom 等通訊與協作應用程式創造輕鬆與順暢的學習環境,並促進協同合作以提升數位學習與教學成效,而且還會為學校資料提供雲端安全性防護…

3 years ago

線上教學沒有臨場感?Gather來幫你解決

實體的教室變成一格一格的畫面,原本吵雜的下課時間也變成掛斷通話的系統聲。原本在班級中的歸屬感慢慢消失了,久而久之,孩子的對於學習,不再有群體的感覺,只是孤軍一人學習、複習、考試,甚至是畢業典禮都少了一份臨場感。因此,今天要和大家介紹一款現在在教育界還很少被提到的軟體-Gather。 Gather 如果你還不知道Gather,或是直覺的把Gather與虛擬會議室連結在一起,不妨先看看Gather裡的特色: 介面是像素型RPG 每個人自由創建一個角色 上下左右輕易控制角色 走道其他角色旁邊能互相討論 小遊戲battle 光是這五點特色,就足以推派它成為遠距教學的工具,除了打造不同空間的地圖外,最特別的是Gahter打造前所未有的臨場感,人與人之間只有靠近到一定距離,才能聽到彼此說話聲音,而相對應的,離開後聲音就會漸漸聽不到,就連白噪音的設計也是如此,非常的逼真。 不知道老師們會不會因為搭建地圖覺得麻煩,或是看到2D介面怕學生當遊戲在玩而不考慮這款軟體,換個角度思考,藉由不同地區的老師們集思廣益,打造出最適合學生學習的環境,像是不同學科的教室、戶外自然生態區、操場、籃球場等等....都可以更貼近真實校園,而像素的介面正好提高學生的學習意願,老師們擔心學生過於沉迷時,也能用全體廣播放上課鐘聲,或是讓學生們聚集在同一區,鏡頭站起來動一動 (另外推薦Active Arcade -> 趣味運動的APP ),就像早操一樣很真實。 線上教學缺乏臨場感,Gather可以創造了讓大家「一起在一個遊戲世界」的凝聚力。縱使Google Meet、Teams 雖然也可以進行討論,但若要每堂課要穿梭在不同會議間,節奏不流暢,使用Gather可以讓學生更自由地移動,相對應的老師也可以神出鬼沒地到處「旁聽」。 教孩子用科技解決問題,如果老師們也努力著示範給孩子看,創造出獨一無二的學習空間,相信對於孩子學習的歷程中,有莫大收穫。但到底怎麼開始使用?別擔心,這次快樂學程式邀請到Gahter界的大神 阿岳,要來和大家分享Gather的6大應用技巧,限名額唷~…

3 years ago

HTML入門系列:基本觀念介紹!

HTML入門&基本觀念介紹!         構成一個網頁,最重要的就是他的結構,而HTML就像是他的骨架,而CSS就是像是我們身體上的肌肉一般,而JS則像是人體的神經、血管般調整著我們身體、傳遞訊息,那麼HTML究竟是指哪些語法呢?   什麼是HTML?       HTML全文又稱為HyperText Markup language ,也就是所謂的超文本標記語言,是網頁構成的基本要素,換言之,網頁就是由一堆html所構成,透過瀏覽器,顯示文字、圖片、以及其他相關我們可以在網頁上看見的基本元素。而對於剛學程式的朋友來說,HTML有以下幾個重點: HTML的基本架構: HTML的基本觀念與優點1.容易學習-HTML的文檔製作非常簡單易懂﹐功能強大之餘還支持不同格式的文件鑲入。2.製作門檻低-HTML是文本﹐它需要瀏覽器的解釋。只要你學會了HTML﹐你就可以直接在Windows的記事本或寫字版上進行製作和編輯﹐當然你也可以用WPS來編寫﹐只要注意在存檔的時候用.htm或.html來做檔名就可以了3.有利於搜尋引擎理解你的內容,透過HTML所構成的頁面被稱作所謂的”靜態頁面”﹐而Google爬蟲會優先收錄靜態網頁﹐所以HTML對於Google來說就像是鯊魚聞到血腥味一樣﹐有利於吸引Google爬蟲。4.加快瀏覽速度-因為靜態網頁無需連接數據庫﹐因此比打開動態網頁的速度較快﹐對於消費者體驗來說有所幫助。5.網站更安全-因為HTML頁面不會受Asp相關漏洞所影響。 HTML的缺點與限制 1.太簡單﹐不能適應現在越來越發達的網路世界和應用的需要﹐比如手機﹑PDA﹑信息家電等都不能直接顯示HTML2.太龐大﹐由於HTML代碼不規范﹑臃腫﹐瀏覽器需要足夠智能和龐大才能夠正確顯示HTML。顯然在你的PDA上裝一個IE6是不可能的。空間不夠﹐運算也跟不上3.數據與表現混雜。這樣你的頁面要改變顯示﹐就必須重新制作HTML。對不同的網路設備顯示同樣的數據都需要制作不同的HTML4.只能對文本進行排版﹐而且HTML樣式使用標準文本標識﹐不能創建一些特殊效果 所以我該如何學習HTML? 有什麼比較快的方法嗎?       答案是沒有的﹐學習程式語言就像是學習廚藝一樣﹐只有透過不停的嘗試﹑嘗試和嘗試才能讓自己有所成長﹐並且慢慢強大。過程中你會一直遇上困難和失敗﹐但你在不斷解決困難的過程中能夠不斷發掘新的知識﹐從失敗中發才能不停的成長。無論你是學習那一種程式語言﹐都需要經歷困難和失敗才能讓自己更加強大﹐正所謂:不經一番寒徹骨,怎得梅花撲鼻香呢?對吧﹐我們能做的不是要找捷徑﹐而是透過不同的媒介和平台去不斷學習﹐那麼下面快樂學程式會為大家介紹一些很棒的程式教學網站﹐讓大家可以不斷提升自己。 1.w3schools.com- 語法練習的好地方這個網站是目前全球訪問量最大的網頁開發教程網站﹐網站裡有多種程式語言的教學﹐而且每種程式語言由淺到深的解說﹐從語言的介紹到不同的功能和方法都會分章節說明。所以無論你是從零開始學的白紙﹐還是已經在學習但遇到困難的新手都可以在這個網站上找到相關資訊﹐是個非常不錯的網站。那麼網址我們當然要雙手奉上﹐請慢用https://www.w3schools.com/ 2.CodeAcademy- 免費的教學網站這是全球其中一個最受歡迎的免費coding教學網站﹐已經有超過2400萬人透過這個網站學習到了如何去coding。這個網站是非常適合新手入門的同學去學習的﹐網站會一步一步仔細的教導而且還有實作﹐所以學習起來非常的快速! 3.StackOverflow- 實際案例與疑難雜症的解決處  這個網站比較適合一些已經有在嘗試動手實作的同學﹐當你在coding的時候遇上困難了﹐那麼你可以在這個可以解決超過80種程式語言問題的網站上找到答案﹐讓你的coding之路更加順暢。  如果你覺得爬網站麻煩又費時,不妨直接點擊快樂學程式的網頁前端課程,老師直接手把手帶你入門HTML !完整的基礎入門課程省下你獨自摸索花費的時間!   課程上架Udemy ! 準備一個輕鬆的週末,只要一天的時間,帶你建置靜態網頁。從實作中打開靜態網頁的大門,讓你的研究之路不是只有自己,有我們跟你一起努力!課程中你可以瞭解網站建置的世界觀與網站版型掌握HTML5的使用方式掌握 CSS3的使用方式使用Bootstrap處理前端UI框架現在開始上課!如果你的入門還在單打獨鬥,歡迎來到快樂學程式找到志同道合的夥伴,你的自學之路不孤單。快樂學程式

3 years ago

HTML語法整理! 3分鐘快速弄懂常用語法!

什麼是HTML?         HTML全名是HyperText Markup Language,是一種描述超文件的註記語言SGML(Standard Generalized Markup Language)所制訂出的一種網頁語言,是編寫網頁的基本語言,基本上現行的瀏覽器都可以讀取HTML,使用HTML可以編輯設計出網頁,也可以在網頁中加入所有HTML語言可支援的方式,例如表格、表單、圖片、文字、連結、程式等等。 HTML介紹與基本語法整理   不管你是小時候從撰寫無名小站為了要修改你的樣式,而開始瞭解HTML和CSS為何物,或是長大因為介面設計或前端工程開始踏入網頁的世界。HTML和CSS對於網站的重要性經過多年依然歷久不衰。在本篇會對HTML進行基礎的介紹並幫你整理出基本語法提供你在寫網頁時的快速參考!   編寫基本的HTML: 先讓大家看一下一個基本的HTML文件格式為: <HTML> <HEAD> <TITLE>網頁主題</TITLE> <Meta> </HEAD> <BODY>…

3 years ago

PHP是什麼?3分鐘PHP基本介紹!

PHP是什麼?3分鐘PHP基本介紹!       大家安安﹐快樂學程式這一次要跟大家分享PHP這種程式語言。希望幫助對於PHP有興趣的新手們可以透過我們的文章對這種語言有初步認識。一如以往﹐我們會分享以下幾項有關PHP的知識。 PHP是什麼?       PHP語言的全名是(PHP: Hypertext Preprocessor),和ASP、JSP等都是動態網頁開發語言,不過,PHP擁有跨平台的能力,無論是在Linux(最適合)、Unix、 Windows都可以執行運作,不像微軟 的ASP只能在Windows平台上執行,而且PHP是免費的,並可結合多種資料庫伺服器,如:MySQL、PostgreSQL、dBase、mSQL、Informix、ODBC、Oracle等。      PHP語言是伺服器端(Server)執行的網頁,不像一般HTML網頁,只要單機下開啟檔案就可以檢視網頁,PHP必須先在伺服器端執行完後,再將結果傳至使用者端(Client)的瀏覽器中檢視結果,所以必須使用網站伺 服器,且伺服器要支援PHP。 如何學好PHP?       要學好PHP,要有目的,要有一個想寫的東西,寫個學校網站,寫個校友系統,寫個簡單的新聞區或相簿...等,都可以,盡可能的和工作和生活結合,利用程式來簡化繁瑣的人工步驟,或者提昇工作效率,有目標,才會有動力,才會有想法。      學PHP不需要背,背不完的,只要懂就好了。像函數就不用背,常用的打久了你就背起來了,不常用的,等到要用時,知道去哪裡找就好。換言之,函數懂越多,功力越高強。      程式碼可以複製貼上,但一定要知道為什麼要這麼寫,不要傻傻的照著打,可以的話,自己打一遍最好,最上乘就是可以說出每一行程式碼的作用和前因後果。或者,故意打錯,看看會怎樣。錯誤訊息看久了,功力也就提昇了。 PHP程式碼執行方式 透過 Web Server 方式:例如利用 Apache…

3 years ago

PHP是什麼?基本介紹與語法整理

Sildenafil citrate oral jelly Combiné avec les données de départs 2, on leur a demandé de type 5 de tadalafil…

3 years ago