實(shí)戰(zhàn)復(fù)盤:我是怎么做搜索優(yōu)化的?

4 評論 6976 瀏覽 83 收藏 9 分鐘

對于內(nèi)容型的產(chǎn)品來說,一款好的搜索功能,可以最大程度放大內(nèi)容效益——吸引用戶留下來,并促使進(jìn)入流量到下一波的轉(zhuǎn)化。而筆者也以自己的搜索優(yōu)化實(shí)踐為例,說明了一系列的操作步驟,希望對你有所啟發(fā)。

來交代下近況:來了**煮工作一年多了,在經(jīng)歷了半年app迭代功能規(guī)劃工作之后我終于迎來了第一個高級功能——搜索優(yōu)化。

(不是說其他功能不高級,只是搜索是對我來說全新的領(lǐng)域,跟以往負(fù)責(zé)的工作大不相同,所以稱之為高級)

01 背景

我所負(fù)責(zé)的是APP的內(nèi)容線的工作,核心工作圍繞留存率展開。

在進(jìn)行數(shù)據(jù)分析后發(fā)現(xiàn)留存率與用戶收藏次數(shù)有關(guān),收藏越多,留存率越高。因此提高留存,就要提高收藏。

明確了留存的關(guān)鍵行為后,就該去探索用戶發(fā)生關(guān)鍵行為的核心漏斗。

通過app的流量分析可以知道,大部分流量進(jìn)入食譜詳情頁的路徑是通過搜索,所以優(yōu)化“搜索 → 瀏覽 → 收藏”這個路徑,預(yù)測會得到最大的轉(zhuǎn)化率。(實(shí)際上也是的)

02 過程

首先需要確定搜索的流程,大致確定為三步:

  1. 搜索前:熱搜詞、歷史搜索等
  2. 搜索時:關(guān)鍵詞聯(lián)想、自動糾錯等
  3. 搜索后:無結(jié)果的推薦、有結(jié)果時的排序等

這次挑搜索后的搜索結(jié)果排序來詳細(xì)說說。

第一步:制定排序策略

排序其實(shí)就是比大小,所以方法是給排序結(jié)果計(jì)算分值,根據(jù)不同的關(guān)鍵詞,搜出來的結(jié)果都有自己的分值,只要比較大小就可以算出排序列表。

接下來就是如何計(jì)算的問題,也就是哪些因素會影響排序分值,請往下看:

第二步:找參數(shù)

搜索結(jié)果排序這個東西,我在做的時候查閱了很多資料,但大多數(shù)資料都比較偏向底層的技術(shù)細(xì)節(jié),比如說關(guān)鍵詞匹配規(guī)則。

好在市面上有比較成熟的解決方案來解決底層的搜索邏輯,我們產(chǎn)品只需要決定關(guān)鍵詞匹配哪些內(nèi)容,以及賦多少權(quán)重即可。

更為重要的是除了相關(guān)度這個因素之外,搜索結(jié)果的排序還受到哪些因素的影響,以及他們是如何影響排序的。

前文有說到,收藏行為是用戶留存的關(guān)鍵行為,所以食譜的優(yōu)質(zhì)標(biāo)準(zhǔn)中最重要的指標(biāo)也是收藏率(收藏次數(shù)/瀏覽次數(shù)),因此收藏率會是搜索結(jié)果排序公式中的一項(xiàng)參數(shù)。

但是,如果只看收藏率也會有問題,比如當(dāng)分子分母都非常小的時候,假如瀏覽次數(shù)是2,收藏次數(shù)是1,那收藏率就會有50%,這種極端情況出現(xiàn)。

為了減少這種極端,會加入另外一個參數(shù),就是收藏次數(shù)。

于是到現(xiàn)在已經(jīng)找好了三個參數(shù):相關(guān)度、收藏次數(shù)、收藏率。

第三步:歸一化

定好了參數(shù)后,由于這些參數(shù)幾乎不在一個數(shù)量級,無法直接放進(jìn)公式計(jì)算,因此需要先明確他們的范圍:相關(guān)度數(shù)量級大約在100以內(nèi);收藏次數(shù)非常大,約為好幾萬,且不可控;收藏率范圍在0~1之間。

因此我們需要把三個參數(shù)歸一,便于計(jì)算。

由于數(shù)學(xué)一般,當(dāng)時能想到的方法有兩個:一種是對數(shù),一種是分?jǐn)?shù)。

我來說下我的理解:拿“收藏次數(shù)”這個參數(shù)來看,如果用對數(shù)的話,可以有一個變量,log2^A,A是收藏次數(shù),如果用這個公式來計(jì)算的話,2個收藏跟2000個收藏差別不大,但還是無法避免前文所說“收藏和瀏覽次數(shù)都很小,但收藏率極高”的問題,且范圍只是在一定范圍內(nèi)可控,仍然不知道如何跟“收藏率”放在一起計(jì)算。

