

Ask HN/PG : Why are comments ordered like this? - pig

See http://news.ycombinator.com/item?id=1162965<p>pg's comment, with just 17 points, is placed above brh's comment, which has 110 points. Both the comments are from 262 days ago.<p>Why is this so?
======
zck
Looking at the arc 3.1 source, I'm not sure why that's the case.

The real work here is done by * frontpage-rank* . It's implemented as follows:

    
    
      (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))  .5
               (blank s!url)                  nourl-factor*
               (lightweight s)                (min lightweight-factor* 
                                                   (contro-factor s))
                                              (contro-factor s))))
    

_realscore_ subtracts any votes that are noted as "sockvotes" from the item's
raw score.

The first few lines here won't change too much here for either comment.
Obviously, the 110 point comment will have a higher base score than the 17
point comment. They're about the same age, so (expt (/ (+ (item-age s)
timebase* ) 60) gravity) will be about the same for each of them. So the
division will come up with a number that's a few times higher for brh's
comment.

The interesting part is the multiplication here. I don't think either would be
considered a story, so neither is being multiplied by .5; neither has a blank
url, so they're not getting hit by nourl-factor _.

It comes down to the final part, whether one is considered "lightweight", and
what the _contro-factor* of each is. It takes into account the number of
children of the comment (the _visible-family_ call). It shouldn't make a
difference, though -- neither of the posts has more than 20 children, so
contro-factor for both should be 1. I think I'm missing something, as what
I've said wouldn't explain the ordering.

Notably, though, it doesn't take into either account karma or average karma of
the poster to determine rank.

Edit: as ChaosMachine pointed out, it does take into account users' average
karma: <http://news.ycombinator.com/item?id=1923716> . Ey pointed out that
pg's post is here: <http://news.ycombinator.com/item?id=1398764>

~~~
seancron
HN uses a modified algorithm to calculate the ranking. PG posted it on a story
somewhere, but I can't seem to find it right now.

It takes the user's karma score into account in the ranking.

------
meric
Interestingly, the author of the 110 point comment has no submissions and only
one comment - that one.

~~~
bmelton
That reminds me so much of the article about the guy who fluked the highest
ever recorded Scrabble score.

Oddly enough, I THINK (I'm not looking it up, and if I'm wrong, let me believe
the lie) the first word he dropped in that game was 110 points as well.

~~~
simonista
Here's the article: <http://www.slate.com/id/2152255/>

Fun stuff. Made me smile.

------
chaosmachine
Average comment karma of the poster plays a significant role in determining
comment order.

~~~
palish
Yuck. I hope it's a rolling average (i.e. the average from the last 30 days).
My account is 1368 days old! How the heck am I supposed to change my average
in any significant way?

~~~
zck
The average is calculated by taking your most recent 50 comments, dropping the
first five, dropping the max, and averaging the rest. Yours is currently 7.14
(it's in your profile), a very high average. For comparison, of the 100 people
on the leaderboard, there are only nine with a higher average.

~~~
AgentConundrum
Slightly off topic, but do you have any idea how often the average is
recalculated? I only ask because I've noticed that my average hasn't changed
since it appeared in the top bar, yet I've doubled my total karma in the last
two weeks.

Based on the formula you just gave, my average should be 3.27, but it still
shows 2.55.

I realize it's a bit of a meaningless metric, but it's something I've been
idly pondering for a few days.

~~~
dwwoelfel
A search at searchyc.com turned up:

"There's a background process that runs every 45 seconds and picks a random
loaded user to update the average of. Empirically, not more than every couple
days, at best."

<http://news.ycombinator.com/item?id=1875738>

~~~
nkassis
I must be really unlucky, mine has been the same for a few weeks.

~~~
revorad
mine too

------
dkokelley
Possibly still due to the time decay function. I don't know exactly when each
comment was created, but pg's comment may have been more recent (within 24
hours). I haven't looked at the inner workings, but I imagine that upvotes
might also be weighted more for how recent they are. Example: pg's comment may
have received 17 upvotes within a minute of posting, and his post was 4 hours
after brh's, and brh's upvotes happened slower, or before pg's comment.

This is all speculation. Maybe someone who has looked at the code could
confirm or debunk this.

~~~
andre3k1
I not certain, I am under the belief that the function that is applied to the
comments pages is very closely related to the function that is applied to the
main page.

I.e. a bit of time decay, overall karma activity (Karma score + comment karma
score), number of sub threads, etc.

------
pig
Link for easy clicking : <http://news.ycombinator.com/item?id=1162965>

------
JoeCortopassi
The karma points are probably weighted by user, so that users with higher
karma carry more weight per point.

------
blasdel
Note that pg can do whatever he wants in the REPL.

I haven't noticed any thread ordering tomfoolery before, but he's definitely
hidden posts from the index pages before without [dead]-ing them.

~~~
RK
And comments were occasionally altered in the early days.

------
evanrmurphy
Is it because pg's comment has a more developed (and karmaful) subthread?

~~~
pig
sum(pg's thread) = 80 points

sum(brh's thread) = 130 points

------
auston
More comments on pg's thread.

As an experiment; let's upvote chaosmachines comment to 5 add 1 comment, leave
mine get mine to 3 & add 3 comments.

~~~
Breakfast
First comment

