# Is there a new algorithm for hot network questions?

I've noticed some extremely un-hot mathematics questions pop up on the hot network questions list. Low number of upvotes, only one answer, etc. Even odder, there's always at least one MathOverflow question on the list, when I rarely recall ever seeing any before. Am I just imagining this or did something change?

Case in point. Nobody cares about this question. But it's on the list.

• No. It was always like this. On small sites one answer with few upvotes is enough to put the question in HNQ list. – ShaWiz Nov 6 '18 at 5:38
• @Shadow I've also noticed one answer with a few upvotes from Mathematics, which is massive. – Matt Samuel Nov 6 '18 at 5:39
• When the overall list does not have lots of "big hits", the "smaller hits" get the fame. :-) – ShaWiz Nov 6 '18 at 5:41
• Can the fact that questions with MathJax in title are excluded from HNQ somehow influence which questions are chosen from Mathematics/MathOverflow? – Martin Dec 17 '18 at 16:46
• @Martin It could explain why mathoverflow questions don't usually show up, true. – Matt Samuel Dec 17 '18 at 16:53

A few weeks ago, I was curious about whether the famous formula would still hold. Note that the formula itself does not mention three site specific penalties, and there's a mysterious traffic factor. Therefore, I've expanded my HNQ scraper with some API calls to fetch some relevant variables for the score. Today's traffic (visits/day) was obtained from the Sites list. The collected data can be downloaded from GitHub; you'll need the HNQ.backup made with PostgreSQL 9.4 to do some analysis yourself.

If we look at the Hot Network Question list of November 8th, 23:45 UTC, and calculate the score manually with the formula linked above, we see that the results are quite different (the first 12 rows are shown below):

site        question    hotness calc_hotness    multiplier         views   traffic
----------------------------------------------------------------------------------
history       49243     161.908 4.498611027     35.99066446         5873     12954
codegolf     175485     122.779 3.653743744     33.60361552         1479      5854
security     197236     118.193 3.280403085     36.03002342         3394     65844
workplace    122351      95.202 3.536535567     26.91956525         2304     43644
writing       39988      94.765 2.627507326     36.06650268         2106     10607
worldbui...  129621      87.784 2.116223815     41.4814347           604     16364
space         31898      79.908 2.213475868     36.10068722         2418      8506
math        2990086      77.972 2.209022054     35.29706725          724    368175
rpg          135174      72.919 2.020590163     36.08797139         2021     65265
security     197250      68.433 2.535478516     26.99017151         1851     65844
puzzling      74890      61.784 1.481356671     41.70771377          508     13375


While the hottest questions have a score of about 100, the calculated scores don't even reach 5 (the Workplace one 6.4, but it's penalized.) Also, while there's a general tendency of the calculated scores to go down together with the 'real' hotness, the factor (multiplier) can be as high as 44.5 and as low as 13.5. (The penalty for multiple successive questions from a site is not calculated, but for the top questions it can't be more than a few percent). The traffic does not seem to play any role for the multiplier; Space and Writing get the same multiplier as the 1st Security question and RPG, even though their traffic is 6-8 times less. Also, Mathematics doesn't seem to have a particularly high multiplier, and neither does MathOverflow (it's not in this list but I've checked a few other questions).

Moreover, the multiplier doesn't seem to be constant over time, not even for a single site or even question. Let's take the top question in the previous list, #49243 from History:

timestamp           hotness calc_hotness    multiplier  views   traffic
-----------------------------------------------------------------------
2018-11-08 23:45    161.908 4.498611027     35.99066446 5873    12954
2018-11-08 23:30    161.908 4.498611027     35.99066446 5803    12954
2018-11-08 23:15    161.908 5.213614673     31.05484585 5740    12954
2018-11-08 23:00    179.417 5.213614673     34.41316845 5663    12954
2018-11-08 22:45    176.217 5.065972488     34.78443683 5597    12954
2018-11-08 22:30    169.817 4.927557939     34.46270995 5493    12954
2018-11-08 22:15    169.817 5.7565156       29.49996349 5407    12954
2018-11-08 22:00    200.258 5.70210619      35.12000537 5293    12954
2018-11-08 21:45    200.258 5.70210619      35.12000537 5177    12954
2018-11-08 21:30    196.448 5.647696779     34.7837371  5037    12954
2018-11-08 21:15    192.258 6.664329354     28.84881431 4914    12954
2018-11-08 21:00    219.856 6.533141768     33.6524153  4792    12954
2018-11-08 20:45    217.634 6.467547975     33.65015626 4678    12954
2018-11-08 20:30    210.967 6.336360389     33.29466555 4552    12954
2018-11-08 20:15    206.523 7.618405734     27.10842756 4433    12954
2018-11-08 20:00    257.428 7.830028116     32.87702115 4321    12954
2018-11-08 19:45    257.428 7.830028116     32.87702115 4179    12954
2018-11-08 19:30    231.294 7.113767747     32.51357202 4040    12954
2018-11-08 19:15    228.628 6.9509813       32.89147102 3914    12954
2018-11-08 19:00    282.451 6.869588076     41.11614799 3782    12954


Some of those discrepancies can be caused by caching; hotness scores are cached and my scraper fetches these data only after reading the HNQ list. But I wouldn't expect it to fluctuate so much for a single question; also, there are other questions from History where the multiplier stays in the low 20s (even though they were the highest scoring History questions at that moment).

Conclusion: I can't tell whether there is a new algorithm (for that, we would need data from previous periods as well) but the formula isn't telling us everything.

• MAX(QAgeInHours + 1, 6) in the post you refer to doesn't quite fit my observations. You could try 7 or 8 instead of 6 there. Or maybe even harder modification, like constant 1 when age is less than 8 hours changing to QAgeInHours for questions older than 8 hours, this seems closest to what I feel observing the HNQ – gnat Nov 10 '18 at 20:30
• @gnat thanks for your suggestions. I think the 6 hours is correct; most questions see a small decrease in hotness every 1 hour (in the mentioned History question you see this from 19:00 -> 19:15, 20:00 -> 20:15, 21:00 -> 21:15, 22:00 -> 22:15, etc.) The question was posted at 13:15 that day, and there is no such decrease from 18:00 -> 18:15, 17:00 -> 17:15, etc. So I think that part of the formula is more or less correct. – Glorfindel Nov 11 '18 at 10:33
• Thanks @gnat. It was probably not (entirely) the answer you were looking for, and I'm interested as well to know what part of the puzzle we're missing. – Glorfindel Nov 15 '18 at 18:07