进阶方法

分层聚类

案例数据

200 家零售门店 × 5 列连续经营指标(月销售额、客单价、月客流量、库存周转、员工效率),演示凝聚式分层聚类(agglomerative):先比较 4 种 linkage 的 cophenetic 相关选最优、再用 ward 树状图自底向上合并,最后在切割高度处把门店分成 4 类典型业态。

文件名hir_cluster.xlsx
样本量200 行
变量数5 列连续经营指标 + 1 列门店ID
数据用途门店分群:基于 5 维经营指标识别社区便利 / 折扣促销 / 商圈旗舰 / 高端精品 4 类业态
变量说明月销售额(万元)、客单价(元)、月客流量(人次)、库存周转(次/月)、员工效率(千元/人)。

完整案例

1. 背景

某连锁零售集团旗下 200 家门店业态混杂:既有社区便利店、又有折扣超市、商圈旗舰店、高端精品店,过去靠运营经验做粗放分类,无法准确归属预算与考核指标。本案例用凝聚式分层聚类(agglomerative hierarchical clustering)对 5 维经营指标做自底向上合并:与 K-means 必须预设 K、对初始中心敏感不同,分层聚类不需要预先指定簇数,而是输出一棵完整的树状图(dendrogram),业务方可根据"切割高度"灵活在 K=3/4/5 之间选择粒度。难点在 linkage 方法的选择 —— ward / complete / average / single 各自的合并准则差异很大,需用 cophenetic 相关系数衡量哪种 linkage 最忠实地保留了原始距离结构,再做最终切割与业态命名。

2. 理论与公式

凝聚式分层聚类从每个样本各自成簇开始,每一步把"最近"的两个簇合并,直到全部样本归入一簇,过程被编码为linkage 矩阵((n−1)×4),并可视化为树状图。"最近"的定义由 linkage 方法决定;切割高度决定最终簇数。

Ward 准则(最小方差)

合并使类内平方和增量最小。对连续变量、近球形簇效果最好,是工业界默认选择。

其他 linkage

complete 抗噪、产生紧凑簇;average 平衡;single 易"链式效应"。

Cophenetic 相关系数

原始距离与树状图诱导距离的相关;c ∈ [0,1],越接近 1 说明树状图越能保留原距离结构,是选 linkage 的核心指标(一般 >0.75 视为合格)。

3. 数据结构

每行 1 家门店,5 列连续经营指标。所有变量量纲差异大(万元 vs 人次 vs 次/月),必须先做 Z-score 标准化,否则月客流量(数量级 104)会主导欧氏距离:

变量名类型单位 / 取值业务含义
门店ID字符S1000-S1199门店唯一编号(不参与聚类)
月销售额连续万元(约 25-150)门店近 30 天总销售金额
客单价连续元(约 20-700)单笔订单平均金额,反映消费档次
月客流量连续人次(约 2500-30000)月进店人数,反映人气
库存周转连续次/月(约 1.5-16)月库存周转次数,反映流动性
员工效率连续千元/人(约 4-30)人均月产出,反映坪效

分层聚类计算复杂度为 O(n²),存储为 n×n 距离矩阵,本案例 n=200 完全可行;若 n > 10000 则建议改用 K-means 或 BIRCH。聚类前必须标准化,否则量纲大的变量会主导距离。

4. 操作步骤

  1. 登录 SPSSzero,进入 工作台 → 上传 hir_cluster.xlsx
  2. 左侧方法栏 → 进阶方法 → 点击 分层聚类(Hierarchical)
  3. 把 5 个变量(月销售额 / 客单价 / 月客流量 / 库存周转 / 员工效率)拖入 聚类变量 框;门店ID 不入
  4. 选择 距离度量 = 欧氏距离;先用系统对比四种 linkage(ward / complete / average / single)的 cophenetic 相关,挑相关最高 + 业务可解释的方法
  5. 选定 linkage = ward,生成 linkage 矩阵(199 行 × 4 列)并绘制树状图
  6. 在树状图上观察"高度断层",设置切割准则(按簇数 K 或按高度 t);本案例选 K=4
  7. 查看 4 类门店的聚类中心表 + 各变量 ANOVA F 检验 + 业态命名建议

5. 结果表格与结果阅读

结果区按 选 linkage → 切割 → 看簇 → 验证变量 四步输出。下面是分层聚类在 hir_cluster.xlsx 上的实测结果(Z-score 标准化后、欧氏距离、seed=20260517):

表1 四种 linkage 方法的 cophenetic 相关系数对比(N=200)
linkage 方法Cophenetic 相关合并准则簇形偏好判定
average0.911类间平均距离平衡距离保真度最高
complete0.906类间最大距离紧凑球形距离保真度次高
ward0.898类内方差最小增量等大球形业务最优 ✓
single0.888类间最小距离链式松散易链式效应
四种 linkage 的 cophenetic 相关均 > 0.88(远高于 0.75 阈值)→ 数据结构清晰、不同 linkage 都能较好保留原距离。average 最高但常产生大小悬殊的簇;ward 虽相关略低(0.898)但合并准则等价于"最小化类内 SSE",输出的簇规模均衡、与 K-means 思想一致,业务可解释性最强,故最终选 ward。

linkage 不是单纯比 cophenetic 数值 —— 还要看簇规模是否均衡、是否出现"巨簇 + 孤立点"。本案例 single linkage 切到 K=4 时簇规模为 120 / 50 / 29 / 1(出现仅含 1 个样本的孤立簇),典型链式效应,被判出局。

表2 ward 切割 K=4 的聚类中心 + ANOVA F 检验(df=3, 196)
变量簇1(n=30)簇2(n=50)簇3(n=68)簇4(n=52)Fp
月销售额(万元)112.1493.7637.6749.93539.43<0.001
客单价(元)523.4120.828.635.71486.54<0.001
月客流量(人次)3455171031189621906516.74<0.001
库存周转(次/月)2.685.338.5112.08356.43<0.001
员工效率(千元/人)21.5114.657.966.55650.00<0.001
加粗为该变量上数值最高的簇。5 个变量的 ANOVA 全部 p<0.001 → 全部对聚类有显著区分力;客单价(F=1486)区分力最强 → 高端 vs 平价是最大分裂维度;员工效率(F=650)次之;库存周转(F=356)最弱但仍达极显著水平。

分层聚类的"中心"是切割后每个簇内样本的均值(不是迭代收敛的中心)。簇号由 fcluster 自动编号,与业务标签无固定对应,需结合中心的相对位置人工命名。

表3 切割 K=4 的簇规模与业态命名
簇号样本数占比业态命名核心特征
簇 13015.0%高端精品店客单价 523 元领跑、员工效率 21.5 千元/人最高、客流仅 3455 人次(少而精)
簇 25025.0%商圈旗舰店月销售额 94 万、客单价 121 元、客流 1.7 万人次(量价齐升)
簇 36834.0%社区便利店客单价仅 29 元、销售额 38 万、库存周转 8.5 次(小而频)
簇 45226.0%折扣促销店客流 2.2 万领跑、库存周转 12.1 次最高、员工效率仅 6.5(薄利多销)
4 类规模分布合理(15%-34%),无极端小簇;切割高度选 K=4 而非 K=3 — K=3 会把社区便利与折扣促销合并(两者客单价都很低,但库存周转与客流差异显著),业务上需要拆分以制定不同补货策略。

7. 文字分析

对 200 家门店的凝聚式分层聚类(ward + K=4)综合分析:

  • linkage 选择:四种 linkage 的 cophenetic 相关均 > 0.88,距离保真度都合格;average 数值最高(0.911)但实际切割会产生不均衡簇,single 链式效应严重;ward 综合 cophenetic(0.898)+ 均衡簇规模 + 与 K-means 同源的"最小类内方差"准则成为最优选择
  • 切割粒度:观察 ward 树状图发现 K=3→K=4 是最后一个高度断层明显的合并节点(K=5 之后断层间距骤减),选 K=4;切到 K=3 会损失"社区便利 vs 折扣促销"的拆分(两者客单价相近但库存周转差 3.6 倍),切到 K=5 会把"商圈旗舰"再分为两个亚类、业务无法命名。
  • 4 类业态画像:①高端精品店(15.0%,客单 523 元 / 效率 21.5):少而贵的"贵宾业态",靠客单价撑销售;②商圈旗舰店(25.0%,月销 94 万 / 客流 1.7 万):量价齐升的"全能业态",标杆贡献;③社区便利店(34.0%,客单 29 元 / 销售 38 万):占比最大的"民生业态",靠数量铺规模;④折扣促销店(26.0%,客流 2.2 万 / 周转 12.1 次):薄利多销的"流量业态",赚周转钱。
  • 关键变量贡献:5 个变量 ANOVA 全部 p<0.001,区分力排序为 客单价(F=1487)> 员工效率(F=650)> 月销售额(F=539)> 月客流量(F=517)> 库存周转(F=356);客单价是第一分裂维度,把高端精品(523 元)与其他三类(< 130 元)首先切开;员工效率反映坪效,是辨别"贵宾业态 vs 流量业态"的关键。
  • 业务建议:①高端精品店 → 增加 VIP 私享 + 高毛利新品独家发售,避免上促销稀释客单价;②商圈旗舰店 → 设为复合业态实验场(高毛利 + 引流款);③社区便利店 → 提升 SKU 周转(当前 8.5 次离折扣店 12.1 次有空间)+ 试点会员储值;④折扣促销店 → 守住客流优势,借工厂直供把员工效率从 6.5 拉到 8 以上。

8. 剖析提醒

分层聚类计算复杂度为 O(n²) 空间 + O(n²log n) 时间,n=200 仅秒级、n=10000 需 800MB 内存且分钟级,不适合大数据 — 大样本应改用 K-means / Mini-Batch K-means / BIRCH。对异常值极敏感,离群点会被孤立成单点簇拉高树状图,聚类前务必先用 IQR / 3σ 法剔除极端样本。与 K-means 相比,分层聚类的优势在于 ①不需预设 K、可一次输出所有粒度的切割方案,②输出树状图便于业务理解层次关系;劣势在于 ①计算开销大、不能扩展到百万级数据,②合并过程不可逆(贪心策略,早期错合并无法纠正)。实际项目中常用组合策略:先用分层聚类在小样本上确定 K,再用 K-means 把方案推广到全量数据。