INNER CODE UNIT · Python

purchases

CamDavidsonPilon/lifetimes · lifetimes/generate_data.py:127

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

        while next_purchase_in < age and alive:
            purchases.append([i, s + pd.Timedelta(next_purchase_in, unit=freq)])
            next_purchase_in += random.exponential(scale=1.0 / l)
            alive = random.random() > p

        df = df.append(pd.DataFrame(purchases, columns=columns))

    return df.reset_index(drop=True)


def pareto_nbd_model(T, r, alpha, s, beta, size=1):
    """
    Generate artificial data according to the Pareto/NBD model.

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…