98

I really like the new Stack Exchange home page, where certain questions from the Stack Exchange Network are presented, along with a hotness rating that is described as "arbitrary" in its tooltip. Such questions also appear randomly on the sidebar on questions across the network, under the heading "Hot Network Questions".

How do these arbitrary hotness points work, and how are they used to select questions to appear in those lists?

  • Probably the same as meta.stackexchange.com/questions/11602/…. – kennytm Aug 13 '10 at 13:36
  • @gnat this question is no longer relevant, there's no hotness involved anymore. Think it's better to cancel the bounty, close this one and post new question if you like. :) – ShaWiz Oct 1 '13 at 9:28
  • @ShaWizDowArd how's that? there's a page the question refers to, and there is "Hot Questions" link there. As for the "new" question, I've got one already thank you; with 6 bounties it appears like going just fine – gnat Oct 1 '13 at 9:40
  • @gnat nope. The question here is talking about the home page of Stack Exchange. Screenshot - it used to show hot questions in there and changed to show recent active questions at some point. – ShaWiz Oct 1 '13 at 9:51
  • @ShaWizDowArd I see, that's interesting. I added comment asking answerer to clarify on that – gnat Oct 1 '13 at 10:27
  • 1
    @gnat also, the full hot questions list is exactly the same as the list in the collider, plus 50 more. No tweaks anymore... but let David confirm that. :) – ShaWiz Oct 1 '13 at 10:34
  • 1
    @ShaWizDowArd according to David, the answer is still correct. This alone made this question worth of the bounty to me. :) Will award the bounty asap (UI says "in 20 hours"), then I think it would better be closed as a duplicate of "what formula..." – gnat Oct 1 '13 at 12:52
  • 1
    @gnat cheers, +50 to David. ;) – ShaWiz Oct 1 '13 at 12:54
  • 1
    see also: What changed in the Hot Questions sidebar algorithm? – gnat Feb 26 '14 at 11:22
94
+50

Basically what's documented here:

What formula should be used to determine "hot" questions?

We have a few tweaks:

  • Successive questions from the same site are penalized by increasing amounts. So, the first question from SO in the list gets multiplied by 1.0, the second by 0.98, the third by 0.96, etc.)

  • Each site is limited to contributing five questions to the list at a time by default.

  • There are per-site adjustments: some sites' questions require higher hotness scores to be selected, some sites are restricted to contributing fewer than the default five at a time, and it's possible for sites to be excluded entirely.

  • The benefit of many answers is capped at 10

  • We only degrade based on question age, and not the last update date on a question, so questions don't pop back up to the top every time they're edited

  • Views are not counted towards the score

  • Questions with no answers are excluded

  • Closed questions are excluded

  • Questions less than eight hours or more than 30 days old are excluded

  • Questions that were already selected to appear on the list more than 72 hours ago are excluded

  • Questions whose titles use blacklisted keywords are excluded; there is one global blacklist, as well as per-site blacklists

  • Questions that a local moderator has manually removed from the list are excluded

  • Questions on per-site metas, Meta Stack Exchange, Stack Apps, and non-English sites are excluded

The core of the formula (without the site-based degrading or traffic scaling) is:

(MIN(AnswerCount, 10) * QScore) / 5 + AnswerScore
-------------------------------------------------
         MAX(QAgeInHours + 1, 6) ^ 1.4

(take this with a grain of salt due to the omissions noted above)

