Ask HN: In what ways could the “HN frontpage” algorithm be improved? - baccheion
======
simonpure
I've been experimenting with an alternative ranking based on activity (votes
and comments) [0]. I've definitely found some interesting stories because of
it.

[0] [http://beta.frontpageping.com](http://beta.frontpageping.com)

~~~
mcintyre1994
FYI: iPhone 6s/safari, all I get on your page is the title "Top stories", page
appears to have finished loading.

~~~
simonpure
Thanks for letting me know. Safari doesn't like the use of const yet and not
using a transpiler at the moment. Should be fixed, but will clean it up
properly.

------
baccheion
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.

~~~
duncanawoods
> The home page could be split down the middle, showing new stories to the
> right

I'd like to give that try. I'd like a random sort of the stories from the last
24 hours to reduce the connection to posting time and give some variety on
each refresh.

I often search HN when I find a new product/blog just to see what the reaction
is. I am quite surprised when I might see 20 decent submission from a source
or about a product that barely have an upvote between them. It makes me wonder
whether the blog/product pages that do hit the front-page are really that
organic at all.

~~~
Jaruzel
There's a 'New' button on the top row that does this. I read it daily. I don't
see the benefit of splitting the page - the greate thing about HN is it's
_plain_ interface. If it got as busy on the eye as say, Reddit, I feel the
experience would not be as good.

A simple and easy fix would be to add 'Random' as an option on the top bar
which shows a list of random posts (that are not already on the front page)
from the past 7 days.

~~~
duncanawoods
New is time-sorted so its first page is pretty much only submissions within
the last hour. Unless you visit every hour or dig deep, you are stuck with the
time sensitivity problem.

Personally I just don't visit "new" unless desperate. I see it as a deliberate
decision to take on the duty of filtering the fire-hose which is not something
I'm willing to commit to. I do however want better surfacing of submissions...

By giving it some presence on the front-page then I would at least be likely
to upvote a submission that catches my eye. When they have already hit the
front-page, its generally irrelevant - they have enough votes to not make it
worth upvoting.

> the greate thing about HN is it's plain interface

Yep I agree. I'd only suggest trying it as an addition rather than a
replacement for the current front-page. Maybe it could live under "new" as an
alternative view e.g. add a pure-text tab-strip of view options on the new
page. It would not add much UX complexity except for those that want it.

