Алгоритм рассчета рейтинга композиции

Для любой композиции рассчитывается два рейтинга – Общий (за весь период) и Недельный (за текущую неделю). Общий рейтинг отображается на странице песни большими белыми цифрами. Недельный отображается на странице песни под общим рейтингом.
Оба рейтинга рассчитываются с помощью одного алгоритма. Разница лишь в том, что для общего рейтинга в расчет идут все оценки, отданные за композицию, а для недельного - лишь за текущую неделю.


Пояснения для переменных алгоритма:

song_sum = сумма всех оценок за композицию – все оценки, поданные за композицию, складываются по следующим правилам: оценка “хорошо” считаются как +1, “хорошо” с отзывом как +2, “плохо” без отзыва – 1, “плохо” с отзывом – 2, оценка “не знаю”, с отзывом и без отзыва – 0 (пусть это и 0, они все равно играют свою роль, смотрите ниже song_votes и song_average)

song_votes = общее количество всех оценок, поданных за композицию

song_average = song_sum / song_votes – средняя оценка для композиции

all_average = средняя оценка всех композиций на сайте, суммируются общие рейтинги всех композиций и делятся на количество композиций на сайте – пересчитывается после каждой новой оценки (на момент публикации алгоритма - 0.414)

min_votes = минимальное количество оценок (на данный момент 10), до достижения которого рейтинг композиции стремится к all_average, а после достижения которого стремится к song_average

Итоговая формула рассчета рейтинга композиции:

rating = (song_votes / (song_votes+min_votes)) * song_average
+ (min_votes / (song_votes+min_votes)) * all_average


Первое слагаемое:

(song_votes / (song_votes+min_votes)) * song_average

пока голосов меньше min_votes, song_average (средняя оценка композиции) мало влияет на общий рейтинг композиции. Как только голосов становится больше min_votes, вес song_average в общем рейтинге композиции начинает увеличиваться.

Второе слагаемое:

(min_votes / (song_votes+min_votes)) * all_average

пока голосов меньше min_votes, all_average (средний рейтинг композиций на сайте) существенно влияет на общий рейтинг композиции. С увеличением количества голосов влияние all_average в общем рейтинге композиции уменьшается.

Итак, итоговый рейтинг при малом количестве оценок стремится к среднему рейтингу, а при большом количестве – к рейтингу, рассчитанному по фактическим оценкам композиции.



Анонс
Дорогие коллеги-музыканты!

Обращаемся ко всем, кто хочет поддержать Донбасс своими выступлениями. Для всех желающих мы организуем поездки с концертами на постоянной основе.
Все афиши
Хит-парад пользователей
Рейтинг композиций составляется по итогам голосования посетителей сайта
Весь хит-парад
© 2006-2013 Rocklab Новости | Разместить афишу | Правила | Пресса о нас | Контакты | FAQ