iT邦幫忙

2021 iThome 鐵人賽

DAY 2
1
Mobile Development

如何用下班時間開發App經營副業系列 第 2

小產品跟大產品都可以通用的決策系統:Randomized AB Test

疫苗在台灣第一次吵得沸沸揚揚時,我也被各種有孔沒筍的消息搞得莫名其妙,為了跟人爭辯時不要說錯話,閒人如我就去看了莫德納申請美國 EUA 時的影片(有公開在美國食藥署網站),那時很意外的一點是,哇,這跟我們工作也太像了吧。難怪我以前去西雅圖的資料科學部門見習的時候,那邊大部分的所謂「資料科學家」都是從生物背景轉行來的。做的事情簡直跟疫苗測試一模一樣,差別只在於實驗人數會差好幾萬倍。就是隨機給一群人新功能,另一群人不給,然後在不提醒也不告訴他們的情況下,讓他們自由使用一兩個禮拜後,再來看結果有什麼差。新功能要確定有有意義的改善,才能上線,不然就像聯亞一樣打回去重做或修改。

在我做的三個產品:作業系統、搜尋引擎、我自己的聊天軟體。我都用過不同的實驗系統來做決定。Windows 時,剛好是要開始採用實驗系統的導入期,一邊跟 bing 借鑑,一邊從最基本的 metrics 開始定義,萬丈高樓平地起。但是作業系統的本質還是離線為主,而且事關很多人的工作效率,做真正的隨機測試是非常困難的。後來我到 bing 組,看到線上服務的實驗系統才大開眼界。

搜尋引擎的產品就是資料,產品決策都是要透過實驗決定,這件事不是秘密。很有名的一個例子是 Google 光是要決定一個按鍵要「哪一種藍」就同時試了二、三十種藍色。用戶開始使用後,使用數據會被計算成上千種 metrics 。一個 metrics 代表一種考慮的維度。通常會有一個計算 trade off 的標準公式,要利大於弊才能上線功能,真的是每一個步驟都盡可能想辦法排除人的偏見。

但這些數字當然也都是有人設計出來的。甚至可能都是一個人或一組人花好幾個月研究然後嚴謹地定義,然後再花好幾個月實作出來的。我的朋友有次抱怨臉書一個新功能難用,說要怎麼跟系統表態,我開玩笑說就是快速按上一頁,在一定的時間內回去的話,系統會把你這次算成按錯,如果剛好很多人這樣幹,可能那個工程師就不能上線這個功能,不然至少要做個投影片,畫幾張煞有其事的圖,猜猜發生什麼事。

大家以為進大公司可以做大事,但其實就是因為我們那麼多人,每個人做的東西想當然就是變成系統的小螺絲釘。常言道:面試造火箭,入職擰螺絲。如果有人想出一個新的 metrics 成為這上千個數字的一份子,讓工程師準確量測某個指標,那就已經是一個超級值得大書特書的貢獻了。因為一個小小小小的「有效」改變,乘上巨大的用戶基數,影響是非常大的,雖然通常本人的感受可能不強烈,但其實就是左右很多錢的「大事」。

所有作線上服務的大公司,應該都有一組是專門在開發為產品量身訂做的隨機實驗系統,因為開發產品的人跟使用產品的人,一定是幾乎沒交集的兩群人。再怎麼會共感的 PM,也是有極限。而且就算他的共感或直覺是對的,也很難說服總是意見很多的一群人,這時候有個談判討論的準則就是很省口水跟時間。我們兩個在上班都習慣這種流程也認同這個價值,我們自己獨立做副業的時候,也很自然地找了工具幫助我們做產品判斷,盡量遵守沒通過實驗就不能加功能這個規範,雖然常常做好了還丟掉很可惜,但是硬加進去沒用的東西也只是把產品越搞越爛。

我們用現成的 firebase 來做 AB Test,這東西我們用到現在都還沒付半毛錢,想到小團隊根本不可能花時間自己去維護這系統,雖然 data 被 Google 看光光,但還是覺得佛心,畢竟如果他要我付錢,我好像也已經跑不了了。

最新文章會分享在臉書:https://www.facebook.com/gigi.wuwu/
歡迎留言討論


上一篇
全職打工族在日本打造百萬下載 App 心得
下一篇
React Native 優缺點,如果現在開始做會選哪個
系列文
如何用下班時間開發App經營副業30

尚未有邦友留言

立即登入留言