基于大数据技术的健身用户消费分析系统

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 

1. 项目简介

        健身包含了各种促进人的身体健康,增强人的体魄的运动项目。消费行为的现状与变化过程,不仅仅是一个经济学现象,也同时是一个社会学现象。基于此,本课题尝试以健身用户消费分析为切入点,来探讨健身用户消费行为对人们的健康生活方式有何种影响,利用 pandas + numpy 对健身数据进行统计分析,包括消费月度总趋势分析、用户个体行为分析、复购率与回购率分析、用户行为中层分析,并利用 flask 搭建后台,构建标准 restful 接口,前端利用 bootstrap + echarts + jquery 调用后台接口。

        B站详情与代码下载:基于大数据技术的健身用户消费分析系统_哔哩哔哩_bilibili

更新日志:2024年3月,增加月度销售额和复购率的趋势预测算法模块。

【演示视频】基于大数据技术的健身用户消费分析系统的设计与研究

2. 核心代码分析

        健身消费数据分析的重点是复购率和回购率的分析,可为健身俱乐部改善销售政策提供有效的数据分析结论支撑。

        复购率:在某时间窗口内消费两次及以上的用户在总消费用户中占比。这里的时间窗口是月,如果一个用户在同一天下了两笔订单,这里也将他算作复购用户;

        回购率:某一个时间窗口内消费的用户,在下一个时间窗口仍旧消费的占比。比如1月消费用户1000,他们中有300个2月依然消费,回购率是30%。

def fugoulv_huigoulv_vis():
    #统计用户消费次数
    pivoted_counts=df.pivot_table(index='user_id',columns='month',values='order_dt',aggfunc='count').fillna(0)
    columns_month=df.month.dt.date.sort_values().unique()
    pivoted_counts.columns=columns_month

    #复购率的定义是在某时间窗口内消费两次及以上的用户在总消费用户中占比。这里的时间窗口是月,如果一个用户在同一天下了两笔订单,这里也将他算作复购用户。
    #消费两次及以上记为1,消费一次记为0,没有消费记为NaN。
    pivoted_counts.transf=pivoted_counts.applymap(lambda x:1 if x>1 else np.NaN if x==0 else 0)
    # 每月用户复购率
    month_counts_reorder_rate=pivoted_counts.transf.sum()/pivoted_counts.transf.count()
    month_counts_reorder_rate = month_counts_reorder_rate.reset_index()
    month_counts_reorder_rate.columns = ['month', 'reorder_rate']

    月份 = month_counts_reorder_rate['month'].astype(str).values.tolist()
    每月复购率 = month_counts_reorder_rate['reorder_rate'].values.tolist()

    消费人数 = pivoted_counts.transf.count().values.tolist()
    二次消费以上用户人数 = pivoted_counts.transf.sum().values.tolist()

    #回购率是某一个时间窗口内消费的用户,在下一个时间窗口仍旧消费的占比。比如1月消费用户1000,他们中有300个2月依然消费,回购率是30%。
    pivoted_amount=df.pivot_table(index='user_id',columns='month',values='order_amount',aggfunc='mean').fillna(0)
    columns_month=df.month.dt.date.sort_values().unique()
    pivoted_amount.columns=columns_month

    #统计会员用户是否回购
    pivoted_purchase=pivoted_amount.applymap(lambda x:1 if x>1 else 0)

    def purchase_return(data):
        status = []
        for i in range(11):
            if data[i] >= 1:
                if data[i + 1] >= 1:
                    status.append(1)
                else:
                    status.append(0)
            else:
                status.append(np.NaN)
        status.append(np.NaN)
        return pd.Series(status)

    pivoted_purchase_return = pivoted_purchase.apply(purchase_return,axis=1)
    pivoted_purchase_return.columns=columns_month

    pivoted_purchase_return_rate=pivoted_purchase_return.sum()/pivoted_purchase_return.count()
    每月回购率 = pivoted_purchase_return_rate.fillna(0).values.tolist()

    每月消费人数 = pivoted_purchase_return.count().fillna(0).values.tolist()
    每月回购人数 = pivoted_purchase_return.sum().fillna(0).values.tolist()
    
    。。。。

3. 基于大数据技术的健身用户消费分析系统

3.1 首页和数据介绍

3.2 消费月度总趋势分析

        可以看出,按月统计每个月的商品消费金额,可以看到,各月份销量波动起伏较大。每月的产品购买量呈现前7个月快速上升,后5个月整体下降的趋势。至7月份消费次数超过250次,后续月份的消费次数开始呈现下降趋势。每月的消费人数小于每月的消费次数。至7月份消费人数达90人,后续月份的消费人数开始呈现下降趋势。 

3.3 用户个体行为分析

        可以看出,订单消费金额和订单商品量的关系存在正相关,存在一定的线性关系,用户消费规律性不强,订单的极值较多。大部分用户消费能力不高,整个计算周期内购买数量在50以内。(1)用groupby函数将用户分组,并且求月份的最小值、最小值即用户消费行为的第一次消费时间。 (2)大部分用户的第一次消费集中在7、8月份,观察用户的最后一次消费时间,将近80%的客户都在首次消费1个月内流失。

3.4 复购率与回购率分析

        可以看出:3月至6月新用户加入数量较少,拉高了复购率。在大量新用户加入并流失的8月的复购率较低。而在后期,这时的用户都是大浪淘沙剩下的老客,复购率继续上升。4月份回购率最高,后续月份的消费次数开始呈现下降趋势,9月份后开始回升。 

3.5 用户行为分层分类分析

         可以看出:3月至6月新用户加入数量较少,拉高了复购率。在大量新用户加入并流失的8月的复购率较低。而在后期,这时的用户都是大浪淘沙剩下的老客,复购率继续上升。

3.6 月度销售额和复购率趋势预测

         利用 ARIMA 时序建模算法,实现对健身房的月度销售额和复购率的趋势预测:

4. 结论

        本课题尝试以健身用户消费分析为切入点,来探讨健身用户消费行为对人们的健康生活方式有何种影响,利用 pandas + numpy 对健身数据进行统计分析,包括消费月度总趋势分析、用户个体行为分析、复购率与回购率分析、用户行为中层分析,并利用 flask 搭建后台,构建标准 restful 接口,前端利用 bootstrap + echarts + jquery 调用后台接口。

 欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。技术交流、源码获取认准下方 CSDN 官方提供的学长 QQ 名片 :)

精彩专栏推荐订阅:

1. Python 毕设精品实战案例
2. 自然语言处理 NLP 精品实战案例
3. 计算机视觉 CV 精品实战案例

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python极客之家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值