An understandable explanation of 'Top'?

AI-generated summary

The discussion revolves around the calculation of “Top” topics in Discourse. icaria36 requested a human-readable explanation of the “Top” calculation, instead of referring to the source code. SaraDev provided a reference guide and summarized the calculation for the “Top Score” as follows:

  • The calculation involves site settings multipliers for log views, first post likes, and least likes per post.
  • The top score for each topic is determined by adding:
    • Number of views multiplied by the log views multiplier.
    • Number of likes on the original post multiplied by the first post likes multiplier.
    • The lesser of the average number of likes per post or the least likes per post multiplier.
    • A penalty or bonus based on the number of posts in the topic.
    • The number of posts on the topic.

SaraDev hopes this explanation helps clarify how “Top” topics are calculated in Discourse.

Hi, there are several topics asking for the Top calculation and in all of them the answer provided is a link to discourse/app/models/top_topic.rb at ee36382640560191a8a43e87b607ef00051e019b · discourse/discourse · GitHub

This is of course the most precise and correct answer possible, but… could someone volunteer a non-dev-human-readable explanation? Or maybe it exists and it could be added here? For instance, “Top is calculated based on likes on the first post, likes on the rest of comments, number of replies and number of views” (no idea how true is this because I didn’t have the patience to go line by line through the source code. :slight_smile:

Hi Quim,

Thanks for reaching out.

I just posted a reference guide on How “Top” Topics are Calculated that should answer any questions you have about how Discourse decides which topics are considered “Top”.

In summary:

I hope this helps! :grin: