基于RFM模型对某平台客户运营价值分析的项目案例

一、需求

1.根据某*电商平台的某*店铺历史交易数据进行整体的统计分析,按月统计销售数量及交易金额的变化趋势,统计各省份的销售情况,及销售环比情况。

2.根据某*电商平台的某*店铺历史交易数据进行历史客户价值分析。考虑用户对店铺的贡献,复购率、对品牌的忠诚等因素,为用户贴标签,客户更加精准地进行划分,从而实现针对性的营销运营,降低营销成本,同时提高营销效果。


工具:mysql+python+tableau

可视化截图

二、获取源数据

数据存在公司数据库,在做数据分析测试阶段,我们提取2018.11-2019.5的数据集用于做前期的数据分析。

数据字段及解释如下:orders(订单明细)表和failedorder(交易未达成)表。

#pandas库连接mysql获取数据
import pandas as pd
import pymysql
from sqlalchemy import create_engine
 
# 初始化数据库连接,使用pymysql模块
# MySQL的用户:root, 密码:123456, 端口:3306,数据库:lean2
con = create_engine('mysql+pymysql://root:123456@localhost:3306/rfm')

sql01 = '''select * from orders;'''
sql02 = '''select * from failedorder;'''
# read_sql_query的两个参数: sql语句, 数据库连接
orders = pd.read_sql_query(sql01, con = con)
failedorder = pd.read_sql_query(sql02,con=con)
print(orders.shape,failedorder.shape) #-->(28809, 12) (1040, 2)

三、数据清洗(工具:python)

1、合并表

df=orders.merge(failedorder,how='left',on="order_id") #表合并
#合并后failed_state字段如果为空,则表示交易成功
df['failed_state'] = df['failed_state'].fillna("交易成功") 
display(df.head())

2、数据过滤,删除交易失败的数据集

df = df[df['failed_state']== "交易成功"]  #布尔过滤
# df = df.query("failed_state == '交易成功'")  #query()过滤
display(df.shape)  #(27769, 13)

3、获取统计信息,初步发现异常值

display(df.describe())  #获取统计信息
display(df.info())      #发现缺失值
display(df[['money','postage','num']].describe()) #数值型变量单独统计
display(df[df.duplicated(subset=['order_id'],keep='first')])#发现重复值

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值