Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Improving the “Hacker News Frontpage” Algorithm
6 points by baccheion on Sept 4, 2016 | hide | past | favorite | 3 comments
What do you think would be the appropriate algorithm/approach to ranking/vetting submissions for the Hacker News Frontpage?

What should be factored in?

Do you believe the items shown should be personalized to each user (through collaborative filtering (or something) based on their voting patterns)? And if so, then should everything be personalized, or just a subset of what makes it to the front page (for example, 10 global top submissions + 10 personalized recommendations + 10 "test submissions" (to allow new submissions the chance to be up or down voted), then have them all shown in whatever order is determined by the main HN algorithm)?




Curious regarding what problem[s] such changes are intended to solve.


Better surfacing of quality submissions, fairer treatment of new or viable submissions (better spread of exposure and better overall volume of opportunities to upvote), more relevant content for each user (mixed in with global top stories), less influence by a handful of people, less feasible to game with voting rings or forced/"bought" upvotes, etc.


There definitely needs to be a more fluid/integrated means to discover new stories. The home page could be split down the middle, showing new stories to the right, or there could be a more feature-rich (and visible/accessible/usable/seductive/natural/etc) "upvote" page that allows searching, browsing, and filtering through submissions to discover ones to vote on. There could also be a slight weighting of votes (though not much) to create a bias toward more reliable (or longstanding) voters, or to infer which submissions the currently viewing user is likely to upvote. The bias likely has to be slight, as one part of the game is to show the global/absolute top stories, while also getting in stories the specific user is likely to find "upvote worthy."

Also, randomly surfacing new submissions to get a sampling of up or down votes seems essential. This would allow a greater spread/certainty when a submission does make it to the front page, and would also be fairer to promising submissions (they won't die prematurely due to lack of opportunity to be upvoted). It would also minimize gaming of the system and the relevance of "time of day."

Also, the gravity concept is good (so stories eventually die), but it's a bit too absolute/aggressive. There should also be normalization by total number of impressions and up/down votes, such that raw volume doesn't overwhelm quality with lower volume. That is, even if confidence intervals are used (which I don't really like), then up/down votes are an estimate of overall up/down vote percentages, which is what's relevant (the submissions most likely to be upvoted (meaning "best") are what should be shown first). Also, maybe volume matters somewhat (many votes implying a lot of interest), but it's better to separate this out and factor it in independently.

For example, each signed in user that clicks on a link has a probability/likelihood they'll vote, so that could convert their impressions into an expectation which could then be compared to reality (how many upvotes are actually recorded). The higher the upvotes (compared to what was expected), the better the submission. This can then be combined with the other scoring methods (and slight personalization-- maybe a certain percentage of front page entries are personalized and the rest based on absolute rankings, rather than having everything be personalized, or breaking them up into separate sections) to stabilize, refine, and make more accurate submission ranking/sorting.

There isn't a problem with a downvote button. And there isn't even a problem with it being abused (it being abused negatively affecting rankings is a sign the ranking algorithm is poor). The problem is with downvotes not being properly factored in (and weighed up or down depending on the source of the vote, and the user viewing the resulting front page articles). In fact, adding a downvote button would make it easier to rank new submissions (and it's also straightforward to filter (or normalize) out abusers of upvotes or downvotes).

Also, maybe passive actions could be factored in (or things could be added that would serve as good "signals" for "front page worthiness") to increase the overall number of votes, such that a handful of users don't control what makes it to the front page and to allow each article score to be more reliable/accurate.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: