百货商场用户画像描绘与价值分析(上)

简介: 百货商场用户画像描绘与价值分析

内容概述

本项目内容主要是基于Python的“百货商场用户画像描述与价值分析”,里面有详细的数据预处理、数据可视化和数据建模等步骤。同时,针对传统RFM模型进行了改进,构造了LRFMP模型来分析客户价值,挖掘客户价值的八个字段,并通过WordCloud形式展现了出来,可以对会员用户进行精准画像。

数据说明

数据集分为两部分,.xlsx结尾的是会员信息表,.csv结尾的是销售流水表。其中,会员信息表共有将近19万条记录,销售流水表共有接近189万条记录。

两个表包含了如会员卡号,消费产生时间,性别,出生时间,商品编码,销售数量,商品售价,消费金额,商品名称,此次消费的会员积分,收银机号,单据号,柜组编码,柜组名称,等级时间等 15 个特征。

  • L(入会程度):3个月以下为新用户,4-12个月为中等用户,13个月以上为老用户
  • R(最近购买的时间)
  • F(消费频次):次数20次以上的为高频消费,6-19次为中频消费,5次以下为低频消费
  • M(消费金额):10万以上为高等消费,1万-10万为中等消费,1万以下为低等消费
  • P(消费积分):10万以上为高等积分用户,1万-10万为中等积分用户,1万以下为低等积分用户

实现目标

本项目主要围绕着“百货商店会员用户画像描绘与价值分析”内容进行,结合目前百货商场的数据情况,可以实现以下目标:

  1. 借助百货商场会员用户数据,对会员用户进行分群。
  2. 对不同的会员用户类别进行特征分析,比较不同类别会员用户的会员用户价值。
  3. 对不同价值的会员用户类别提供个性化服务,制定相应的营销策略。

技术点

  • 数据预处理(Pandas):包括去重去缺失值、异常值处理、变量重编码和时间序列数据处理方式等;
  • 数据可视化(Matplotlib):饼图、柱状图、折线图、雷达图和复合图等绘制方式等;
  • 特征创造和数据建模:从海量连续数据中创造出性别、消费偏好、入会程度、最近购买的时间、消费频次、消费金额、消费积分等类别数据,建模部分主要通过标准化和归一化数据来对比KMeans聚类的轮廓系数结果。

代码运行说明

注意:运行此文件后会生成一些中间数据集以及相关图片

主要内容

导入模块

1.项目背景

1.1 项目背景与挖掘目标

2.数据探索与预处理

2.1 结合业务对数据进行探索并进行预处理

会员信息表数据探索与预处理

从上面会员信息表进行分析可以看出,数据中会员卡号存在一些重复值,且会员入会登记时间都有缺失,需要去重去缺失值,因为性别比例缺失较少,所以用众数来填补性别上的缺失值

注意:这里存在部分会员登记时间小于出生时间,因为这列数据所占比例较少,可以直接进行删除 和下面有所不同

检验是否在“登记时间”这一字段上是否存在异常值,若存在异常值,则无法进行基础的运算操作,下面操作能正常执行,说明不存在异常值

查看处理后数据缺失值情况

注意:由于出生日期这一列的缺失值过多,且存在较多的异常值,不能贸然删除

所以下面这里另建了一个数据集L来保存“出生日期”和“性别”信息,方便下面对会员的性别和年龄信息进行统计

出生日期这列值出现较多的异常值,以一个正常人寿命为100年算起,我们假定会员年龄范围在1920-2020之间,将超过该范围的值当作异常值进行剔除

用于与销售流水表进行合并的数据只取[‘会员卡号’, ‘性别’, ‘登记时间’]这三列,将出生日期这列意义不大的进行删除(这列信息最有可能出错),并重置索引

销售流水表数据探索和预处理

销售数量全部大于0,销售金额也全部大于0,说明两者不会对后者特征创造时产生影响

查看是否存在缺失值

会员信息表和销售流水表这两张表唯一相关联的字段便是“会员卡号”

由于销售流水表中“会员卡号”有将近一半为缺失值,这类数据无法进行填充,且后续需要对会员消费记录进行统计分析和建模,故只能舍弃

可以看到,舍弃掉会员卡号缺失值之后,便只有柜组名称存在缺失,下面舍弃掉一些无意义的字段,仅保留对本项目有研究价值的字段信息

2.2 将会员信息表和销售流水表关联与合并

按照会员卡号将两张表里的信息进行合并,使用左连接合并,获得一个既包含会员信息,又包含非会员信息的数据

这里再次查看“消费金额”>0,“积分”>0,“销售数量”>0

这里可以看到,merge之后的数据异常值突然变多了,这里就需要对此进行预处理,筛选掉那些异常值,方便后续进行分析

创造一个特征字段,判断是否为会员,1表示为会员,0表示不为会员

百货商场用户画像描绘与价值分析(中)


目录
相关文章
|
自然语言处理 监控 算法
|
存储 Shell Linux
安卓手机上的终端模拟器Termux,实现了在手机上运行python
安卓手机上的终端模拟器Termux,可以在手机上运行python
3389 2
|
9月前
|
人工智能 自然语言处理 搜索推荐
AI走进课堂:成都35所学校用智能批改重塑教学生态
成都启动35所中小学“AI+教学”试点,引入AI批改作业系统,覆盖备课、教学、评价等全流程。AI快速批阅、生成学情报告,助力教师减负增效,推动精准教学与个性化学习,探索人机协同教育新模式,为全国基础教育智能化提供实践样本。
|
11月前
|
数据采集 供应链 程序员
爬坑 10 年!京东店铺全量商品接口实战开发:从分页优化、SKU 关联到数据完整性闭环
本文详解京东店铺全量商品接口(jd.seller.ware.list.get)实战经验,涵盖权限申请、分页避坑、SKU关联、数据校验等核心难点,附Python代码与反限流策略,助你高效稳定获取完整商品数据,新手可少走两年弯路。
|
数据安全/隐私保护 iOS开发 MacOS
如何删除macOS用户
当常规方式无法删除用户时,可通过终端命令删除。使用 `sudo dscl` 和 `sudo rm -rf` 删除用户账户及目录。若遇 eDS 权限错误,需通过 `sysadminctl` 开启 Secure Token。普通用户需重置密码并赋予管理员权限后方可删除。详见操作步骤及错误解决方案。
|
搜索推荐
百货商场用户画像描绘与价值分析(中)
百货商场用户画像描绘与价值分析(中)
536 1
|
数据采集 监控 API
加密货币 Pump 监测刮刀工具开发原理及实现路径
开发Pump监测刮刀工具需综合运用高频数据采集、波动率建模、跨平台对冲三大核心技术,2025年的技术瓶颈已从基础数据获取转向超低延迟执行与合规适配。建议采用模块化开发策略,优先实现核心监控功能,再逐步接入AI决策与链上套利模块。代码示例需根据最新交易所API文档动态调整,并严格遵守所在地监管法规。
|
分布式计算 Spark
【赵渝强老师】Spark RDD的依赖关系和任务阶段
Spark RDD之间的依赖关系分为窄依赖和宽依赖。窄依赖指父RDD的每个分区最多被一个子RDD分区使用,如map、filter操作;宽依赖则指父RDD的每个分区被多个子RDD分区使用,如分组和某些join操作。窄依赖任务可在同一阶段完成,而宽依赖因Shuffle的存在需划分不同阶段执行。借助Spark Web Console可查看任务的DAG图及阶段划分。
890 15