對于內容型的產品來說,一款好的搜索功能,可以最大程度放大內容效益——吸引用戶留下來,并促使進入流量到下一波的轉化。而筆者也以自己的搜索優化實踐為例,說明了一系列的操作步驟,希望對你有所啟發。
作者:Claire
題圖來自 Unsplash,基于 CC0 協議
全文共 2335 字,閱讀需要 5 分鐘
—————— BEGIN ——————
來交代下近況:來公司一年多了,在經歷了半年app迭代功能規劃工作之后我終于迎來了第一個高級功能——搜索優化。
(不是說其他功能不高級,只是搜索是對我來說全新的領域,跟以往負責的工作大不相同,所以稱之為高級)
我所負責的是APP的內容線的工作,核心工作圍繞留存率展開。
在進行數據分析后發現留存率與用戶收藏次數有關,收藏越多,留存率越高——因此提高留存,就要提高收藏。
明確了留存的關鍵行為后,就該去探索用戶發生關鍵行為的核心漏斗。
通過app的流量分析可以知道,大部分流量進入食譜詳情頁的路徑是通過搜索,所以優化搜索 → 瀏覽 → 收藏這個路徑,預測會得到最大的轉化率(實際上也是的)。
首先需要確定搜索的流程,大致確定為三步:
搜索前:熱搜詞、歷史搜索等
搜索時:關鍵詞聯想、自動糾錯等
搜索后:無結果的推薦、有結果時的排序等
這次挑搜索后的搜索結果排序來詳細說說。
排序其實就是比大小,所以方法是給排序結果計算分值,根據不同的關鍵詞,搜出來的結果都有自己的分值,只要比較大小就可以算出排序列表。
接下來就是如何計算的問題,也就是哪些因素會影響排序分值,請往下看:
搜索結果排序這個東西,我在做的時候查閱了很多資料,但大多數資料都比較偏向底層的技術細節,比如說關鍵詞匹配規則。
好在市面上有比較成熟的解決方案來解決底層的搜索邏輯,我們產品只需要決定關鍵詞匹配哪些內容,以及賦多少權重即可。
更為重要的是:除了相關度這個因素之外,搜索結果的排序還受到哪些因素的影響,以及他們是如何影響排序的。
前文有說到,收藏行為是用戶留存的關鍵行為,所以食譜的優質標準中最重要的指標也是收藏率(收藏次數/瀏覽次數),因此收藏率會是搜索結果排序公式中的一項參數。
但是,如果只看收藏率也會有問題,比如當分子分母都非常小的時候,假如瀏覽次數是2,收藏次數是1,那收藏率就會有50%,這種極端情況出現。
為了減少這種極端,會加入另外一個參數,就是收藏次數。
于是到現在已經找好了三個參數:相關度、收藏次數、收藏率。
定好了參數后,由于這些參數幾乎不在一個數量級,無法直接放進公式計算。
因此,需要先明確他們的范圍:相關度數量級大約在100以內;收藏次數非常大,約為好幾萬,且不可控;收藏率范圍在0~1之間。
我們需要把三個參數歸一,便于計算。
由于數學一般,當時能想到的方法有兩個:一種是對數,一種是分數。
我來說下我的理解:
拿收藏次數這個參數來看,如果用對數的話,可以有一個變量,log2^A,A是收藏次數;如果用這個公式來計算的話,2個收藏跟2000個收藏差別不大,但還是無法避免前文所說收藏和瀏覽次數都很小,但收藏率極高的問題,且范圍只是在一定范圍內可控,仍然不知道如何跟收藏率放在一起計算。
于是模仿了收藏率公式:收藏次數/瀏覽次數,收藏次數也按照這樣歸一:分子是當前食譜的收藏次數,分母是當前搜索結果中的最大收藏次數。
這樣這個參數就有兩個變量,當收藏次數極低時,這個參數很小,收藏率對整個公式的影響不會是致命的。
于是仿照這個公式得出相關度的歸一,得出最終計算排序分值的公式:A*當前相關度/最大相關度+B*當前收藏次數/最大收藏次數+C*當前收藏次數/當前瀏覽次數。
這樣保證三個參數的取值范圍都是0~1,后續只要根據不同關鍵詞,調整A、B、C三個值,使收藏率高的食譜排在考前的位置即可。
結果可想而知:通過搜索路徑產生的收藏轉化,提高了30%+。
當然,這并不是高枕無憂的解決方案。
由于我們的排序公式對所有詞的搜索結果計算是一視同仁的,但是分析了關鍵詞搜索趨勢后發現,搜索詞是可以聚類的,并不是沒有規律,尤其是像食譜搜索這樣的垂直領域,用戶對每個(或者說每類)關鍵詞搜出的結果有不同的預期。
比如說:
用戶會搜索食譜類目名稱,如下午茶、家常菜、創意菜等,或者按照食材來搜索,如雞胸肉、三文魚等。
單看這兩種類型的搜索詞可以猜測出用戶的搜索場景:搜索類目詞的用戶手上還沒買食材,純粹是來找靈感的,所以對新鮮感的要求比較高,兩天來看到同樣的東西就會失去熱情,所以優化的方向應該是加入一個時間參數,越新的食譜排在越前面。
搜索食材詞的用戶大多已經拿買好了食材,這個時候找到食譜就行,對新鮮感的需求不如類目詞,而是需要發掘長尾的食譜。所以此時優化的方向不會加入時間參數,而是在原來的公式上調整權重,讓相關度的權重更大。
當然這還只是短期的策略,再往后如果資源允許的情況下,會加入協同過濾的算法,是將相似喜好的用戶分組對待,更場景化。
比如與我喜好相似的用戶搜索家常菜后點擊或收藏的食譜,會排在我的搜索結果里更靠前的位置。
另外,由于食譜有時令性,用戶在夏天搜索家常菜和在冬天搜索家常菜的訴求也會是不一樣的,比如在夏天搜索家常菜我可能更想吃涼菜,此時如果搜出了很多羊肉湯也是很不合時宜的,因此在排序公式中,參數前面加上近期該搜索詞的**量作為權重公式,我覺得會更有效率。
但是,在優化了搜索帶來了一大波轉化后也還是立刻達到瓶頸;原因是用戶在進入詳情頁后,流量就死了。所以下一步我們緊接著就上了食譜相關推薦以增加詳情頁流量,這是另一個有趣的話題,有時間再來寫~
—————— / END / ——————