calculateCompositeScore static method

double calculateCompositeScore(
  1. PackageMetrics metrics
)

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;
}