code: def apmAggregate(self, **criteria):
          
          apms = [m.apm(self) for m in self.matchSubset(**criteria)]
          if not apms: return 0 # no apm information without match history
          return sum(apms) / len(apms)
docs: collect all match history's apm data to report player's calculated MMR