contentdb/app/flatpages/help/top_packages.md

51 lines
1.6 KiB
Markdown
Raw Normal View History

2020-04-21 19:24:33 +02:00
title: Top Packages Algorithm
2020-04-30 23:41:55 +02:00
## Score
2020-07-09 05:32:13 +02:00
A package's score is currently equal to a pseudo rolling average of downloads,
plus the sum of review scores.
A review score is 100 if positive, -100 if negative.
score = avg_downloads + Σ 100 * (positive ? 1 : -1)
2020-04-30 23:41:55 +02:00
## Pseudo rolling average of downloads
2020-04-21 19:24:33 +02:00
2020-05-30 16:32:50 +02:00
Every package loses 5% of its score every day, and will gain 1 score for each
unique download.
2020-04-21 19:24:33 +02:00
2020-04-30 23:41:55 +02:00
This metric aims to be roughly equivalent to the average downloads.
2020-04-21 19:24:33 +02:00
2020-04-21 20:18:06 +02:00
## Seeded using a legacy heuristic
2020-04-21 19:24:33 +02:00
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
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.
2020-04-30 23:41:55 +02:00
## Manual adjustments
The admin occasionally reduces all packages by a set percentage to speed up
2020-07-09 05:32:13 +02:00
convergence. Convergence is when the pseudo-rolling average matches the actual
rolling average - the effect of the legacy heuristic is gone.
2020-04-30 23:41:55 +02:00
2020-04-21 19:24:33 +02:00
## Transparency and Feedback
2020-04-30 23:41:55 +02:00
You can see all scores using the [scores REST API](/api/scores/), or by
using the [Prometheus metrics](/help/metrics/) endpoint.
2020-04-21 19:24:33 +02:00
Consider [suggesting improvements](https://github.com/minetest/contentdb/issues/new?assignees=&labels=Policy&template=policy.md&title=).