]> git.lizzy.rs Git - cheatdb.git/commitdiff
Document top packages algorithm v1.24.2
authorrubenwardy <rw@rubenwardy.com>
Tue, 21 Apr 2020 17:24:33 +0000 (18:24 +0100)
committerrubenwardy <rw@rubenwardy.com>
Tue, 21 Apr 2020 17:26:03 +0000 (18:26 +0100)
app/flatpages/help.md
app/flatpages/help/top_packages.md [new file with mode: 0644]

index d43302b81c00f32017f0d57c15479dcd2dcb2f00..a1b8139cfe823285ad12f0e7ed2ebed115114db7 100644 (file)
@@ -4,5 +4,6 @@ title: Help
 * [Ranks and Permissions](ranks_permissions)
 * [Content Ratings and Flags](content_flags)
 * [Reporting Content](reporting)
+* [Top Packages Algorithm](top_packages)
 * [API](api)
 * [Creating Releases using Webhooks](release_webhooks)
diff --git a/app/flatpages/help/top_packages.md b/app/flatpages/help/top_packages.md
new file mode 100644 (file)
index 0000000..a011ec0
--- /dev/null
@@ -0,0 +1,39 @@
+title: Top Packages Algorithm
+
+## Pseudo rolling average
+
+Every package loses 5% of its score every day.
+
+An open source package will gain 1 score for each unique download,
+whereas a non-free package will only gain 0.1 score.
+
+A package currently only gains score through downloads.
+In the future, a package will also gain score through reviews.
+
+## Seed using a legacy heuristic
+
+The scoring system was seeded (ie: the scores were initially set to) 20% of an
+arbitrary legacy heuristic that was previously used to rank packages.
+
+This legacy heuristic is as follows:
+
+       forum_score = views / max(years_since_creation, 2 weeks) + 80*clamp(months, 0.5, 6)
+       forum_bonus = views + posts
+
+       multiplier = 1
+       if no screenshot:
+               multiplier *= 0.8
+       if not foss:
+               multiplier *= 0.1
+
+       score = multiplier * (max(downloads, forum_score * 0.6) + forum_bonus)
+
+As said, this legacy score is no longer used when ranking mods.
+It was only used to provide an initial score for the rolling average,
+which was 20% of the above value.
+
+## Transparency and Feedback
+
+You can see all scores using the [scores REST API](/api/scores/).
+
+Consider [suggesting improvements](https://github.com/minetest/contentdb/issues/new?assignees=&labels=Policy&template=policy.md&title=).