code: def expected_number_of_purchases_up_to_time(self, t):
          
          r, alpha, a, b = self._unload_params("r", "alpha", "a", "b")
          hyp = hyp2f1(r, b + 1, a + b, t / (alpha + t))
          return b / (a - 1) * (1 - hyp * (alpha / (alpha + t)) ** r)
docs: Return expected number of repeat purchases up to time t.
  
          Calculate the expected number of repeat purchases up to time t for a
          randomly choose individual from the population.
  
          Parameters
          ----------
          t: array_like
              times to calculate the expectation for
  
          Returns
          -------
          array_like