Adding documentation for scaled rank.

This commit is contained in:
Dessalines 2023-09-06 13:05:57 -04:00
parent 869fb47c89
commit 6f9649f852
2 changed files with 5 additions and 1 deletions

View file

@ -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 Rank = ScaleFactor * log(Max(1, 3 + Score)) / (Time + 2)^Gravity
Scaled_Rank = Rank / log(2 + Users_Active_Month)
Score = Upvotes - Downvotes Score = Upvotes - Downvotes
Time = time since submission (in hours) Time = time since submission (in hours)
Gravity = Decay gravity, 1.8 is default 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). - `Active` uses the post votes, and latest comment time (limited to two days).
- `Hot` uses the post votes, and the post published time. - `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. - 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. - 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. - The sign and abs of the score are necessary for dealing with the log of negative scores.

View file

@ -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 - **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 - **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 - **New**: Shows most recent posts first
- **Old**: Shows oldest posts first - **Old**: Shows oldest posts first
- **Most Comments**: Shows posts with highest number of comments first - **Most Comments**: Shows posts with highest number of comments first