Hacker News new | past | comments | ask | show | jobs | submit login
Is it hot or not? Ranking of user modded content.
13 points by ivankirigin on Aug 2, 2007 | hide | past | web | favorite | 7 comments
Reddit and News.YC share a feature: hotness. Users mod up and down -- but hotness is more than total points.

How should I do it?

Positive correlation with number of votes. Negative correlation with submit time. Perhaps negative correlation with time since mean or median time of mods. Perhaps adjust for rates -- a surge implies extra hotness.

How do you make the front page efficiently? I hope not to recalculate hotness for each page view -- but a naive approach might think it necessary given the continuous time decay.

A parallel service could periodically troll through the entries from the past N days and calculate their hotness -- which serves the front page. That could be updated and chached in memory inependent of front pageview count.

The way I do it is points divided by age in hours (plus two) to the 1.25th power. This is probably not optimal, but it's simple.

 (= gravity* 1.25 timebase* 120)

 (def hotness (s (o gravity gravity*))
   (/ (- (realscore s) 1)
      (expt (/ (+ (story-age s) timebase*) 60) gravity)))
I avoid reranking all the stories by keeping them in sorted order, and whenever I generate a frontpage for someone logged in, reinserting one randomly chosen story near the top (where all the change is). I also reinsert any story that gets voted on.

Thanks for sharing that Paul. Most people guard that knowledge like it's the lost grail.

Kudo to you for being open about it.


Interesting. Right now, I have no data, making testing difficult -- especially for anything that will change hotness depending on distribution of mods in a given time.

It's been something I've been thinking about for a bit, and want to get it out of my head to focus on building something that people use so I can actually get the data.

Why not just start with a simple hotness algorithm and evolve it after data starts coming in?

That's exactly what I'll do.

Speaking of karma, I wrote a little micro-essay about it at http://news.ycombinator.com/item?id=38605 .. I don't know if you'd want to experiment with karma quite like that, but it would be interesting.

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact