推送系統從0到1(十):從數據上優化推送
上一篇從推送運營策略的角度介紹了如何提高推送的效果,而眾所周知數據是最能反應問題和展示效果的。本篇將會從數據的角度,結合推送的整個流程。帶領大家逐個環節排查問題,從而讓推送效果更上一個臺階。
推送就像一個生產線,每個加工的環節均會有損耗。為了讓最后生產出來的產品盡可能的減少損耗,我們需要對整個生產線的每個環節進行剖析,試圖從中找到可以提高生成效率和質量的方式方法。所以下面我們從推送的整個流程開始看起。
推送用戶池數據
推送的總用戶池即為目標用戶所在的池子,池子中有多少用戶也就意味著最大可以觸達多少用戶,所以對推送用戶池的數據監控非常必要。
理想情況下推送用戶池的用戶數=APP(網站)累計用戶數,也就說從APP研發上架到現在所有累計安裝的用戶。但是大家都很清楚,累計用戶的意義不大,因為累計用戶中有很多用戶早已卸載離開。所以可推送的用戶池應該是仍安裝APP的用戶,包括沉默用戶。
那么理想中“推送用戶池總數=APP仍安裝用戶總數”,大家也很清楚的是“APP仍安裝用戶總數”很難獲得,因為我們無法精準的掌控用戶是否卸載,用戶卸載并不會和我們“打招呼”。所以平時我們觀察APP的數據多以活躍用戶來觀察。
假設我們的推送用戶池=月活躍用戶,這樣也視乎把目標人群范圍縮小了,因為也許用戶沉默超過1個月。所以我們仍然以累計安裝用戶來作為推送用戶池總數,以保證能包含盡可能多的用戶,雖然其中包含了大量無效用戶,我們后面可以做過濾操作。所以理論上:推送用戶池>(月)活躍用戶。
用戶池的真實用戶
本系列開篇我就已經闡述,請使用設備號作為用戶的唯一標識。非常非常多的APP或者推送平臺以token作為用戶的唯一標識,這樣造成的后果就是用戶池的冗余。
假設你的APP使用token來標識用戶,你的用戶小明重復卸載安裝4次,此時產生了4個token。你會以為有4個用戶,但其實只有小明1個用戶。
而為什么第三方推送平臺喜歡用token來標識用戶呢?
因為他們獲取不到用戶設備號,畢竟設備號獲取是需要權限的(Android)。
有效用戶比例
上面講到的是推送用戶池的總用戶,而有效用戶比例才是我們要關注的重點。推送池中的有效用戶指的是“同意推送權限”的用戶比例。假設用戶池有1萬個用戶,其中6,000個用戶同意推送權限,則有效用戶比例為60%。有效用戶數更貼近于可推送的目標用戶數。
當發現有效用戶(同意推送權限)的比例急速下跌時,請敲醒警鐘,你的用戶正大量的關閉推送權限!請保持定期觀察該數據。(如何知道用戶是否同意推送權限,請見:推送系統從0到1(五):推送消息如何丟失的)
但是請注意,推送用戶池的有效用戶并不能代表真實的可推送用戶數。因為還是無法鑒別出其中“已經卸載的用戶”,我們只能通過后續的手段判斷用戶疑似已經卸載,從而把該用戶從有效用戶中剔除。
假設想知道有效用戶的比例多少是健康的,我在網上找了許多資料均無法獲得該數據,我只能以自己的項目為例,最初有效用戶比例85%~90%。當然隨著推送頻率越來越高,以及后期缺乏維護和引導,有效用戶比例已經下降至60%左右,該數據僅供參考。
黑名單機制
在系列文章中,我多次提到黑名單機制。其存在的目的在于把有效用戶中并非真實有效的用戶剔除出來。剛才已經降到有效用戶中也許包含著已經卸載的用戶,但我們無法得知。在后續的甄別用戶的有效性環節被疑似卸載或者在推送下發消息過程中被判定為無效的用戶,均會進入黑名單。
黑名單的用戶會被當作無效用戶,當然小黑屋并不會永久的關著這些設備,當這些設備“詐尸”(token發生變更/持續活躍)的時候,會把這些用戶從小黑屋中放出來。
實際推送目標用戶
根據上面的描述,因為有效用戶中還包含著卸載的用戶,所以與實際可推送用戶是有差距。首先推送的目標用戶盡量選擇活躍用戶,減少目標用戶中已卸載的用戶比例??梢愿鶕脩艋钴S周期選擇“7天活躍用戶、30天活躍用戶、60天活躍用戶”等。
并且在我們建立推送任務之后,第一步就是甄別用戶的有效性。
甄別方式有以下4種:
- 根據之前幾次推送結果,若均未到達認定為疑似卸載;
- 給用戶進行預推送,通過真實推送驗證是否能達到,但需與客戶端約定該類消息不展示;
- 分析用戶行為,是否連續很長一段時間都未啟動過APP,疑似卸載行為;
- 再次檢查是否已經同意推送權限。
當然,除了這4種方式以外,大家可以根據實際情況制定甄別方式。目的都是在于驗證用戶是否可以收到推送。在甄別有效用戶環節,如果推送頻率高(經過多次甄別)且用戶池的自我過濾機制足夠完善,那么實際可推送用戶/有效用戶(用戶池)=95%及以上 。
下發成功率
推送任務建立之后,就會通過第三方推送平臺/原生渠道(如APNs)進行消息的下發,在下發過程中,由于平臺的不穩定性或者通道堵塞(APNs經常這樣),再或者token配置不正確等原因,導致推送任務到達推送渠道,卻無法實現下發。
那么這個時候可以觀察的數據就是“下發成功率”,那這個數據是怎么計算的呢?
我們需要根據下發渠道的返回狀態判斷是否下發成功,如第三方平臺/APNs會給你返回消息下發是否成功。那么“下發成功數/實際推送目標用戶=下發成功率”,下發成功率在95以上較為正常。
什么情況會導致下發失敗呢?
上面大致也已經描述了幾種可能性,可能是推送平臺網絡不穩定造成網絡丟包,或者推送通道阻塞導致通道堵著了;也可能是推送平臺建立的長連接失效了,給你返回令牌失效。所以下發過程中的損失難以避免。
我們可以做的是:
- 若返回推送失敗是因為token失效,則把用戶從有效用戶池中剔除(進黑名單)。
- 若懷疑是網絡不穩定或者通道阻塞,請稍后再使用重發機制。
- 若平臺經常不穩定或無法下發,請更換推送平臺。
我們往往把推送下發過程中的丟失當作是推送點擊率低的原因,通過了解中間環節的情況,可以讓我們獲得真實的推送點擊率。
推送消息到達率
影響推送消息能否到達的因素非常多,大家可以通過回顧<推送系統從0到1(五):推送消息如何丟失的>了解消息為何會丟失。簡單介紹下大致的原因可能是用戶設備的網絡狀態不佳、推送通道堵塞、推送服務進程被殺死(主要)等等情況。我們可以通過分析推送到達率的情況,盡可能的減少該環節的消息丟失。
推送消息到達率=到達的推送消息數/下發消息數,可以通過客戶端返回推送到達狀態監控推送消息是否真正的到達(第三方平臺的不準)。在此數據上Android的推送到達率普遍偏低,原因是Android設備多種多樣,非常多定制化的系統會把推送服務殺死。而IOS系統推送到達率普遍較高,由于APNs為系統級推送服務,能讓到達率在80%及以上,當然ANPs有時候也會不穩定。
針對Android推送到達率低的情況,可以通過大量重復實驗驗證,是否某款機型、系統無法收到推送通知。根據我自己的了解像OPPO、小米、華為這些定制化的系統,可能因為推送平臺與系統問題,由于推送進程被殺死,導致消息到達率將會非常低??梢酝ㄟ^分析和實驗之后考慮是否也接入這些定制系統的推送服務,當然也還是要根據用戶設備情況進行選擇。
推送消息展示
雖然我們不常觀察推送消息展示比例,一般我們認為推送消息到達設備,那么就一定會展示,所以直接使用推送到達率觀察到達情況。
但我還是想和大家介紹下,像Android系統消息到達和消息展示是兩回事。這個發現是我在做消息重發機制時,為了防止重復發送導致用戶突然收到多條消息,那么在Android系統上通過控制收到的消息是否展示出來,從而解決這個問題。既然如此我們也可以認為推送消息到達了,但有可能未能正常展示出來。
雖然這個比例會很低,而且未能找到官方的數據。但是我們有理由相信這里也會有一小部分的損失。
在此,我再次放出系列文章第五篇的圖片,相信大家再次看到這張圖的時候,能夠明白我要逐個環節介紹的原因。
推送點擊率
推送點擊率是我們最常觀察的指標,也是我們常誤解的指標。推送點擊率的計算方式為:推送點擊率=推送點擊數/推送到達數
而許多人常常把推送點擊率誤認為是點擊數除以推送總數。所以有時候你發現IOS的推送點擊率才不到1%,那么請你好好的檢查下,你的計算方式是否存在錯誤。
那些根本沒到達用戶設備的推送通知,根本不存在點擊率一說。所以我們需要分析每個環節的數據也是因為如此。我們要分析真正的點擊率,就只能先確認消息都到達了。
通過查閱資料和自身項目的實驗發現,確實很多時候Android的點擊率會高于IOS的點擊率。但是影響推送點擊率更多不在技術問題,而在于推送運營策略上,詳見<推送系統從0到1(九):推送的運營策略>。
除此以外需要注意的是推送通知欄的特性,如IOS12會把消息進行分組折疊,Android7及以上也有分組的功能,還有消息的勿擾模式等等。
在這個環節我們可以通過橫向和縱向比較數據分析點擊率的情況。橫向是指每次推送點擊率的比較,通過運營策略提高自身推送點擊率,如時間、推送文案等等。而縱向指的是與同業或競品比較數據,通過分析推送消息的展示情況、系統特性以及相關技術問題,進一步提高推送點擊率。正如我前面所說,影響點擊率有非常多的因素,需要持續分析研究,才可能可以找到最大的問題點。
推送轉化率
推送的本質還是把合適的內容主動呈現在用戶面前,而內容才是其中的關鍵。通過分析用戶點開推送進入到著陸頁的轉化數據,可以作為運營指標進行研究。這也是推廣路徑的一種,可以通過分析用戶關鍵行為、交互數據、關鍵指標的轉化等數據進行分析。我相信這一步營運都有非常豐富的經驗,在此就不再復述了。
本章總結
簡單總結一下,觀察推送過程中數據指標,分析這些數據背后的原因,從而減少消息的丟失,并把推送的效果發揮到極致。這是本章通過數據優化推送系統的目的所在。那么本章介紹的主要數據指標為:
- 推送用戶池數據:累計安裝用戶數;
- 有效用戶比例:同意推送權限的用戶數;
- 實際推送目標用戶:甄別真實可推送用戶;
- 消息下發成功率:下發成功數/實際推送目標用戶數;
- 消息到達率:消息到達數/下發成功數;
- 推送點擊率:消息點擊數/消息到達數;
- 推送轉化率:關鍵指標點擊數/消息點擊數(頁面訪問人數)。
大家可以通過分析以上幾個關鍵指標,提出優化方案,讓推送系統更完善。再結合上一章所講的運營策略,那么我相信推送效果一定能有所增長。
下一篇是系列文章的最后一篇,會為大家介紹推送會影響APP/網站的相關數據指標,如卸載量、活躍數等,盡請期待。
相關閱讀
本文由 @番茄那只羊 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Pexels,基于 CC0 協議
安卓Push的到達點擊率貌似普遍低于IOS?各種廠商會折疊push,但是推送關閉率的情況要好于IOS。
1.推送到達率;Android到達率普遍低于IOS,因為Android機型、定制化系統眾多,可能會因為省電、安全管家等導致推送進程被殺死。
2.推送點擊率;首先確認點擊率的計算;點擊率=點擊數/到達數。排查不是到達導致的問題,目前IOS12與Android6及以上系統都會折疊push,確實點擊率會有所下降。但是從網上眾多資料來看,Android點擊率高于IOS。(具體要看實際情況)
3.推送關閉率;由于IOS在第一次啟動APP時就彈窗請求權限,導致用戶關閉更為方便,確實Android的推送權限關閉情況由于IOS。
感謝回復,我這邊安卓的到達點擊率(Push點擊/Push到達量)要低于IOS很多,有點想不清楚原因。
感謝留言~以下是我個人的小建議,可以從這些方面試試看:
1.保證數據準確性;自己統計到達量及點擊量,減少因為數據問題造成的假象。
2.保持樣本一致性;想要對比點擊率,要保持兩端影響點擊率的主觀因素一致,如push的時間、內容、通知文案、頻率、目標用戶
3.抽樣分析;針對Android到達但未點擊的用戶,分析是否是設備因素(主要設備分布)、用戶特征等其他因素 ??