Vì sao lượt xem không đủ để xác định Trending?
Nhiều hệ thống sử dụng công thức đơn giản:
Trending = Tổng lượt xem trong khoảng thời gian (7 ngày / 30 ngày)
Nghe hợp lý, nhưng thực tế lại có nhiều vấn đề nghiêm trọng:
- Bias theo quy mô: Nội dung đã nổi từ trước luôn có lợi thế
- Không phản ánh tốc độ tăng trưởng: Nội dung đang “bùng nổ” có thể bị lép vế
- Dễ bị spam: Bot hoặc traffic ảo có thể đẩy view lên nhanh
Kết quả: bảng trending trở thành bảng “popular phiên bản ngắn hạn”, không còn ý nghĩa thực sự.
Trending đúng nghĩa là gì?
Trending = tốc độ tăng trưởng + độ mới + mức độ quan tâm hiện tại
Nói cách khác, trending không phải là “ai nhiều view nhất”, mà là “ai đang tăng nhanh nhất ngay lúc này”.
Yếu tố 1: Velocity (tốc độ lượt xem)
Thay vì tổng view, hãy đo view theo đơn vị thời gian:
Velocity = Views / Time
- 1000 view trong 1 giờ >>> 1000 view trong 1 tuần
Velocity giúp phát hiện nội dung đang tăng trưởng nhanh.
Yếu tố 2: Time Decay (giảm dần theo thời gian)
Nội dung cũ dù từng rất hot cũng cần “hạ nhiệt”.
Score = Velocity * e-λt
- t: thời gian từ lúc đăng
- λ: hệ số decay
Decay giúp ưu tiên nội dung mới và giữ hệ thống luôn tươi.
Yếu tố 3: Engagement (tương tác thực)
Không phải view nào cũng có giá trị như nhau.
- Comment
- Bookmark
- Like / Rating
EngagementScore = w1 * Comment + w2 * Bookmark + w3 * Rating
Điều này giúp lọc bỏ nội dung có view cao nhưng chất lượng thấp.
Yếu tố 4: Anti-spam & Normalization
Nếu không kiểm soát, trending sẽ bị phá:
- Bot tăng view
- Refresh spam
Giải pháp:
- Unique view (theo user/IP/device)
- Giới hạn tốc độ tăng bất thường
- Normalize theo baseline hệ thống
Công thức Trending đề xuất
Một công thức thực tế có thể như sau:
TrendingScore = (Velocity * α + Engagement * β) * e-λt
- α, β: trọng số
- λ: decay factor
Trong đó:
- Velocity bắt trend nhanh
- Engagement đảm bảo chất lượng
- Decay giữ tính “mới”
So sánh nhanh các kiểu ranking
- Top Rated: dựa vào rating (ổn định, chậm)
- Popular: tổng view (dài hạn)
- Trending: tốc độ + thời gian (ngắn hạn, động)
Mỗi loại phục vụ mục đích khác nhau — không thể thay thế cho nhau.
Kết luận
Chỉ dựa vào lượt xem, dù là trong tuần hay tháng, không thể tạo ra một hệ thống trending đúng nghĩa. Trending là bài toán về động lực tăng trưởng, không phải tổng lượng tích lũy. Muốn làm tốt, bạn cần kết hợp velocity, time decay và engagement — đồng thời kiểm soát spam. Khi đó, bảng trending mới thực sự phản ánh “cái gì đang hot ngay bây giờ”, thay vì chỉ là “cái gì từng nổi”.
Bình luận