You might remember this post where I asked about how sorting by “Hot” gives you a lot of new posts that were posted in quick succession, making it look like “New”.
I was recommend by a few to use “Scaled”, so recently I did. Except this felt even worse: I saw new posts that were posted in succession with 0 upvotes, one having 1 upvote.
Isn’t this weird? Or am I doing it wrong?
Ranking:
Hot = Upvotes / Age
Scaled = Hot / Community size
Hpfanfiction must be a fresh community with no one joined yet and the creator posting a lot immediately. Alternatively, it just federated to LW.
On hot, I guess you managed to open it with the exact same second?
But 0 upvotes divided by any age is still 0. So Hot = 0, and Scaled would then be 0 divided by community size, and therefore also still 0.
It was in response to “Scaled is like Hot”, so I wasn’t looking at the Hot page at that moment, but I tried to convey how it doesn’t make sense that a post with 0 upvotes get to the top of Scaled
You’re making assumptions about how they work based on your intuition - luckily we don’t need to do much guesswork about how the sorts are actually implemented because we can just look at the code to check:
And since it relies on the hot_rank function:
So if there’s no further changes made elsewhere in the code (which may not be true!), it appears that
hot
has no negative weighting for votes <2 because it uses the max value out of2
andscore + 2
in its calculation. If correct, those posts you’re pointing out are essentially being ranked as if their voting score was 2, which I hope helps to explain things.edit: while looking for the function someone else beat me to it and it looks like possibly the
hot_rank
function I posted may or may not be the current version but hopefully you get the idea regardless!Thanks! That clears up a lot. Appreciate the paraphrasing too.
Small difference: I made the assumption that the simplified version was exactly how it works, as in, taking the comment at face value.
Fair enough - glad you’ve found it helpful (Y)
If you want a bit more detail, look at my edit. The functions to calculate the hot and scaled for content is now there.
It’s a simplified version they had explained somewhere in the documentation. Details like that may be left out.