Hacker News new | ask | show | jobs
by fcd12 1537 days ago
just to make sure i understand, is the formula

(upvotes / age_in_hurs^1.6) * lot_of_penalties

or is it

(upvotes / (age_in_hurs^1.6 * lot_of_penalties))

2 comments

I found this from 2010.

https://news.ycombinator.com/item?id=1781013

    (= gravity\* 1.8 timebase\* 120 front-threshold\* 1
       nourl-factor\* .4 lightweight-factor\* .17 gag-factor\* .1)

    (def frontpage-rank (s (o scorefn realscore) (o gravity gravity*))
      (* (/ (let base (- (scorefn s) 1)
              (if (> base 0) (expt base .8) base))
            (expt (/ (+ (item-age s) timebase*) 60) gravity))
         (if (no (in s!type 'story 'poll))  .8
             (blank s!url)                  nourl-factor*
             (mem 'bury s!keys)             .001
                                            (* (contro-factor s)
                                               (if (mem 'gag s!keys)
                                                    gag-factor*
                                                   (lightweight s)
                                                    lightweight-factor*
                                                   1)))))
Python:

  def calculate_score(votes, item_hour_age, gravity=1.8):

      return (votes - 1) / pow((item_hour_age+2), gravity)
I would imagine it the former:

    (upvotes / age_in_hurs^1.6) * lot_of_penalties