当前位置: 首页 > article >正文

搜索系统常见指标和评估方式

搜索系统常见指标和评估方式

搜索系统的优化是一场指标驱动的系统工程,核心在于找准业务指标和中间指标的传导路径,实现策略的高效迭代。

一个典型的搜索系统指标传导路径可以表示为:

底层技术指标 → 中间过程指标 → 业务核心指标

示例路径

  1. 优化点击率(CTR)路径

    • 特征工程优化 → CTR模型精度提升 → 用户点击更多结果 → GMV提升
  2. 提升相关性(Relevance)路径

    • Query-Doc匹配优化 → NDCG提升 → 用户停留时间增加 → 用户满意度提高
  3. 用户体验优化路径

    • 降低搜索时延 → 提升搜索响应速度 → 用户体验改善 → 留存率提升

搜索策略和算法的优化需要找准业务指标和中间指标,将它们作为优化的 “指挥棒”,确保搜索系统的优化方向正确,实现优化和目标的对齐。

业务核心指标

业务核心指标(北极星指标)直接反映搜索系统对业务的贡献,是业务发展的关键指引,通常是公司业务决策层重点关注的指标。业务核心指标关注用户规模、活跃度、留存、交易转化等,即从用户参与度、长期粘性以及商业变现的角度,全面衡量了业务的健康程度和发展潜力。这些指标的提升直接关系到业务的成功与可持续发展。

用户规模指标

用户规模指标衡量搜索引擎在用户层面上的覆盖程度和增长情况,反映搜索引擎的用户基础市场渗透率

DAU

DAU(日活跃用户,Daily Active Users) 表示每天访问并使用产品的独立用户数量。“独立用户” 通常依据设备 ID、用户账号等具有唯一性的标识来统计,同一个用户无论在当天内访问多少次,都只计为一个活跃用户:

DAU = 当天登录或使用产品的独立用户数量 \text{DAU} = 当天登录或使用产品的独立用户数量 DAU=当天登录或使用产品的独立用户数量

DAU 反映了产品在日常层面的用户活跃情况,是衡量产品短期用户活跃度的重要指标。当终端产品不仅包含搜索业务,还具备推荐业务时,则需要对 DAU 进行区分,即衡量搜索业务的 SDAU 和推荐业务的 RDAU/FDAU。

SDAU

SDAU(搜索日活跃用户,Search Daily Active Users)特指在搜索引擎业务中每天进行过搜索操作的独立用户数量,反映了用户在搜索引擎上主动搜索信息的活跃程度,是衡量搜索功能有效性的重要指标:

SAU = 当天进行过搜索操作的独立用户数量 \text{SAU} = 当天进行过搜索操作的独立用户数量 SAU=当天进行过搜索操作的独立用户数量

SDAU占比(搜索渗透率)

SDAU占比搜索活跃用户在整体活跃用户(DAU)中的占比,反映了用户在访问平台时,选择进行主动搜索的频率和占比,即搜索渗透率:

SDAU占比 = SDAU DAU × 100 % \text{SDAU占比} = \frac{\text{SDAU}}{\text{DAU}} \times 100\% SDAU占比=DAUSDAU×100%

SDAU占比高 则用户对搜索功能依赖性强,搜索成为用户获取信息的重要途径。反之,SDAU占比低 则用户可能更多依赖推荐流或其他内容分发方式,而非主动搜索。

搜索Query量 / 人均Query量

搜索 Query 量 指在特定时间范围内,用户在搜索引擎中发起的搜索请求总次数

搜索 Query 量 = 所有用户在特定时间内的搜索次数总和 \text{搜索 Query 量} = \text{所有用户在特定时间内的搜索次数总和} 搜索 Query =所有用户在特定时间内的搜索次数总和

搜索 Query 量高 表示用户搜索需求旺盛,平台满足信息检索需求的能力较强。反之,搜索 Query 量低 可能是搜索结果不佳、用户搜索习惯降低,或者平台推荐机制分流了用户搜索需求。

人均 Query 量 是指在特定时间范围内,每个活跃搜索用户平均发起的搜索请求次数,反映了用户在搜索引擎上搜索行为的活跃程度搜索需求的深度

人均 Query 量 = 搜索 Query 量 搜索活跃用户数 \text{人均 Query 量} = \frac{\text{搜索 Query 量}}{\text{搜索活跃用户数}} 人均 Query =搜索活跃用户数搜索 Query 

人均 Query 量高 反映用户搜索需求较高,对搜索功能依赖性强,可能在深入探索信息。反之,人均 Query 量低 可能是用户难以找到想要的结果,搜索体验不佳,或信息获取途径转移到推荐流等其他渠道。

在搜索策略优化中,提升搜索 Query 量人均 Query 量,并确保它们的增长是基于高质量搜索结果良好用户体验,是搜索引擎持续迭代和成功的关键。

用户留存指标

搜索LT30

LT30 指的是在过去 30天周期 内,累计搜索活跃天数去重搜索活跃人数 的比值。

  • 累计搜索活跃天数:过去30天内,所有用户累计进行搜索的天数总和
  • 去重搜索活跃人数:过去30天内,至少进行过1次搜索的独立用户数

LT30 = 30天内累计搜索活跃天数 30天内去重搜索活跃人数 \text{LT30} = \frac{\text{30天内累计搜索活跃天数}}{\text{30天内去重搜索活跃人数}} LT30=30天内去重搜索活跃人数30天内累计搜索活跃天数

LT30 高 表示用户在30天内频繁使用搜索功能,搜索行为具有高黏性。反之,LT30 低:表示用户使用搜索功能的频率较低,黏性较差,可能依赖其他信息获取方式(例如推荐流)。

