Overhaul For You feed ranking and freshness
Ranking improvements: - Wider candidate pool (4x limit) with ±12pt score perturbation so same-score videos shuffle differently each load - Recent channel engagement signal: channels watched in past 30 days get a +4pts/watch boost - Bail penalty: -25pts for videos started but abandoned before 20% - Impression penalty: -3pts per prior feed appearance (capped at 10), so repeatedly-skipped videos sink naturally - rn cap raised to 5 for more candidates; Python-side sampling picks top limit Feed UX: - Reshuffle button now available on For You (ranked) mode, not just Explore - shuffleKey now always included in query key (not just random mode) - Ranked mode staleTime reduced from 10min to 90s Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -130,6 +130,7 @@ def on_startup():
|
||||
note TEXT DEFAULT '',
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
)""",
|
||||
"ALTER TABLE user_videos ADD COLUMN feed_shown_count INTEGER NOT NULL DEFAULT 0",
|
||||
]:
|
||||
try:
|
||||
db.execute(text(col_sql))
|
||||
|
||||
Reference in New Issue
Block a user