diff options
author | Kornel <kornel@geekhood.net> | 2020-02-03 00:11:14 +0000 |
---|---|---|
committer | Kornel <kornel@geekhood.net> | 2020-02-03 00:11:52 +0000 |
commit | 7cae6fb9aa29d309c8ab990b63a76e85d6db6021 (patch) | |
tree | bbbc42da780237e2fce9e69653bea13b2a2a6b6a /ranking | |
parent | abb7f8c921286f0a8f7c7e7f7bec29de537bd06e (diff) |
Discount indirect downloads and indirect deps
Diffstat (limited to 'ranking')
-rw-r--r-- | ranking/src/lib_ranking.rs | 8 |
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 { |