搜索次n日留存率

搜索次N留存(Next-N Retention) 衡量用户在首次触发搜索后的持续活跃程度的重要指标,即用户在一定时间窗口内(N日内) 是否 至少再次触发搜索行为。

Next-N Retention Rate = ∣ U N ∣ ∣ U 0 ∣ \text{Next-N Retention Rate} = \frac{|U_N|}{|U_0|} Next-N Retention Rate=U0UN

其中:

  • U 0 U_0 U0:在当天 T T T 内首次完成首次搜索的用户集合
  • U N U_N UN:在时间窗口 T + N T+N T+N 内,完成首次搜索后又至少完成一次搜索行为的用户集合

在新策略上线后,次N留存可以衡量用户在短期和中期内的衡量用户活跃度功能黏性

中间过程指标

业务指标 是搜索系统的最终目标,但它们往往不能直接指导策略和算法的优化,需要中间指标进行细化和分解。此外,业务指标的提升是比较困难的,大部分策略和算法优化通常很难直接显著提升用户规模和用户留存,为了验证实验效果,中间过程指标(代理指标/次级指标)变得尤为重要。这些指标可以更快速地评估新功能或优化措施的效果,而不需要等待长期的数据积累来观察最终业务结果的变化。

人工评估

人工体验评估是指通过专业评审员对搜索引擎的搜索结果进行主观打分或评价,以此衡量搜索结果的相关性、质量和用户满意度。人工评估通常作为机器指标的补充,提供更精细和直观的反馈。

GSB评估

通过 对比两套搜索结果(如A版本与B版本),由评审员或专业标注员直接对A、B两个版本的搜索结果列表中相同位置下的文档进行 对比评估,从而判断哪一套搜索结果更优(Side by Side)。在 Side by Side 评估中,采用 GSB 评价标准

  • Good(好) :新的搜索策略或算法版本相比旧版本,搜索结果质量有所提升
  • Same(相同) :新的搜索策略或算法版本相比旧版本,搜索结果质量没有显著变化
  • Bad(差):新的搜索策略或算法版本相比旧版本,搜索结果质量有所下降

在搜索引擎的 GSB(Good, Same, Bad) 评估中,为了确保数据集的全面性和代表性,通常会从 头部、腰部、尾部检索词 中进行抽样,并在 对照组(旧策略)实验组(新策略) 下,分别取出 Top N 条检索结果 进行对比分析。

DCG评估

DCG(Discounted Cumulative Gain,折扣累积增益) 是一种常用的搜索引擎排名质量评价指标,主要用于衡量搜索结果中文档的综合满意度与排序位置之间的关系。

对于一个搜索结果列表,DCG 的公式如下:

DCG = ∑ i = 1 N score i log ⁡ 2 ( i + 1 ) \text{DCG} = \sum_{i=1}^{N} \frac{\text{score}_i}{\log_2(i+1)} DCG=i=1Nlog2(i+1)scorei

  • N N N:搜索结果中总共返回的文档数量
  • score i \text{score}_i scorei:第 i i i 个文档的综合满意度得分(人工基于相关性、内容质量、时效性、个性化等综合评审)
  • i i i:文档在搜索结果列表中的位置
  • log ⁡ 2 ( i + 1 ) \log_2(i+1) log2(i+1):对排名位置进行折扣,位置越靠后,权重越小

总结

搜索系统的优化离不开一套清晰、全面的指标体系,其中业务指标决定战略方向,中间指标反映执行效果。通过业务核心指标、中间过程指标和人工评估指标的结合,来量化用户满意度、系统性能和业务目标的达成情况,并以此建立从业务指标 → 中间指标 → 策略调整 → 效果反馈的完整数据闭环,实现全方位评估搜索效果,设定正确的系统优化方向。


http://www.kler.cn/a/451561.html

相关文章:

  • 【Java基础-26.1】Java中的方法重载与方法重写:区别与使用场景
  • Unity中LineRenderer使用MeshCollider方法参考
  • 基于STM32F103控制L298N驱动两相四线步进电机
  • Batch_Size对神经网络训练效率的影响:一个PyTorch实例分析
  • springboot/ssm私房菜定制上门服务系统Java代码编写web厨师上门做菜
  • 基于Springboot的在线问卷调查系统【附源码】
  • Berlandesk 注册系统算法实现与解析
  • SQL—leetcode—175. 组合两个表
  • 如何在 Ubuntu 上安装 PyTorch
  • LabVIEW实现WiFi通信
  • ES6学习Generator 函数(生成器)(八)
  • 匈牙利算法
  • Java基本查询(四)
  • minicpm 多模态RAG构建案例
  • 组态软件行业市场发展现状
  • 怎麼驗證HTTP代理的可靠性?
  • 信息安全技术——防火墙、入侵检测技术
  • 【深度学习】嘿马深度学习笔记第10篇:卷积神经网络,学习目标【附代码文档】
  • Hadoop中MapReduce过程中Shuffle过程实现自定义排序
  • 演讲 | 学好语文的经验介绍
  • [react]不能将类型“string | undefined”分配给类型“To”。 不能将类型“undefined”分配给类型“To”
  • cudnn版本gpu架构
  • 用 ElementUI 的日历组件 Calendar 自定义渲染
  • 面试经验分享 | 北京渗透测试岗位
  • Spring Boot框架结合MongoDB实现日志数据的保存和归档
  • 50.第二阶段x86游戏实战2-lua获取本地寻路,跨地图寻路和获取当前地图id