contentdb/app/flatpages/help/top_packages.md

1.2 KiB

title: Top Packages Algorithm

Package Score

Each package is given a score, which is used when ordering them in the "Top Games/Mods/Texture Packs" lists. The intention of this feature is to make it easier for new users to find good packages.

A package's score is equal to a rolling average of recent downloads, plus the sum of the score given by reviews.

A review score is 100 if positive, -100 if negative.

reviews_sum = sum(100 * (positive ? 1 : -1));
score       = avg_downloads + reviews_sum;

Pseudo rolling average of downloads

Each package adds 1 to avg_downloads for each unique download, and then loses 5% (=1/20) of the value every day.

This is called a Frecency heuristic, a measure which combines both frequency and recency.

"Unique download" is counted per IP per package. Downloading an update won't increase the download count if it's already been downloaded from that IP.

Transparency and Feedback

You can see all scores using the scores REST API, or by using the Prometheus metrics endpoint.

Consider suggesting improvements.