复购率计算分析

数据概览

在这里插入图片描述
源数据

数据整理

  1. 复购率是对交易成功的客户而言,故首先剔除退款订单
  2. 对同一天内多次下单的客户订单进行去重
    在这里插入图片描述
    数据整理结果

数据可视化

在这里插入图片描述
复购率计算分析

简单分析

  1. 本月的复购率是16.93%
  2. 随着复购次数的增加,复购用户占比会逐渐减少,大部分复购用户购买了两次
### 关于天池平台上的淘宝母婴商品数据分析 #### 数据准备 为了进行有效的分析,首先需要准备好所需的数据集。根据已有的资源文件描述[^3],数据集中包含了用户买记录、产品类别、价格等多个维度的信息。 - **下载并导入数据** 需要先从指定的仓库中下载资源文件,并将其导入到合适的数据分析环境中。推荐使用Python及其强大的库如`pandas`来处理这些数据。 ```python import pandas as pd # 导入两个主要表格 trade_data = pd.read_csv('sam_tianchi_mum_baby_trade_history.csv') baby_info = pd.read_csv('sam_tianchi_mum_baby.csv') # 查看前几行以了解结构 print(trade_data.head()) print(baby_info.head()) ``` #### 清洗与预处理 考虑到原始数据可能存在一些质量问题,在计算之前应该对数据做必要的清理工作。这包括但不限于列名的一致性调整、去除重项以及填补缺失值等操作[^4]。 ```python # 列名重命名确保一致性 trade_data.rename(columns={'原字段名称': '新字段名称'}, inplace=True) # 删除完全相同的行 trade_data.drop_duplicates(inplace=True) # 对特定列中的缺失值填充众数值或其他合理估计值 from scipy.stats import mode mode_value = trade_data['property'].mode()[0] trade_data.fillna({'property': mode_value}, inplace=True) ``` #### 计算指标 定义为同一时间段内再次发生买行为的比例。具体实现可以通过统计每位顾客首次交易后的后续订单次数来进行衡量。 ```python def calculate_repurchase_rate(df, time_window='W'): """ :param df: 包含用户id和日期信息的商品交易DataFrame. :param time_window: 时间窗口大小,默认按周(W). """ # 按照user_id分组并对每组内的date排序 grouped_by_user = df.sort_values(['user_id', 'day']).groupby('user_id')['day'] def get_time_diffs(group): """辅助函数用于获得相邻两次买之间的时间差""" diffs = group.diff().dropna() return diffs.apply(lambda td: td.days).tolist() all_durations = [] for _, durations in grouped_by_user.apply(get_time_diffs).items(): all_durations.extend(durations) repurchased_users_count = sum([d <= int(pd.Timedelta(time_window)) for d in all_durations]) total_transactions = len(set(df.user_id)) rate = round(repurchased_users_count / max(total_transactions - 1, 1), 4)*100 print(f'在过去{time_window}周期间内的为 {rate}%.') calculate_repurchase_rate(trade_data) ``` 此代码片段实现了基本的逻辑,可根据实际业务场景进一步细化参数设置或扩展功能特性。 #### 可视化呈现结果 最后一步是将得到的结果通过图形方式展现出来,使得结论更加直观易懂。可以借助matplotlib或者seaborn这样的绘图包完成这项任务。 ```python import matplotlib.pyplot as plt import seaborn as sns sns.set(style="whitegrid") plt.figure(figsize=(10,6)) ax = sns.histplot(data=all_durations,bins=range(0,max(all_durations)+2,7), kde=False,color="skyblue",edgecolor=".2", linewidth=.5,label=f'Repurchase Rate:{round(rate)}%') plt.title('Distribution of Repurchase Intervals Among Users') plt.xlabel('Days Between Purchases') plt.ylabel('Number of Occurrences') plt.legend(); ``` 上述过程展示了如何利用Python编程语言及相关工具链开展针对淘宝母婴产品的研究。通过对历史销售数据的有效挖掘,能够为企业制定营销策略提供更多科学依据和支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值