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)是基于物品的协同过滤算法,其核心思想是通过分析物品之间的相似性,向用户推荐与其历史交互物品相似的其他物品
核心步骤:
- 构建物品相似矩阵:计算每两个物品之间的相似度,常用方法包括余弦相似度和调整后的余弦相似度。 算法描述:计算物品
余弦相似度,分子为同时喜欢 的用户数量,分母各自除以 各自喜欢的用户数量
:物品 i 和物品 j 的相似度 :用户集合 :用户 u 交互过的物品集合 - 分子部分表示同时交互了物品 i 和 j 的用户数
- 分母部分对交互物品数量做归一化,防止受用户数量差异的影响
传统余弦相似度假设用户的评分尺度相同,但在实际应用中,不同用户的评分习惯不同,比如有的用户习惯给高分,有的习惯给低分。调整后的余弦相似度通过将评分中心化,去除了评分习惯的影响,使得相似度更加准确。 算法描述:遍历所有同时对物品
:用户 u 对物品 i 的评分
- 生成推荐结果:根据用户的历史行为(比如用户评分或浏览过的物品),找到与这些物品最相似的物品进行推荐 算法描述:将用户所有交互过的物品
的评分 乘以 的相似度,求和,得到用户 对于 的评分
:用户 u 对物品 j 的预测评分 :用户 u 交互过的物品集合 :物品 i 和物品 j 的相似度 :用户 u 对物品 i 的评分(或交互权重,如点击次数)