实战复盘:我是怎么做搜索优化的?

4 评论 6902 浏览 83 收藏 9 分钟

对于内容型的产品来说,一款好的搜索功能,可以最大程度放大内容效益——吸引用户留下来,并促使进入流量到下一波的转化。而笔者也以自己的搜索优化实践为例,说明了一系列的操作步骤,希望对你有所启发。

来交代下近况:来了**煮工作一年多了,在经历了半年app迭代功能规划工作之后我终于迎来了第一个高级功能——搜索优化。

(不是说其他功能不高级,只是搜索是对我来说全新的领域,跟以往负责的工作大不相同,所以称之为高级)

01 背景

我所负责的是APP的内容线的工作,核心工作围绕留存率展开。

在进行数据分析后发现留存率与用户收藏次数有关,收藏越多,留存率越高。因此提高留存,就要提高收藏。

明确了留存的关键行为后,就该去探索用户发生关键行为的核心漏斗。

通过app的流量分析可以知道,大部分流量进入食谱详情页的路径是通过搜索,所以优化“搜索 → 浏览 → 收藏”这个路径,预测会得到最大的转化率。(实际上也是的)

02 过程

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

  1. 搜索前:热搜词、历史搜索等
  2. 搜索时:关键词联想、自动纠错等
  3. 搜索后:无结果的推荐、有结果时的排序等

这次挑搜索后的搜索结果排序来详细说说。

第一步:制定排序策略

排序其实就是比大小,所以方法是给排序结果计算分值,根据不同的关键词,搜出来的结果都有自己的分值,只要比较大小就可以算出排序列表。

接下来就是如何计算的问题,也就是哪些因素会影响排序分值,请往下看:

第二步:找参数

搜索结果排序这个东西,我在做的时候查阅了很多资料,但大多数资料都比较偏向底层的技术细节,比如说关键词匹配规则。

好在市面上有比较成熟的解决方案来解决底层的搜索逻辑,我们产品只需要决定关键词匹配哪些内容,以及赋多少权重即可。

更为重要的是除了相关度这个因素之外,搜索结果的排序还受到哪些因素的影响,以及他们是如何影响排序的。

前文有说到,收藏行为是用户留存的关键行为,所以食谱的优质标准中最重要的指标也是收藏率(收藏次数/浏览次数),因此收藏率会是搜索结果排序公式中的一项参数。

但是,如果只看收藏率也会有问题,比如当分子分母都非常小的时候,假如浏览次数是2,收藏次数是1,那收藏率就会有50%,这种极端情况出现。

为了减少这种极端,会加入另外一个参数,就是收藏次数。

于是到现在已经找好了三个参数:相关度、收藏次数、收藏率。

第三步:归一化

定好了参数后,由于这些参数几乎不在一个数量级,无法直接放进公式计算,因此需要先明确他们的范围:相关度数量级大约在100以内;收藏次数非常大,约为好几万,且不可控;收藏率范围在0~1之间。

因此我们需要把三个参数归一,便于计算。

由于数学一般,当时能想到的方法有两个:一种是对数,一种是分数。

我来说下我的理解:拿“收藏次数”这个参数来看,如果用对数的话,可以有一个变量,log2^A,A是收藏次数,如果用这个公式来计算的话,2个收藏跟2000个收藏差别不大,但还是无法避免前文所说“收藏和浏览次数都很小,但收藏率极高”的问题,且范围只是在一定范围内可控,仍然不知道如何跟“收藏率”放在一起计算。

于是模仿了“收藏率”公式:收藏次数/浏览次数,收藏次数也按照这样归一:分子是当前食谱的收藏次数,分母是当前搜索结果中的最大收藏次数。

这样这个参数就有两个变量,当收藏次数极低时,这个参数很小,收藏率对整个公式的影响不会是致命的。

于是仿照这个公式得出“相关度”的归一,得出最终计算排序分值的公式:A*当前相关度/最大相关度+B*当前收藏次数/最大收藏次数+C*当前收藏次数/当前浏览次数。

这样保证三个参数的取值范围都是0~1,后续只要根据不同关键词,调整A、B、C三个值,使收藏率高的食谱排在考前的位置即可。

03 结果和复盘

结果可想而知啦,通过搜索路径产生的收藏转化,提高了30%+。

当然这并不是高枕无忧的解决方案,由于我们的排序公式对所有词的搜索结果计算是一视同仁的,但是分析了关键词搜索趋势后发现,搜索词是可以聚类的,并不是没有规律,尤其是像食谱搜索这样的垂直领域,用户对每个(或者说每类)关键词搜出的结果有不同的预期。

比如说:用户会搜索食谱类目名称,如“下午茶”、“家常菜”、“创意菜”等,或者按照食材来搜索,如“鸡胸肉”、“三文鱼”等。

单看这两种类型的搜索词可以猜测出用户的搜索场景:搜索类目词的用户手上还没买食材,纯粹是来找灵感的,所以对新鲜感的要求比较高,两天来看到同样的东西就会失去热情,所以优化的方向应该是加入一个时间参数,越新的食谱排在越前面。

搜索食材词的用户大多已经拿买好了食材,这个时候找到食谱就行,对新鲜感的需求不如类目词,而是需要发掘长尾的食谱。所以此时优化的方向不会加入时间参数,而是在原来的公式上调整权重,让“相关度”的权重更大。

当然这还只是短期的策略,再往后如果资源允许的情况下,会加入协同过滤的算法,是将相似喜好的用户分组对待,更场景化。

比如与“我”喜好相似的用户搜索“家常菜”后点击或收藏的食谱,会排在“我”的搜索结果里更靠前的位置。

另外,由于食谱有时令性,用户在夏天搜索“家常菜”和在冬天搜索“家常菜”的诉求也会是不一样的,比如在夏天搜索“家常菜”我可能更想吃“凉菜”,此时如果搜出了很多羊肉汤也是很不合时宜的,因此在排序公式中,参数前面加上“近期该搜索词的**量”作为权重公式,我觉得会更有效率。

但是,在优化了搜索带来了一大波转化后也还是立刻达到瓶颈,原因是用户在进入详情页后,流量就死了,所以下一步我们紧接着就上了“食谱相关推荐”以增加详情页流量,这是另一个有趣的话题,有时间再来写~

(以上)

 

本文由 @Emma 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 谢谢楼主的归一化思考~其他小伙伴要是还需要搜索相关的灵感可以去看阿里巴巴的智能开放搜索,里面是比较浅的技术层和较深的产品层知识,而且目前大家的搜索引擎用的应该是那几个大厂的吧,可以找相关使用说明查看

    来自福建 回复
  2. 真好

    回复
  3. 满满当当的干活,对于刚研究做搜索的东西提供了思路参考!

    来自江苏 回复
  4. 厉害👍🏻

    回复