Байесовский рейтинг


$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? Каков максимально возможный рейтинг?

Author: Alix Axel, 2011-07-11

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