Попробуйте что-то вроде этого:
votes = wins + losses
score = votes * ( wins / votes )
Таким образом, выигрывает что-то с 50%, но миллион голосов все равно будет впереди чего-то с 100%, но только один голос.
Вы можете добавить дополнительный вес в зависимости от возраста (в днях в этом примере), например,
if age < 5:
score = score + ((highest real score on site) * ((5 - age) / 5)
Это поместит новые записи прямо вверху первой страницы, а затем они будут медленно перемещаться по списку в течение следующих 5 дней (я предполагаю, что возраст - это дробное число, а не целое число ). По истечении 5 дней они будут внесены в список, основываясь исключительно на счете из предыдущего бита псевдокода.