行为数据计算

行为计算方式行为每日上限次数/值单次/单位得分建议满分上限(每天/对象)权重占比(约)说明 / 为什么这个分值学习时长上限 20–30 分钟前10min:每分钟 2 分第11–20min:每分钟 1.5 分第21+min:每分钟 1 分(或直接截断)30–40 分30–35%最核心深度信号,权重最高;有递减避免刷时长完

作者:user

行为计算方式

行为每日上限次数/值单次/单位得分建议满分上限(每天/对象)权重占比(约)说明 / 为什么这个分值
学习时长上限 20–30 分钟前10min:每分钟 2 分
第11–20min:每分钟 1.5 分
第21+min:每分钟 1 分(或直接截断)
30–40 分30–35%最核心深度信号,权重最高;有递减避免刷时长
完成进度取当天最高进度进度 × 40 分(即 100% = 40 分)
或分段:0–30% = 0–10分,30–70% = 10–25分,70%+ = 25–40分
40 分20–25%与时长互补,体现“学完”而非只“看一眼”
测验/作业提交 & 成绩1 次/天,取最高未提交 = 0
提交但未通过 = 10–15 分
通过 = 25–35 分
高分(90%+)额外 +5–10
35–45 分15–20%掌握度硬指标,付费意愿最强相关
复习回看建议计数或累计时长第1次回看:+15 分
第2次:+9 分(×0.6)
第3次及以上:+4.5 分(×0.3)或递减更狠
25–30 分8–12%体现长期兴趣/记忆强化,权重中等偏高
购买1 次(永久)首次购买该对象:+80–120 分(可分层:单课/专栏/会员)—(永久加分)10–15%最高价值信号,一旦发生可大幅拉升排序
收藏/加购1 次/天收藏 = +12–18 分
加购(购物车) = +18–25 分
18–25 分8–12%付费前最强意向,比点击强很多
开始/进入课时1–2 次/天每次 +5–8 分(若<2min时长则减半或0)8–12 分5–8%门槛信号,结合时长才有意义
搜索3 次/天(同词合并)每次 +4–8 分(有后续点击/开始/收藏则 ×1.5)15–20 分4–7%主动需求最强,权重中等
点击详情2–3 次/天每次 +3–6 分(若停留<10秒则 ×0.5)10–15 分3–6%基础兴趣,权重较低
评论/提问2 次/天(低成本过滤)有效评论(字数≥10或有实质内容)每次 +8–15 分
纯表情/1–2字 = +2 分或0
20–25 分4–8%高黏性早期信号,但易刷,需质量过滤

是否需要时间衰减

行为是否需要时间衰减?推荐衰减类型 & 强度(示例)理由 / 为什么这样处理实际工程实现Tips
学习时长是(强烈推荐)指数衰减,半衰期 7–14 天(e.g. 0.92^天数)时长是当前兴趣最强代理,但用户可能阶段性专注某课,旧时长很快过时每天的时长分单独衰减后累加
完成进度是(强烈推荐)指数衰减,半衰期 10–30 天(稍慢于时长)进度代表“学到哪里”,但如果很久没继续,旧进度已不代表当前水平只取最高进度那天衰减
测验/作业提交 & 成绩是,但较弱指数衰减,半衰期 30–60 天 或 线性衰减掌握度相对持久,但如果测验很早做,后续没复习,知识会遗忘通过成绩可永久保留部分分数(如+10 base),再衰减额外部分
复习回看是,但很弱/可选豁免指数衰减,半衰期 60+ 天 或 只衰减前几次复习本身就是对抗遗忘的行为,多次复习证明长期兴趣,衰减太狠会惩罚真爱用户累计复习次数可做永久加成,单次回看衰减
购买(永久)无衰减,或极弱衰减(半衰期几年)付费是最高置信度信号,一旦买了就是“永久高价值”,衰减会误伤续费潜力用户直接加永久 boost(如+100),或分层(单课 vs 会员)
收藏/加购是(中等)指数衰减,半衰期 14–30 天意向信号,但如果很久没动,兴趣可能已转移;但比点击持久收藏可比加购衰减慢一点
开始/进入课时是(强烈)指数衰减,半衰期 7–14 天启动是短期行为,旧启动不代表当前意愿结合当天时长过滤无效启动
搜索是(强烈)指数衰减,半衰期 3–7 天(最快衰减)搜索是当下最强主动需求,过几天同关键词搜索已不相关同词搜索可合并,但仍快速衰减
点击详情是(强烈)指数衰减,半衰期 3–7 天最浅层兴趣,衰减最快,避免老点击污染当前推荐短停留点击可进一步降权
评论/提问是,但较弱指数衰减,半衰期 30–90 天评论代表深度思考/高黏性,相对持久,但如果用户转向新领域仍需衰减有效高质量评论可永久保留部分分数

学习时长和完成精度的处理算法

  • 每日行为信号提取与转分
  • 学习时长:分段计分(前10分钟1.8分/分钟 → 11-20分钟1.3分/分钟 → 21+分钟0.9分/分钟)+ 每日硬上限30分钟 + 每日分数上限40分
  • 完成进度:两种方式(线性 0–40分 / 分段非线性 0–40分)
  • 时间衰减(遗忘曲线模拟)
  • 指数衰减 + 保底:
    decay = 0.10 + 0.90 × exp(-0.038 × days_ago)
    → 半衰期约18天,长期保底10%,符合Ebbinghaus遗忘曲线的长期特性

  • 聚合方式
  • 时长:所有天衰减后累加(鼓励持续学习)
  • 进度:只取30天内最高进度那天计算 + 衰减(状态型信号,不应重复计分)
  • 最终归一化(这是最后加的关键步骤)
  • 使用1% 和 99% 分位数作为上下界(robust to outliers)
  • clip 极端值后,做 Min-Max 映射到 [0, 100]
  • 两种总分(线性进度版 vs 分段进度版)分别独立归一