INNER CODE UNIT · Python

start_date

CamDavidsonPilon/lifetimes · lifetimes/generate_data.py:112

        start_date = [observation_period_end - pd.Timedelta(T[i] - 1, unit=freq) for i in range(size)]
        T = np.asarray(T)

    probability_of_post_purchase_death = random.beta(a, b, size=size)
    lambda_ = random.gamma(r, scale=1.0 / alpha, size=size)

    columns = ["customer_id", "date"]
    df = pd.DataFrame(columns=columns)

    for i in range(size):
        s = start_date[i]
        p = probability_of_post_purchase_death[i]
        l = lambda_[i]
        age = T[i]

        purchases = [[i, s - pd.Timedelta(1, unit=freq)]]
        next_purchase_in = random.exponential(scale=1.0 / l)
        alive = True

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…