Лично мне нравится более сложный подход. Общая идея состоит в том, что процессор cron запускается каждые 5 минут, чтобы вычислить популярность каждой сущности на основе упомянутых вами критериев, а также на основе стандартного отклонения для пользователя, чтобы исключить очевидное ралли голосов банд, чтобы повысить контент в своем собственном круге общения.
Взгляните на ответ Лоусона, чтобы найти хорошую идею для определения возраста голосования. Но учтите, что может быть полезно применить собственный вес пользователя, основанный на репутации, стаже и т. Д.
К сожалению, это не просто. Хотя я нахожу это более увлекательным, чем большинство веб-программ, учет всех основных психологических аспектов игровой системы может быть очень трудоемким процессом и может не соответствовать вашим ожиданиям, если вы не работаете на самого Digg или не участвуете в серьезный запуск.
Вот стандартное отклонение php.net: http://php.net/manual/en/function.stats-standard-deviation.php
Хотя я думаю, что этот SO-ответ более важен: z-Scores (стандартное отклонение и среднее значение) в PHP
Примеры кода могут быть хорошими, но для этого нам понадобятся некоторые ваши данные, и даже тогда это может быть довольно сложным. Но это определенно весело. Особенно, когда ваш код находит людей, пытающихся играть в систему.