Байесовский рейтинг
$avg_num_votes = 18; // Average number of votes in all products
$avg_rating = 3.7; // Average rating for all products
$this_num_votes = 6; // Number of votes for this product
$this_rating = 4; // Rating for this product
$bayesian_rating = ( ($avg_num_votes * $avg_rating) + ($this_num_votes * $this_rating) ) / ($avg_num_votes + $this_num_votes);
echo round($bayesian_rating); // 3
В чем значение 3? Каков максимально возможный рейтинг?
3
2 answers
Вы сравниваете рейтинги этого продукта с рейтингами всех продуктов, поэтому ваш ответ - это рейтинг. Если $avg_rating и $this_rating равны 3,7 и 4 из 10, то ваш ответ из 10. Если это из 5, то ваш ответ из 5. $bayesian_rating, $avg_rating и $this_rating все сопоставимы.
1
Author: Bob Baddeley, 2011-07-11 16:25:25
Ну что ж, занимаемся математикой:
((18 * 3.7) + (6 * 4)) / (18 + 6)
(66.6 + 24) / (24)
90.6 / 24
3.775
Итак, это 3 из 1...
1
Author: Marc B, 2011-07-11 16:25:50