如何用pandas 计算客户留存率

一、在报表开发过程中,如何让设计留存率

1、如果没有自动化分析平台,如何很好的利用pandas进行留存率计算呢?传统的方式可以使用sql语句完成,但是可操作性比较差,过程相对于繁琐,现在小编就带大家进行pandas 方法进行留存率计算。

留存率计算公式:
a = 现有的客户数量
b = 昨天的客户数据
现在求:昨天的客户数量今天还剩下多少以及占比情况?
解答:
直接上代码:

import datetime
from datetime import timedelta
def Liucun(dat,n)  
    user=[]
    date=pd.Series(dat.MakeDate.unique()).sort_values()[:-n] 
    retention_rates=[]
    for i in date:
        new_user=set(dat[dat.MakeDate==i].UserUID.unique())-set(user)
        user.extend(new_user)  

        zo = np.datetime64(i).astype(datetime.datetime)
        zl = (zo+timedelta(n)).strftime('%Y-%m-%d')
        user_nday=dat[dat.MakeDate==zl].UserUID.unique() 
        a = 0
        for uid in user_nday:
            if uid in new_user:
                a +=1
        retention_rate=a/len(new_user) 
        retention_rates.append(retention_rate)
    data_retention=pd.Series(retention_rates,index=date)

通过上面的步骤就可以实现留存率输出的自动化,有什么不明白的可以私信小编哦

    原文作者:lulu_930
    原文地址: https://blog.csdn.net/lulu_930/article/details/105516791
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