From 6f9649f852dfdc8794c121603979eb50ba99fb8d Mon Sep 17 00:00:00 2001 From: Dessalines Date: Wed, 6 Sep 2023 13:05:57 -0400 Subject: [PATCH] Adding documentation for scaled rank. --- src/contributors/07-ranking-algo.md | 5 ++++- src/users/03-votes-and-ranking.md | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/contributors/07-ranking-algo.md b/src/contributors/07-ranking-algo.md index a251b9d..3113b05 100644 --- a/src/contributors/07-ranking-algo.md +++ b/src/contributors/07-ranking-algo.md @@ -22,15 +22,18 @@ Counterbalances the snowballing effect of votes over time with a logarithmic sca ``` Rank = ScaleFactor * log(Max(1, 3 + Score)) / (Time + 2)^Gravity +Scaled_Rank = Rank / log(2 + Users_Active_Month) Score = Upvotes - Downvotes Time = time since submission (in hours) Gravity = Decay gravity, 1.8 is default +Users_Active_Month = The number of users in a given community who have posted / commented in the last month. ``` -- Lemmy uses the same `Rank` algorithm above, in two sorts: `Active`, and `Hot`. +- Lemmy uses the same `Rank` algorithm above, in three sorts: `Active`, `Hot`, and `Scaled`. - `Active` uses the post votes, and latest comment time (limited to two days). - `Hot` uses the post votes, and the post published time. + - `Scaled` is similar to `Hot`, but gives a boost to smaller / less active communities. - Use Max(1, score) to make sure all comments are affected by time decay. - Add 3 to the score, so that everything that has less than 3 downvotes will seem new. Otherwise all new comments would stay at zero, near the bottom. - The sign and abs of the score are necessary for dealing with the log of negative scores. diff --git a/src/users/03-votes-and-ranking.md b/src/users/03-votes-and-ranking.md index 2e4f0b4..e091424 100644 --- a/src/users/03-votes-and-ranking.md +++ b/src/users/03-votes-and-ranking.md @@ -6,6 +6,7 @@ When browsing the frontpage or a community, you can choose between the following - **Active** (default): Calculates a rank based on the score and time of the latest comment, with decay over time - **Hot**: Like active, but uses time when the post was published +- **Scaled**: Like hot, but gives a boost to less active communities - **New**: Shows most recent posts first - **Old**: Shows oldest posts first - **Most Comments**: Shows posts with highest number of comments first