I've spent a lot of time considering various ways of implimenting a "most poopular" list for various systems that involve user rankings of content. In my opinion there are two good solutions, one of which is much better then the other -- but much more complex. Both work equally well for votes with boolean value (ie: 1), perlmonks style +/- votes (a value of -1 or +1), or scale votes (ie: a value of 1..10).

Unfortunately both require recalculating the score of every piece of content on a regular basis (even if it has had no new votes).

The first method, with the linear weighting function I mentioned, leans towards promoting either recent items or older items (depending on the value of $FACTOR). The second however can be used to lean towards items which continue to earn votes long after they were orriginally written.

In both cases, changing the weight function to something that is not so linear can allow you to tune it to perfection -- including adding bias at certain dates when you know there were radical shifts in votig rules (ie: on this date, the number of votes per person was significantly increased, so add more bias to votes cast before that date)


In reply to Re: More useful "best" and "worst" nodes display by hossman
in thread More useful "best" and "worst" nodes display by deprecated

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.