于是模仿了“收藏率”公式:收藏次數(shù)/瀏覽次數(shù),收藏次數(shù)也按照這樣歸一:分子是當(dāng)前食譜的收藏次數(shù),分母是當(dāng)前搜索結(jié)果中的最大收藏次數(shù)。

這樣這個參數(shù)就有兩個變量,當(dāng)收藏次數(shù)極低時,這個參數(shù)很小,收藏率對整個公式的影響不會是致命的。

于是仿照這個公式得出“相關(guān)度”的歸一,得出最終計(jì)算排序分值的公式:A*當(dāng)前相關(guān)度/最大相關(guān)度+B*當(dāng)前收藏次數(shù)/最大收藏次數(shù)+C*當(dāng)前收藏次數(shù)/當(dāng)前瀏覽次數(shù)。

這樣保證三個參數(shù)的取值范圍都是0~1,后續(xù)只要根據(jù)不同關(guān)鍵詞,調(diào)整A、B、C三個值,使收藏率高的食譜排在考前的位置即可。

03 結(jié)果和復(fù)盤

結(jié)果可想而知啦,通過搜索路徑產(chǎn)生的收藏轉(zhuǎn)化,提高了30%+。

當(dāng)然這并不是高枕無憂的解決方案,由于我們的排序公式對所有詞的搜索結(jié)果計(jì)算是一視同仁的,但是分析了關(guān)鍵詞搜索趨勢后發(fā)現(xiàn),搜索詞是可以聚類的,并不是沒有規(guī)律,尤其是像食譜搜索這樣的垂直領(lǐng)域,用戶對每個(或者說每類)關(guān)鍵詞搜出的結(jié)果有不同的預(yù)期。

比如說:用戶會搜索食譜類目名稱,如“下午茶”、“家常菜”、“創(chuàng)意菜”等,或者按照食材來搜索,如“雞胸肉”、“三文魚”等。

單看這兩種類型的搜索詞可以猜測出用戶的搜索場景:搜索類目詞的用戶手上還沒買食材,純粹是來找靈感的,所以對新鮮感的要求比較高,兩天來看到同樣的東西就會失去熱情,所以優(yōu)化的方向應(yīng)該是加入一個時間參數(shù),越新的食譜排在越前面。

搜索食材詞的用戶大多已經(jīng)拿買好了食材,這個時候找到食譜就行,對新鮮感的需求不如類目詞,而是需要發(fā)掘長尾的食譜。所以此時優(yōu)化的方向不會加入時間參數(shù),而是在原來的公式上調(diào)整權(quán)重,讓“相關(guān)度”的權(quán)重更大。

當(dāng)然這還只是短期的策略,再往后如果資源允許的情況下,會加入?yún)f(xié)同過濾的算法,是將相似喜好的用戶分組對待,更場景化。

比如與“我”喜好相似的用戶搜索“家常菜”后點(diǎn)擊或收藏的食譜,會排在“我”的搜索結(jié)果里更靠前的位置。

另外,由于食譜有時令性,用戶在夏天搜索“家常菜”和在冬天搜索“家常菜”的訴求也會是不一樣的,比如在夏天搜索“家常菜”我可能更想吃“涼菜”,此時如果搜出了很多羊肉湯也是很不合時宜的,因此在排序公式中,參數(shù)前面加上“近期該搜索詞的**量”作為權(quán)重公式,我覺得會更有效率。

但是,在優(yōu)化了搜索帶來了一大波轉(zhuǎn)化后也還是立刻達(dá)到瓶頸,原因是用戶在進(jìn)入詳情頁后,流量就死了,所以下一步我們緊接著就上了“食譜相關(guān)推薦”以增加詳情頁流量,這是另一個有趣的話題,有時間再來寫~

(以上)

 

本文由 @Emma 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 謝謝樓主的歸一化思考~其他小伙伴要是還需要搜索相關(guān)的靈感可以去看阿里巴巴的智能開放搜索,里面是比較淺的技術(shù)層和較深的產(chǎn)品層知識,而且目前大家的搜索引擎用的應(yīng)該是那幾個大廠的吧,可以找相關(guān)使用說明查看

    來自福建 回復(fù)
  2. 真好

    回復(fù)
  3. 滿滿當(dāng)當(dāng)?shù)母苫?,對于剛研究做搜索的東西提供了思路參考!

    來自江蘇 回復(fù)
  4. 厲害????

    回復(fù)