Once a question reaches a threshold hotness score, it will be selected to appear on the list. No questions will be selected if the site has already contributed more than its limit of questions. This is recalculated every 15 minutes. The entire list is shown on stackexchange.com, and the results are randomized when displayed on sidebars.

  • 1
    David, one of comments here mentions that this question (and your answer?) is "no longer relevant". Could it be so? in particular, do tweaks you mention still apply to hot questions listed at collider? – gnat Oct 1 '13 at 10:24
  • 2
    @gnat This answer is still correct. The collider uses the same algorithm as the Stack Exchange hot question list. – David Fullerton Oct 1 '13 at 12:20
  • 1
    gnat Actually, it was slightly out of date. See the updated answer. – David Fullerton Oct 1 '13 at 12:57
  • 1
    David, can you please confirm the change regarding the top 3 answers being counted or not? I'd like to rerun my analysis, but I want to make sure I'm using the correct formula. – GlenH7 Oct 8 '13 at 14:34
  • 2
    @GlenH7 We no longer treat top 3 answers specially. All answers are included in AnswerScore – David Fullerton Oct 8 '13 at 14:44
  • 2
    gentle 2% penalty for same-site-questions is easily overruled by stuffing more answers into these, as demonstrated by recent example of 4 math questions occupying top of collider. Dropping tiny 2% when QScore is blindly multiplied by AnswerCount straight up to 10 answers looks futile – gnat Nov 8 '13 at 10:34
  • "per-site traffic adjustment so SO does not dominate" -- for the record, this is explained in more details in “SO questions are penalized” in the hot list - how does that work, can it be done for other site(s)? – gnat Mar 24 '14 at 12:01
  • Just to be clear: Are downvotes also counted in AnswerScore? Say, if one answer has 20 upvotes and 5 downvotes, would it have a score of 20 or 15? – Amal Murali May 18 '14 at 7:38
  • @Amal Yes, both scores are equal to upvotes - downvotes (same thing you see next to the post). If one answer has 20 upvotes and 5 downvotes, the score would be 15. – David Fullerton May 19 '14 at 14:14
  • 5
    @DavidFullerton, So is it right to say that the algorithm is not identifying "hot questions" (as it is named) but "hot answers"? – Pacerier Oct 3 '15 at 10:41
  • 1
    @David the rule "Questions with no answers are excluded" is redundant: zero answers will result in 0 anyway. – ShaWiz Jun 22 '17 at 14:07
  • The hotness formula has not changed with today's deployments. – Glorfindel Mar 11 at 21:47
  • @Glorfindel please check the listed items in the answer. They contain several elements outside the scope of the formula, that are relevant. That's why I added the item Questions age out of the list after being on it for 72 hours, that goes well together with others like Questions older than 30 days are excluded and Closed questions are excluded that we can read here. – fedorqui Mar 11 at 21:53
  • Why should Fullerton reap the rewards of upvotes when it looks like 60% of the answer, as it now appears, has been written by a completely different user? Shouldn't this post be made into a CW? Maybe this should be converted into a FAQ? Ahh, the original question was posted waaaaay back in August 2010. – Mari-Lou A Jun 6 at 6:07
26

Based on David Fullerton's answer, I've written a simple user script that adds a "hotness" indicator to the question sidebar:

Screenshot

To use the script, you'll first need to install a user script manager like Greasemonkey or Tampermonkey for your browser, if you don't have one already. Then click this link, which should prompt you whether you want to install the script or not. (If you don't have a user script manager installed, it will just show you the source code for the script.)

The "hotness percentage" calculated by the script is simply the raw value given by the "core formula" in David Fullerton's answer, times 100%. It does not include the per-site adjustment factors or the cumulative penalty for multiple questions from the same site, and so is not directly comparable across sites or with the "arbitrary hotness points" shown in the tooltips on the SE.com home page.

In practice, it seems that questions on the Hot Network Questions list tend to have hotness values around 20% to 200% or so, whereas most not-so-hot questions tend to score a flat 0%. For a more detailed score, you can hover your mouse over the percentage to see the raw hotness score rounded to 5 significant digits. For example for this question, as of this writing, the raw hotness score is approximately 0.000016216 (although posting this answer should bump it up a little bit).

  • consider re-checking your script because it seems that for about a week SE team is experimenting with some change in hotness formula parameters. Based on what I observe it may be increase in penalty of repeated questions from same site (old value was like 0.02) but I am not sure – gnat Aug 2 '17 at 10:02
  • 2
    Seems the userscript got broken after .vote-count-post was replaced with .js-vote-count... – Meta Andrew T. Jan 14 at 15:38
  • @andmyself: Thanks for the report. Took me a while to get around to fixing the script, but it should be working again now as of v0.3.3. – Ilmari Karonen Jan 22 at 18:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .