文章目录
- 客户特征分析 - Tableau
- 1. 说明
- 2. 思路与步骤
- 3. 数据准备和导入
- 3.1 用EXCEL初步检查和处理数据
- 3.1.1 打开
- 3.1.2 初步检查
- (1)缺失值
- 检查
- 缺失值处理
- (2)格式化日期字段
- (3)其他字段数据类型
- (4)冗余数据检查
- (5)其他
- 3.2 导入Tableau
- 4. 数据探索和准备分析
- 例如 创建基本的客户视图
- 例如,在地图上显示销售额
- 5. 客户特征分析
- 5.1 新工作表
- 5.2 基本视图
- 初步的散点图
- 5.3 启动聚类分析
- 5.4 设置聚类参数
- 6. 结束
客户特征分析 - Tableau
1. 说明
数分基础(03-1)客户特征分析,是用Python作为分析工具
对于非技术用户来说,Tableau 直观易上手,可以快速创建图表、即时交互,这里用 Tableau Desktop
这里主要是演示一下如何用Tableau来做分析这件事情的主要过程
关于Tableau的详细操作以及为什么等等,暂时不做解释,需要的可以自行查阅。
同时特别提醒
涉及操作,篇幅会长,但有时候很长的一段,操作很简单
非技术同学不要心理上预先觉得麻烦
其实很快的,特别是慢慢熟练了,会发现用可视化工具可以迅速获得对数据集的认识,还是很方便的
千万不要觉得烦,就放弃这个快速工具
2. 思路与步骤
数据准备
初始视图
关键指标
分析可视
3. 数据准备和导入
可以在EXCEL中进行初步检查和处理,例如缺失值、字段类型、异常值、冗余数据等,然后再导入Tableau。
涉及操作,篇幅会长,但有时候很长的一段,操作很简单
非技术同学不要心理上预先觉得麻烦
其实很快的
3.1 用EXCEL初步检查和处理数据
3.1.1 打开
双击EXCEL文件
数据集Global_Superstore同前不变,可在此直接下载 数分基础(01)示例数据集
在查看中等规模数据时候,EXCEL几个快捷键很好用,见(04)。
在数据表任意点选单元格,ctrl + end,移动到工作表中最后一个有数据的单元格,显示“X51291”
数据集包含了51290条记录和24个字段,这和Python首先加载数据集,看看大体数量,字段数目情况一样的。
3.1.2 初步检查
(1)缺失值
检查
ctrl + home 回数据区左上角
ctrl + 方向键右→ ,快速移动到数据第一行最右列
添加一个新列,用于统计每行的缺失值数量
在新列的第一个单元格中输入公式 =COUNTBLANK(A2:X2)
鼠标移动到写公式的单元格右下角,单元格右下角出现实心小方块,光标变成实心十字架时候双击,将公式应用到所有行
同时在最后一行 也看下每列的缺失值情况
这样可以发现 缺失值集中在邮编这一列
除了添加辅助列,也可以 Ctrl + shift + L,筛选模式,逐列点击列顶部的筛选箭头,下拉菜单,显示该列中所有可能的值,在下拉菜单的底部,如果有“(空白)”的选项,代表该列存在空白单元格,逐列识别
缺失值处理
如果缺失值不影响分析,则可以忽略,如果需要填补,则是另外一件事情了,本文暂略。
(2)格式化日期字段
对于有日期字段的数据表,需要确保其类型正确
正确的日期格式,可以是的后续在Tableau中,处理时间序列、和日期相关的计算避免混乱
"Order Date"和"Ship Date"列的数据是以日-月-年(DD-MM-YYYY)的格式显示的,这种情况设置单元格格式为日期可能不起作用,是因为Excel将这些日期读取为文本使用Excel公式将文本日期转换为日期格式
在“Order Date”和“Ship Date”列旁边插入新的空列,用于存放转换后的日期
=DATE(VALUE(RIGHT(D2,4)), VALUE(MID(D2,4,2)), VALUE(LEFT(D2,2)))
D2是Order Date第一行日期所在的单元格,根据实际数据修改单元格引用
自动填充公式
把所有的文本日期转换为Excel可以识别的日期格式
将新列设置为日期格式,确认新生成的日期已经可以被Excel识别
如果新日期列正确无误,将新列复制并粘贴为值 替换旧列,删除新列,这里粘贴为值非常重要
对每一个日期格式的列,如法炮制,这里,只涉及这两个字段:订单日期(Order Date)和发货日期(Ship Date)
- 设置其为日期格式,但是发现不起作用
- 新列获取旧列字符串,公式处理
- 新列设为日期格式
- 新列复制并粘贴为值 替换旧列,删除新列
(3)其他字段数据类型
数值字段如销售额(Sales)、利润(Profit)、折扣(Discount)和 运费(Shipping Cost)等,在单元格式中设置为数值类型,且分别设置小数位数,规整一下
其余列改设置为文本的设置为文本
(4)冗余数据检查
选择整个数据范围(包括列标题),点击“数据”菜单。
选择“删除重复项”选项。
在弹出的对话框中,勾选可能导致记录重复的字段(如“订单ID”、“客户ID”等),然后点击“确定”
Excel将删除完全重复的行并保留一个唯一的记录。
这个数据集,没有重复的行记录
(5)其他
异常值检测可以暂时不做
清理不必要的空白行或无关字段
检查字段名称,简洁,避免使用特殊字符
表头保持在第一行,没有多余的信息(例如注释)
“Row ID”、“Order ID”、“Order Date”等带有空格的字段名,不会对Tableau的基本功能造成问题,然而未来如果从Tableau导出并在其他数据处理工具(如SQL、Python等)中使用,空格可能会导致解析错误,可能需要额外处理
为提高兼容性和数据处理效率,建议在数据导入前规范列名:
方法一:使用下划线,例如“Row_ID”、“Order_ID”
方法二:驼峰命名,例如“RowID”、“OrderID”
基本处理并且格式规范,CTRL + S 保存初步处理好的数据
3.2 导入Tableau
打开Tableau Desktop。
选择“连接到数据”,选择“Excel”作为数据源。
浏览到选择EXCEL文件并加载。
检查Tableau中的数据预览,正确识别所有列和数据类型(数值、日期、文本等)
没问题后,左下角,转到工作表1
4. 数据探索和准备分析
这部分不详细了,需要的可以去找Tableau相关资料,粗略感受和体验一下交互性,以及通过可视化工具更好地理解数据集。
使用“拖放”将不同的字段放到行或列上,尝试不同的组合以查看数据分布和关键趋势。
尝试基本的图表类型,如条形图、线图、散点图等
例如 创建基本的客户视图
将 CustomerID 拖到 行(Rows)列出所有客户
将 Segment 拖到 行,继续将 Segment 拖到 颜色(Color)
按客户类别(如 Consumer、Corporate、Home Office)对客户进行分类
将 Sales 拖到 列(Columns),显示每个客户的销售额
例如,在地图上显示销售额
State、City 或 Country 字段被 Tableau 识别为地理角色
右键点击字段(如 State)并选择 “地理角色” > “州/省”,如果是 City 则选择 “城市”,如果是 Country 则选择 “国家/地区”。
如果 Tableau 没有自动识别,可以手动设置地理角色。
将 State(或其他地理字段,如 City、Country)拖动到“列”或“行”。
将 Sales 字段拖动到 大小(Size)框,以根据销售额大小调整地图上的圆点大小。
如果没有出现地图,可以点下图右上角“智能推荐”
点击后,并选择地图,字段自动调整为下图的布局
将 Sales 字段拖动到 大小(Size)框,以根据销售额大小调整地图上的圆点大小。
也可以点击大小图标调整图表中的圆点大小
将 Sales 字段拖动到 标签(Label)框,以在地图上显示每个区域的具体销售额。
5. 客户特征分析
来到正事儿,分析识别不同客户群体的特征
5.1 新工作表
在Tableau中新建工作表
5.2 基本视图
关注着两类字段:
用于聚类的度量字段,例如 Sales Profit Discount
维度字段,例如 CustomerID
初步的散点图
将 CustomerID 拖入 行(Rows)
将 Sales 和 Profit 拖入 列(Columns),创建一个初步的散点图,显示客户的销售额和利润关系。
可以添加更多度量字段,如 Discount 拖入颜色(Color)以显示折扣率对客户的影响
这里请注意,鼠标移到某些点上,会显示Discount 为4.57 9.8 ……
这是因为Tableau 默认情况下,数值字段设置为求和(SUM),这会导致折扣显示为累加值(该客户所有购买次数,每次的折扣叠加)
点击这个位置 Discount 字段的下拉小三角,在下拉菜单中选择 “度量”,然后选择 “平均值 (AVG)”
这样,可以看到平均折扣值大的颜色深,且位于横轴销售额的左边低值区域
5.3 启动聚类分析
点击左上角“数据”右侧的 “分析” tab
找到 “聚类”(Cluster) 选项。
将 “聚类” 选项拖拽到你的散点图上,聚类设置窗口会自动弹出,显示当前选定的度量和维度。
可以在窗口中选对分析有意义的指标
不需要的字段,拖到空白处,不要,或者 右键 “移除”
5.4 设置聚类参数
调整聚类数量,根据业务需求,在框中调整聚类数量。Tableau 通常会提供一个建议的默认值 ,见右上角
可以进行修改,查看不同的分群效果
如果不小心关了,可以在这里打开对话框
Tableau 是使用 K-means 算法进行聚类分析的(前面某篇提到过聚类的方法有很多种)
在右侧点选感兴趣的Cluster,直观地区分不同的客户群体
结合业务知识,验证聚类结果的合理性。如果某些群体特征不明显,考虑调整度量的选择或数量
6. 结束
这里主要是演示一下如何用Tableau可视化聚类的大体情况,过程看着复杂,在前面检查数据阶段需要多点儿时间
实际上,从导入到Tableau,拖拖拽拽,是非常快的,可以直观迅速看到大体有哪些客户群体,对非技术同学很友好。
具体的客户群体特征分析,见前面Python那篇:数分基础(03-1)客户特征分析