code: def to_summary(self):
      
  
      # Aggregate inbound edges by their maximum product usage ratio.
      max_target_usage = defaultdict(lambda: 0.0)
      for target, node in self._nodes.items():
        for dep_target, edge in node.dep_edges.items():
          if target == dep_target:
            continue
          used_ratio = self._used_ratio(dep_target, edge)
          max_target_usage[dep_target] = max(max_target_usage[dep_target], used_ratio)
  
      # Calculate a score for each.
      Score = namedtuple('Score', ('badness', 'max_usage', 'cost_transitive', 'target'))
      scores = []
      for target, max_usage in max_target_usage.items():
        cost_transitive = self._trans_cost(target)
        score = int(max(cost_transitive, 1) / (max_usage if max_usage > 0.0 else 1.0))
        scores.append(Score(score, max_usage, cost_transitive, target.address.spec))
  
      # Output in order by score.
      yield '[\n'
      first = True
      for score in sorted(scores, key=lambda s: s.badness):
        yield '{}  {}'.format('' if first else ',\n', json.dumps(score._asdict()))
        first = False
      yield '\n]\n'
docs: Outputs summarized dependencies ordered by a combination of max usage and cost.