問題由來
新版本覆蓋速度悉尾,這個概念說起來大家都不會陌生。在每次發(fā)布新版本的時候大家都會十分留意新版本的覆蓋情況。特別進(jìn)行了比較重要的更新之后音榜,我們也經(jīng)常會受到來自各方面需要提高新版本覆蓋速度的要求蔚鸥。
想要提升覆蓋速度惜论,那么首先要面對的是,如何將這個版本覆蓋速度進(jìn)行量化止喷。
其實這個問題馆类,說來可以很簡單,比如可以說成“xx天之后弹谁,新版本活躍用戶超過總量一半”乾巧。但如果仔細(xì)去考慮技羔,這樣評估有很多不準(zhǔn)確的地方。第一卧抗,灰度量是我們自己控制的藤滥,灰度放的快或慢,這會根本上影響覆蓋速度社裆;第二拙绊,在買量或者新增用戶數(shù)量波動較大的時候,也會影響到覆蓋速度泳秀,大多老用戶升級都不會很及時标沪,但是新增用戶的版本可以看作是按照灰度量分布的。新增越多嗜傅,升級越快金句。
更新事件的角度
如果將新老用戶進(jìn)行拆分,也就是將安裝事件和更新事件進(jìn)行拆分吕嘀。那么這個指標(biāo)看起來就清晰了很多违寞。安裝事件其實我們并不需要去關(guān)心,有多少新用戶用到新版本偶房,這就是我們的灰度量趁曼,我們可以充分控制 。我們只要關(guān)心的重點(diǎn)放在更新事件就可以了棕洋。
更新事件這一指標(biāo)挡闰,在谷歌后臺版本信息中心查看到,可以在配置報告中掰盘,選擇更新事件摄悯,維度選擇應(yīng)用版本,將數(shù)據(jù)下載至本地愧捕。
這里要注意的是奢驯,谷歌后臺給出的更新事件,是在升級完成后上報進(jìn)行上報晃财。也就是我們看到的是最新版本中有多少人是升級上來的叨橱。這也就帶來一個問題,我們無法將每個更新事件追溯到用戶之前用的版本断盛,也就是我們無法直接得到“舊版本中有多少人進(jìn)行了更新”罗洗。
不過我們?nèi)匀豢梢詫⑦@個指標(biāo)拆分一下:老用戶舊版本升級比例=老用戶舊版本更新事件量/(老用戶舊版本用戶總量+老用戶舊版本更新時間量)
(1)因為上報了更新事件的,在更新前也是這一天的舊版本老用戶钢猛,所以計算時應(yīng)該把更新事件量算回到分母中去
(2)在這里伙菜,我們只討論更新與不更新的行為。老用戶的留存長期都是穩(wěn)定的數(shù)據(jù)(90%+)命迈,因此在這里(也只能)忽略掉有老用戶的卸載的情況
(3)谷歌后臺是不會區(qū)分新老用戶的贩绕,在實際計算中火的,我將“舊版本的Active Device Installs-舊版本的Daily Device Installs”,視為舊版本老用戶總量
以我們九月份所發(fā)布的1.6.1版本數(shù)據(jù)舉例淑倾,所計算出的馏鹤,舊版本中老用戶升級行為比例,以及每天所設(shè)置的灰度量如下圖所示:
我們可以看出娇哆,每一次增加灰度量湃累,都會使得老用戶升級比例得到明顯提升,并且在一天之后迅速衰減碍讨。我們可以做這樣一個假設(shè)治力,提升灰度量第一天就升級的用戶,大概就是可以通過谷歌后臺自動更新的用戶勃黍。對老用戶來說宵统,在某個量級上灰度三天還是灰度五天,沒有多大差別覆获。能夠及時升級的老用戶马澈,給一兩天時間基本就都升級上來了。
版本比例的角度
之前所討論的锻梳,是屬于比較微觀的箭券,針對到用戶升級行為層面。
那我們直接從宏觀的版本分布層面疑枯,直接用版本分布的比例進(jìn)行統(tǒng)計。為了保證數(shù)據(jù)源的一致性蛔六,我們還是選擇GP后臺的數(shù)據(jù)荆永。
相比于計算老用戶升級行為比例,各版本覆蓋情況在Excel中很容易得到国章。installs_包名_月份_app_version這份表格中具钥,進(jìn)行數(shù)據(jù)透視時,行和列選擇“Date”和“App version code”液兽,值選擇“求和項:Active Device Installs”骂删,并且在值顯示方式中選擇“行匯總百分比”,就可以直接得到每一天各個版本所占比例四啰。(當(dāng)然同樣的方式也可以用于我們自己后臺導(dǎo)出的數(shù)據(jù))
仍然用v1.6.1版本的數(shù)據(jù)來看:
前三天我們灰度量是30%宁玫,在開始發(fā)布三天后,版本覆蓋比例達(dá)到了14.33%柑晒。第四天灰度量為50%欧瘪,第五天開始100%全量發(fā)布埠况■悖可以看到厅目,在每一次提升灰度量的時候都會讓版本覆蓋程度有著明顯的提升猴仑。而這也和我們之前通過升級事件得到的結(jié)果想吻合。
另外芥被,從第五天之后欧宜,該版本開始全量發(fā)布,在此之后的覆蓋比例曲線拴魄,看起來像是非常平滑的對數(shù)形式的曲線冗茸。我們也可以利用Excel的趨勢線功能進(jìn)行擬合。甚至可以得到發(fā)布天數(shù)與版本覆蓋比例的公式:
提升覆蓋速度的一些思路
所以我們也可以看出羹铅,想提升新版本的覆蓋速度蚀狰,最有效的方法就是一句廢話,快點(diǎn)放量职员。直接上全量麻蹋,肯定覆蓋的最快。這是提升速度的最大瓶頸焊切。但這有時候很難做到扮授,畢竟灰度期間對比數(shù)據(jù)差異是非常重要的事情。
當(dāng)然還有第二有效的方法专肪,也是廢話刹勃,發(fā)了新版多買量。老用戶能夠及時自動更新的比例很有限嚎尤,從之前數(shù)據(jù)上估算荔仁,這個比例不會超過一半。但是這也執(zhí)行起來也不容易芽死,而且也只是對新產(chǎn)品起效乏梁。
那么就是否有一種,即方便我們對比數(shù)據(jù)关贵,又能使得老用戶的升級過程不至于太慢呢遇骑?
在這里,我提出一個假設(shè)揖曾。從第一張表中我們能看到落萎,提升一次灰度量級,就會使得老用戶升級比例提升一大截炭剪。那么是否可以通過练链,均勻增加灰度量級,來使得老用戶升級比例始終保持在一個較高的水平上念祭?之前自己的產(chǎn)品發(fā)灰度有時候很由著性子兑宇,有時在一個量級灰上好幾天,看數(shù)據(jù)覺得差不多了突然從30%提到100%。其實這樣做隶糕,30%這樣的灰度量級瓷产,對于占用戶總量90%多的老用戶來說,只有前一兩天是有效果的枚驻。如果改成每天都均勻地去增加10%濒旦,有可能會提升整體的覆蓋速度。
剛好我們的產(chǎn)品即將發(fā)布新版本再登,可以借此機(jī)會驗證下這個假設(shè)尔邓。