calculateCompositeScore static method
Implementation
static double calculateCompositeScore(PackageMetrics metrics) {
// Weighted scoring: Description Match (35%), Pub Points (25%), Popularity (20%), Likes (10%), Recency (10%)
final descriptionScore = metrics.descriptionScore * 35;
final pubPointsScore = (metrics.pubPoints / 140) * 25;
final popularityScore = (metrics.popularity / 100) * 20;
final likesScore = (metrics.likes / 1000).clamp(0, 1) * 10;
final recencyScore = metrics.recencyScore * 10;
return descriptionScore +
pubPointsScore +
popularityScore +
likesScore +
recencyScore;
}