summaryrefslogtreecommitdiffstats
path: root/ranking
diff options
context:
space:
mode:
authorKornel <kornel@geekhood.net>2020-02-03 00:11:14 +0000
committerKornel <kornel@geekhood.net>2020-02-03 00:11:52 +0000
commit7cae6fb9aa29d309c8ab990b63a76e85d6db6021 (patch)
treebbbc42da780237e2fce9e69653bea13b2a2a6b6a /ranking
parentabb7f8c921286f0a8f7c7e7f7bec29de537bd06e (diff)
Discount indirect downloads and indirect deps
Diffstat (limited to 'ranking')
-rw-r--r--ranking/src/lib_ranking.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/ranking/src/lib_ranking.rs b/ranking/src/lib_ranking.rs
index 2543845..42892ca 100644
--- a/ranking/src/lib_ranking.rs
+++ b/ranking/src/lib_ranking.rs
@@ -324,12 +324,12 @@ pub fn crate_score_temporal(cr: &CrateTemporalInputs<'_>) -> Score {
let downloads_cleaned = (cr.downloads_per_month_minus_most_downloaded_user as f64 / if is_app_only {1.} else {2.} - 50.).max(0.) + 50.;
// distribution of downloads follows power law.
// apps have much harder to get high download numbers.
- let pop = (downloads.log2() - 6.6) / (if is_app_only {4.} else {5.});
+ let pop = (downloads.log2() - 6.6) / (if is_app_only {5.} else {6.});
let pop_cleaned = downloads_cleaned.log2() - 5.6;
assert!(pop > 0.);
assert!(pop_cleaned > 0.);
// FIXME: max should be based on the most downloaded crate?
- score.score_f("Downloads", 6., pop);
+ score.score_f("Downloads", 5., pop);
score.score_f("Downloads (cleaned)", 18., pop_cleaned);
// if it's new, it doesn't have to have many downloads.
@@ -339,8 +339,8 @@ pub fn crate_score_temporal(cr: &CrateTemporalInputs<'_>) -> Score {
// Don't expect apps to have rev deps (omitting these entirely proprtionally increases importance of other factors)
if !is_app_only {
score.score_f("Direct rev deps", 10., (cr.number_of_direct_reverse_deps as f64).sqrt());
- let indirect = 1. + cr.number_of_indirect_reverse_optional_deps as f64 / 3.;
- score.score_f("Indirect rev deps", 10., indirect.log2());
+ let indirect = 1. + cr.number_of_indirect_reverse_optional_deps as f64 / 4.;
+ score.score_f("Indirect rev deps", 6., indirect.log2());
}
if !is_app_only || cr.has_docs_rs {