Я собираюсь приступить к новому проекту - видео сайт. Пользователи смогут регистрироваться и голосовать за видео, нажимая «нравится» или «не нравится» или что-то в этом роде. В любом случае это будет система голосования с двумя вариантами, а не с пятью звездами.
Каждые X дней я буду составлять «диаграмму» самых популярных видео. Итак, мой вопрос: как мне определить популярность данного видео?
Если бы я пошел по пути подсчета видео с наибольшим количеством просмотров, это могло бы привести к тому, что исключительно плохие видео попали бы в чарты (только потому, что они такие плохие).
Если я выберу систему подсчета очков, основанную на количестве голосов «нравится» и «не нравится» (например, 100 голосов «нравится» и 50 голосов «не нравится» равняются 2 баллам), видео с небольшим количеством просмотров могут появиться в верхней части списка. графики.
Итак, что мне нужно сделать, это комбинация двух. За исключением, конечно, спамных просмотров и голосов.
Что ваши ребята думают по этому поводу?
Изменить: следующие теги были удалены: [mysql] [postgresql], чтобы освободить место для других, более репрезентативных тегов; технология SQL, используемая в предполагаемой реализации, по-видимому, мало влияет на соображения, касающиеся модели рейтинга как таковой.