INNER CODE UNIT · Python
mus
CamDavidsonPilon/lifetimes · lifetimes/generate_data.py:174
mus = random.gamma(s, scale=1.0 / beta, size=size)
columns = ["frequency", "recency", "T", "lambda", "mu", "alive", "customer_id"]
df = pd.DataFrame(np.zeros((size, len(columns))), columns=columns)
for i in range(size):
l = lambda_[i]
mu = mus[i]
time_of_death = random.exponential(scale=1.0 / mu)
# hacky until I can find something better
times = []
next_purchase_in = random.exponential(scale=1.0 / l)
while np.sum(times) + next_purchase_in < min(time_of_death, T[i]):
times.append(next_purchase_in)
next_purchase_in = random.exponential(scale=1.0 / l)
times = np.array(times).cumsum()