美文网首页数据分析
基于Python的淘宝用户分析

基于Python的淘宝用户分析

作者: 照希 | 来源:发表于2020-12-29 12:10 被阅读0次

    一.背景

    在上篇文章,基于Mysql的淘宝用户分析中,由于数据量太大,进行了部分数据抽取。但实际工作中,对这种行为数据应该全部分析的,因此用Python进行全部数据的分析。

    二.数据预处理

    读取并观察数据;


    image.png

    删除无价值字段,对进行时间处理;

    del user_n['user_geohash']
    user_n['daily'] = user_n.time.map(lambda x: x.split(' ')[1])
    user_n['date'] = user_n.time.map(lambda x: x.split('-',1)[1].split(' ')[0])
    
    import datetime  as dt
    user_n['time'] = pd.to_datetime(user_n['time'])
    user_n['weekday'] = user_n['time'].dt.weekday
    user_n['datetime'] = user_n['time'].dt.date
    

    处理后的数据;


    image.png

    原数据中,将用户行为用特定行为名称描述,behavior ={1:'pv',2:'collect',3:'cart',4:'buy'},在此进行相关字段替换;

    user_n['behavior_type'] = user_n['behavior_type'].map({1:'pv',2:'collect',3:'cart',4:'buy'})
    

    三.时间维度分析

    2.1 分时段流量
    分时段统计各点击、收藏、加购、购买人数;

    pv_num = user_n[user_n.behavior_type =='pv'].groupby('daily')['user_id'].count()
    collect_num = user_n[user_n.behavior_type =='collect'].groupby('daily')['user_id'].count()
    cart_num = user_n[user_n.behavior_type =='cart'].groupby('daily')['user_id'].count()
    buy_num = user_n[user_n.behavior_type =='buy'].groupby('daily')['user_id'].count()
    

    用图表展示其流量变化;

    L0 = Line()
    L0.add_xaxis(list(pv_num.index))
    L0.add_yaxis('浏览人数',list(pv_num))
    L0.add_yaxis('收藏人数',list(collect_num))
    L0.add_yaxis('加购人数',list(cart_num))
    L0.add_yaxis('购买人数',list(buy_num))
    L0.set_global_opts(title_opts=opts.TitleOpts(title="分时段流量分布"),
                      tooltip_opts=opts.TooltipOpts(trigger="axis",axis_pointer_type='cross'))
    L0.set_series_opts(label_opts=opts.LabelOpts(is_show = False))
    L0.render_notebook()
    

    图片如下:


    image.png

    可以看出,点击、收藏、加入购物车的数量都在晚上存在明显的提升,但是相对而言在购买上晚上的提升没有其他用户行为显著。
    2.2 分日期流量
    同理,分日期流量如下:


    image.png

    2.3 分周流量


    image.png

    从图中可以看出在工作日当中pv量高于周末时候,这与原本预想的不太一样。

    从时间维度我们可以得出以下几点:
    1.用户对商品的浏览,收藏,加入购物一般在晚上7点到11点最多,但是在这期间购买量并没有比白天有显著的提升;
    2.双十二活动促销效果明显,短时间内提升了用户的浏览、收藏、加入购物车行为猛增,在双十二当天购买量成倍数增长。
    3.非工作日的购买量低于工作日。 对工作日白天晚上进行观察。

    四.行为路径转化率

    p0 = user_n.groupby(['behavior_type']).size()
    [list(z) for z in zip(p0.index.tolist(),p0.tolist())]
    

    转化率数据可视化;

    from pyecharts import options as opts
    from pyecharts.charts import Funnel
    
    F1 = Funnel(init_opts=opts.InitOpts(width="780px",height="350px"))
    F1.add("行为转化",[list(z) for z in zip(p0.index.tolist(),p0.tolist())])
    F1.set_global_opts(title_opts=opts.TitleOpts(title="Funnel-行为转化"))
    F1.render_notebook()
    

    行为转化如下:


    image.png

    总体来说,从上面的图片并不能明确判断用户的转化路径是哪一种,pv-cart-collect-buy,还是pv-collect-buy.因此需要细化去分析。

    user_trans = user_n.groupby(['date','behavior_type']).size().unstack()
    cart_to_buy = user_trans.apply(lambda x: x[0] / x[1], axis=1)
    pv_to_collect = user_trans.apply(lambda x: x[2] / x[3], axis=1)
    pv_to_cart = user_trans.apply(lambda x: x[1] / x[3], axis=1)
    cart_to_collect = user_trans.apply(lambda x: x[2] / x[1], axis=1)
    collect_to_buy = user_trans.apply(lambda x: x[0] / x[2], axis=1)
    

    逐日对比两种路径的转化。


    image.png

    从路径转化的曲线来看,cart-to-collect这一路径与其他转化路径相比异常。

    五.复购率

    查看最受欢迎的商品类目。


    image.png

    计算复购率。

    re_purchase = user_n.groupby(['item_id','user_id']).size()
    for i in range(1,10):
        repurchase_rate = len(re_purchase[re_purchase>i])/len(re_purchase)
        print('重复',i,'次购买率:',repurchase_rate)
    

    商品复购情况如下:


    image.png

    71%以上的商品都存在重复购买的现象,而用一用户能重复购买三次以上的商品不多。
    同一用户的最高重复购买次数为128,要么这种商品是畅销消耗品,要么是销售环节的漏洞或风险。

    六.留存率

    留存率定义:某日的留存率为用户在当日后N天的仍然在线的用户。在此计算3日留存率,7日留存率。
    3日留存率所需要查看的日期;

    date = pd.Series(df.datetime.unique()).sort_values()[:-3] 
    

    遍历date里面的每个日期i,提取后三天仍然活跃的用户。user_n1 与new_user 里面共同的用户为留存用户。

    user = []
    for i in date:
        new_user = set(df[df.datetime == i]['user_id'].unique()) - set(user)
        user.extend(new_user)
        user_n1 = df[df.datetime == i+timedelta(3)]['user_id'].unique()
    

    最终留存率可视化。


    image.png

    相关文章

      网友评论

        本文标题:基于Python的淘宝用户分析

        本文链接:https://www.haomeiwen.com/subject/mwlfoktx.html