Simple Đại số:
AvgVotes = Sum của tất cả các bình chọn/Sum của tất cả các mục
AvgRating = Sum lên phiếu bầu cho tất cả các mục * 5/Sum của tất cả các phiếu
CurVotes = Số phiếu trên mục hiện
CurRating = Sum lên phiếu trên mục hiện hành * 5/số phiếu trên mục hiện
TotalVotes = Sum của tất cả các phiếu + Sum phiếu trên mục hiện
((AvgVotes * AvgRating) + (CurVotes * CurRating)) * 5/TotalVotes
Vì vậy, cắm vào con số của bạn đánh giá trọng lượng cho A ...
AvgVotes = 1.000
AvgRating = 0 (Hãy nhớ rằng không bao gồm số lượng cho mặt hàng bạn đang đánh giá tính trợ cấp thôi)
CurVotes = 1.000
.210
CurRating = 500 * 5/1000 = 2,5
Tổng Votes = 2000 + 1000 = 3000
((1000 * 0) + (1000 * 2,5)) * 5/3000 = 4,166
Tôi quên thêm, KHÔNG bao gồm bất kỳ mục nào trong bất kỳ phép tính hoặc tổng số nào ở trên mà không có phiếu bầu hoặc nó sẽ làm giảm trọng số.
EDIT - Giải pháp đơn giản:
Tôi cần lưu ý rằng có một giải pháp đơn giản cho vấn đề có thể được thực hiện. Tôi chỉ thể hiện hình thức dài để hiểu. Các thuật toán nén hình như:
Định nghĩa:
SET = Bất cứ điều gì không liên quan đến mục tiêu đánh giá hiện tại nơi bỏ phiếu là lớn hơn không.
target = Yếu tố bạn đang cố gắng để đánh giá
25 * (((Sum của SET up-votes)/(Sum các hạng mục SET)) + (Sum của MỤC TIÊU up-votes))/(tổng MỤC TIÊU phiếu + Sum của SET votes)
Một lần nữa cắm vào với con số của bạn đánh giá 'A' để làm rõ và chứng minh:
(25 * ((0/2) +500))/(1000+ 2000) = 4.166
bản sao có thể có của [Thuật toán tốt nhất để tính mục được ghi nhiều nhất là gì?] (Http://stackoverflow.com/questions/2134504/what-is-the-best-algorithm-to-calculate-the-most -scored-item) –