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()

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…