Skip to content

Basics

评价指标

用户规模

  • 日活用户数(daily active user, DAU)
  • 月活用户数(monthly active user, MAU)
  • 周活用户数(weekly active user, WAU)
  • 搜索日活用户数(search daily active user, SDAU)
  • 推荐日活用户数(feed daily active user, FDAU)
    • 有些用户只用搜索或推荐:SDAU 或 FDAU小于DAU的
    • 很多用户既用搜索也用推荐:SDAU+FDAU > DAU
  • FDAU/DAU 推荐系统的吸引能力

用户留存

  • 次 n 日内留存率(次 n 留)
  • 第 n 日留存率(第 n 留)

关键在于 时间的点or时间段 的区别:

  • 次 n 留:t+0 - t+n 时间内至少使用过一次APP

  • 第 n 留: t+n 天中使用过一次APP 工业界使用最多的指标为次 1 留次 7 留

  • 用户生命周期(lift time,LT):定时间窗口内,用户使用 APP 天数的期望

LT7 和 LT28 是常用的 LT 指标

留存指标的陷阱

如果把导致留存率低的不活跃用户(但是不完全流失的用户)关闭,反而会提升留存指标,但是DAU会下跌

所以留存率提高+DAU下跌,要考虑是否推荐系统赶走了不活跃用户

消费

  • 人均阅读量
    • 视频消费时长和阅读消费市场需要换算
  • 人均使用推荐时长

推荐系统的链路

本质上就是一个漏斗模型

  • 召回
    • 从数据库中召回一些笔记
    • 有多个召回通道
    • 去重和过滤
  • 初排
    • 用机器学习模型对笔记打分
  • 精排
    • 用深度学习模型对笔记打分
  • 重排
    • 多样性抽样
    • 打散
    • 插入广告

初排和精排

原理类似,区别在于模型的复杂程度

A/B测试

本质上为实验组和对照组

  • 小范围考察新的模型对线上的影响
  • 找出最合适的参数

分层实验

  • 分层实验
  • 同层互斥
  • 不同层正交

例如:召回层中,不同实验中只能用不同的桶;在不同层的实验中,一个用户会受到多个实验的影响

holdout 机制

留存一部分用户不做任何实验,作为整体的对比

反转桶

留存一部分用户,长时间不推全,作为观察指标

召回

基于物品的协同过滤(ItemCF)

ItemCF(Item-based Collaborative Filtering)是基于物品的协同过滤算法,其核心思想是通过分析物品之间的相似性,向用户推荐与其历史交互物品相似的其他物品

核心步骤:

  1. 构建物品相似矩阵:计算每两个物品之间的相似度,常用方法包括余弦相似度和调整后的余弦相似度。 算法描述:计算物品ij余弦相似度,分子为同时喜欢ij的用户数量,分母各自除以i j各自喜欢的用户数量
wij=|{uU:iIujIu}||{uU:iIu}||{uU:jIu}|
  • wij:物品 i 和物品 j 的相似度
  • U:用户集合
  • Iu:用户 u 交互过的物品集合
  • 分子部分表示同时交互了物品 i 和 j 的用户数
  • 分母部分对交互物品数量做归一化,防止受用户数量差异的影响

传统余弦相似度假设用户的评分尺度相同,但在实际应用中,不同用户的评分习惯不同,比如有的用户习惯给高分,有的习惯给低分。调整后的余弦相似度通过将评分中心化,去除了评分习惯的影响,使得相似度更加准确。 算法描述:遍历所有同时对物品 ij 评分的用户集合 U,分子是每个用户的(中心化值)ij 的评分乘积,分母是每个用户对ij各自评分的L2范数

wij=uU(ru,ir¯u)(ru,jr¯u)uU(ru,ir¯u)2uU(ru,jr¯u)2
  • ru,i:用户 u 对物品 i 的评分
  1. 生成推荐结果:根据用户的历史行为(比如用户评分或浏览过的物品),找到与这些物品最相似的物品进行推荐 算法描述:将用户所有交互过的物品i的评分ru,i乘以ij的相似度,求和,得到用户u对于j的评分
pu,j=iIuwijru,i
  • pu,j:用户 u 对物品 j 的预测评分
  • Iu:用户 u 交互过的物品集合
  • wij:物品 i 和物品 j 的相似度
  • ru,i:用户 u 对物品 i 的评分(或交互权重,如点击次数)